Shelving a Virtual Machine
Shelving temporarily unneeded development, testing, and personal VMs provides substantial cost savings by powering off the machine and releasing allocated RAM and CPU resources. On shelved VMs, you are only charged for storage (at $0.03/GB/mo) and IP addresses (at $1/mo).
How to Shelve
After selecting a VM, you will see two "power off" options: Shut Down and Shelve. Shut Down is intended for short-term use, and will not release resources allocated by the VM; thus, you will still be charged the VM plan price. Shelve both powers off the VM and releases allocated resources.
To shelve a VM, simply select the VM and press Shelve. You can verify the reduced pricing on the Dashboard. When you need the VM again, press Unshelve.
How It Works
Essentially, Shelving and Unshelving is equivalent to snapshotting a VM and deleting it while retaining the floating IP. With Shelve, the system ensures other properties such as internal IP, MAC address, and cloud-init instance ID stay the same as well.
Shelving is not instantaneous, and the time needed increases with the size of your VM disk.
The plan price (e.g. $3.5/mo for m.1s) will not be charged for shelved VMs. Instead, you will be billed for:
- Storage: $0.03/GB/mo ($0.00004167/GB/hr)
- IP addresses: $1/IP/mo ($0.001389/IP/hr)
For example, whereas an online m.64 VM is $200/mo ($0.2778/hr), a shelved m.64 VM is only $16/mo ($0.0222/hr; $15/mo for 500 GB storage, and $1/mo for the IP).
For additional cost savings when you do not need to maintain the same external IP, you can de-associate the floating IP before shelving: select the VM, press De-associate Floating IP from the IP tab, and delete the floating IP from Floating IPs. This eliminates the $1/mo per-IP charge.
Shelving VMs Installed from ISO
The Shelve option may not be visible for VMs installed from ISO. You will need to snapshot the VM and re-create the VM from the snapshot to make the option available. Follow these steps:
- Select the VM and press Snapshot.
- Then, from the VM's IP tab, press De-associate Floating IP.
- Create a new VM from the snapshot and floating IP.
- After verifying that the new VM is working, delete the old VM.