Detach an Amazon EBS volume from a Linux instance
You need to detach an Amazon Elastic Block Store (Amazon EBS) volume from an instance before you can attach it to a different instance or delete it. Detaching a volume does not affect the data on the volume.
For information about detaching volumes from a Windows instance, see Detach a volume from a Windows instance in the Amazon EC2 User Guide for Windows Instances.
Considerations
-
You can detach an Amazon EBS volume from an instance explicitly or by terminating the instance. However, if the instance is running, you must first unmount the volume from the instance.
-
If an EBS volume is the root device of an instance, you must stop the instance before you can detach the volume.
-
You can reattach a volume that you detached (without unmounting it), but it might not get the same mount point. If there were writes to the volume in progress when it was detached, the data on the volume might be out of sync.
-
After you detach a volume, you are still charged for volume storage as long as the storage amount exceeds the limit of the Amazon Free Tier. You must delete a volume to avoid incurring further charges. For more information, see Delete an Amazon EBS volume.
Unmount and detach a volume
Use the following procedures to unmount and detach a volume from an instance. This can be useful when you need to attach the volume to a different instance or when you need to delete the volume.
Step 1: Unmount the volume
From your Linux instance, use the following command to unmount the
/dev/sdh
device.
[ec2-user ~]$
sudo umount -d
/dev/sdh
Step 2: Detach the volume from the instance
To detach the volume from the instance, use one of the following methods:
Troubleshoot
The following are common problems encountered when detaching volumes, and how to resolve them.
Note
To guard against the possibility of data loss, take a snapshot of your volume before attempting to unmount it. Forced detachment of a stuck volume can cause damage to the file system or the data it contains or an inability to attach a new volume using the same device name, unless you reboot the instance.
-
If you encounter problems while detaching a volume through the Amazon EC2 console, it can be helpful to use the describe-volumes CLI command to diagnose the issue. For more information, see describe-volumes.
-
If your volume stays in the
detaching
state, you can force the detachment by choosing Force Detach. Use this option only as a last resort to detach a volume from a failed instance, or if you are detaching a volume with the intention of deleting it. The instance doesn't get an opportunity to flush file system caches or file system metadata. If you use this option, you must perform the file system check and repair procedures. -
If you've tried to force the volume to detach multiple times over several minutes and it stays in the
detaching
state, you can post a request for help to Amazon re:Post. To help expedite a resolution, include the volume ID and describe the steps that you've already taken. -
When you attempt to detach a volume that is still mounted, the volume can become stuck in the
busy
state while it is trying to detach. The following output from describe-volumes shows an example of this condition:"Volumes": [ { "AvailabilityZone": "us-west-2b", "Attachments": [ { "AttachTime": "2016-07-21T23:44:52.000Z", "InstanceId": "i-fedc9876", "VolumeId": "vol-1234abcd", "State": "busy", "DeleteOnTermination": false, "Device": "/dev/sdf" } ... } ]
When you encounter this state, detachment can be delayed indefinitely until you unmount the volume, force detachment, reboot the instance, or all three.