Skip to main content

General VM questions

My VM won't create

Quota exhaustion is the most common cause.

If you see a Quota exceeded message on the Create VM screen in Compute > Virtual Machines:

  • Check current GPU / CPU / memory usage under Billing > Usage
  • Free up space by stopping or deleting VMs you aren't using
  • If you need more quota, contact Support

If you see "Spot capacity is currently insufficient to run" while creating a spot VM, check availability under Infrastructure > Resource Status > Spot.


I'm still being charged even though I stopped the VM

Putting a VM into the Stopped state still bills attached block storage and public IPs.

To stop charges entirely:

  1. Back up important data to object storage
  2. Release the public IP
  3. Delete the VM, then delete the block storage

Using NVMe cache storage

H100 / B200 instances come with an NVMe-based high-speed local cache.

Data is wiped on reboot

The NVMe cache is ephemeral. Store anything you need to keep on block or object storage.

Auto-mount on boot:

sudo tee /usr/local/bin/setup-cache.sh >/dev/null <<'EOF'
#!/bin/bash
set -euo pipefail
VG=nvme_vg
LV=nvme_lv
MNT=/cache

DEVICES=$(lsblk -dn -o PATH,TYPE | awk '$2=="disk" && $1 ~ /nvme[0-9]+n[0-9]+$/ {print $1}')
[ -n "$DEVICES" ]

if ! vgdisplay "$VG" >/dev/null 2>&1; then
for d in $DEVICES; do pvcreate -ff -y "$d"; done
vgcreate "$VG" $DEVICES
lvcreate -l 100%FREE -n "$LV" "$VG"
mkfs.ext4 -F "/dev/$VG/$LV"
fi

mkdir -p "$MNT" && chmod 777 "$MNT"
mount -o defaults,noatime "/dev/$VG/$LV" "$MNT"
EOF

sudo chmod +x /usr/local/bin/setup-cache.sh

sudo tee /etc/systemd/system/cache.service >/dev/null <<'EOF'
[Unit]
Description=Mount NVMe cache to /cache
DefaultDependencies=no
Before=local-fs.target

[Service]
Type=oneshot
ExecStart=/usr/local/bin/setup-cache.sh
RemainAfterExit=yes
Restart=on-failure

[Install]
WantedBy=local-fs.target
EOF

sudo systemctl daemon-reload
sudo systemctl enable --now cache.service

After setup, use /cache for high-speed I/O.


The web console won't open

On the VM detail page's three tabs (Info / Web Console / Metrics), if Web Console is disabled or won't connect:

  1. Confirm the VM is Running (in any other state you'll see "Web Console is only available when the VM is running")
  2. Confirm your account has Resource.VirtualMachine.ACCESS_WEB_CONSOLE — all built-in roles (Owner/Contributor/Support/Reader) include it; check the action explicitly if you're using a custom role
  3. Click Reconnect if the 30-minute session TTL expired
  4. Disable browser popup blockers and extensions that block WebSockets, or try a different browser

Login fails after reusing an existing block storage

The username and password entered during the new VM creation are not applied

Sign in with the username and password used by the original VM.


Networking is broken after reusing an existing block storage

If you attach a block storage volume from an older VM to a new VM and boot, the VM may come up but with broken networking or a public IP that doesn't work.

The cause is leftover cloud-init network configuration from the previous VM baked into the disk. cloud-init re-applies the old NIC info on boot, and that collides with the new NIC. Reordering NICs (add/remove) can cause the same symptom.

Connect via the web console, clear the cloud-init cache, and reboot. Data is preserved.

sudo cloud-init clean
sudo reboot

After the reboot, the network is reconfigured against the new VM's NIC info. We recommend doing this every time you move the same disk to a different VM.


Next steps