6
votes

I am trying to detach the Boot Disk from a GCE VM. As the VM is stopped so it should allow me to detach it but it's returning this error

UNSUPPORTED_OPERATION: Hot-remove of the root disk is not supported.

Any suggestions?

3
What is your high-level goal? See my answer as to why you can't detach the without deleting the VM, but depending on what you're trying to achieve, there may be other solutions available.Misha Brukman
FYI, as of 24 Jan 2019, GCE added the ability to detach and reattach boot disks from stopped VMs in GA.Misha Brukman

3 Answers

6
votes

Updated answer

As of 24 Jan 2019, GCE added the ability to detach and reattach boot disks from stopped VMs in GA.


Original answer (correct prior to 24 Jan 2019)

If you detach the boot disk from a stopped VM, there's no way to restart the VM back up, so that operation does not make sense.

Thus, you would need to disable the option "auto-delete boot disk" and delete the VM:

To set the auto delete state of a persistent disk in gcloud compute, use the gcloud compute instances set-disk-auto-delete command:

gcloud compute instances set-disk-auto-delete INSTANCE \
    [--auto-delete | --no-auto-delete] --disk DISK --zone ZONE

Alternatively, you can also change this setting on the VM details page from the Developers Console by clicking on the VM instance name, and then unchecking this option:

☐ Delete boot disk when instance is deleted

2
votes

You can't hot-remove the root disk of a VM otherwise you'd render it unusable (shutdown assumes you want to start the VM at a later point). Instead, you can delete the VM instance, making sure to preserve the root disk for future use.

1
votes

Detaching boot disks is now supported in Beta (docs). After shutting down instance, try: gcloud beta compute instances detach-disk INSTANCE_NAME --disk DISK_NAME

To re-attach a boot disk to the instance: gcloud beta compute instances attach-disk INSTANCE_NAME --disk DISK_NAME --boot