从 Linux 实例分离 Amazon EBS 卷 - Amazon Elastic Compute Cloud
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

Linux 实例分离 Amazon EBS 卷

您需要将 Amazon Elastic Block Store(Amazon EBS)卷与实例分离,然后才能将其挂载到其他实例或删除该卷。分离卷不会影响卷上的数据。

有关从 Windows 实例分离卷的信息,请参阅Amazon EC2 用户指南(适用于 Windows 实例)中的从 Windows 实例分离卷

注意事项

  • 您可以明确地将 Amazon EBS 卷与实例分离,或终止实例。但是,如果实例正在运行,您首先必须从实例卸载卷。

  • 如果 EBS 卷是实例的根设备,则在分离卷之前必须停止该实例。

  • 您可以重新附加分离的卷(无需卸载),但可能不能获得相同挂载点。如果分离时正在写入卷,那么卷上的数据可能不同步。

  • 分离卷之后,只要存储量超出了 AmazonFree Tier(免费套餐)的限额,您仍需为卷存储付费。您必须删除卷以避免产生更多费用。有关更多信息,请参阅删除 Amazon EBS 卷

卸载并分离卷

使用以下程序从实例卸载并分离卷。当您需要将卷挂载到不同实例时或当您需要删除卷时,此操作非常有用。

第 1 步:卸载卷

从 Linux 实例中,使用以下命令卸载 /dev/sdh 设备。

[ec2-user ~]$ sudo umount -d /dev/sdh

第 2 步:从实例分离卷

要将卷与实例分离,请使用以下方法之一:

Console
使用控制台将 EBS 卷分离
  1. 通过以下网址打开 Amazon EC2 控制台:https://console.aws.amazon.com/ec2/

  2. 在导航窗格中,选择 Volumes

  3. 选择需要分离的卷,然后选择 Actions(操作)、Detach Volume(分离卷)。

  4. 当系统提示进行确认时,选择分离

Amazon CLI
要使用 Amazon CLI 将 EBS 卷从实例中分离

卸载卷之后,使用 detach-volume 命令。

Tools for Windows PowerShell
要使用 Tools for Windows PowerShell 从一个实例中分离一个 EBS 卷

卸载卷之后,使用 Dismount-EC2Volume 命令。

故障排除

以下内容介绍在分离卷时遇到的常见问题并以及如何解决这些问题。

注意

要防止出现数据丢失的可能性,请在尝试卸载之前为您的卷制作快照。强制分离一个状态卡住的卷可能对文件系统或其中包含的数据造成破环,或者除非重启实例,否则无法使用同样的设备名称附加新卷。

  • 如果在通过 Amazon EC2 控制台分离卷时遇到问题,您可使用 describe-volumes CLI 命令来诊断问题。有关更多信息,请参阅 describe-volumes

  • 如果您的卷处于 detaching 状态,您可以通过选择 Force Detach 强制执行分离操作。请将该选项仅用作在不得已的情况下从故障实例分离卷的方法,或是在要删除卷的情况下分离卷时使用。此实例没有机会来冲击文件系统缓存或文件系统元数据。如果您使用该选项,则必须执行文件系统检查和修复流程。

  • 如果在几分钟内多次尝试强制分离卷,并且该卷处于 detaching 状态,则可以向 Amazon re:Post 发布帮助请求。为了帮助加快解决问题,请提供卷 ID 并描述已采取的步骤。

  • 如果尝试分离仍挂载的卷,该卷可能在尝试分离时卡在 busy 状态。describe-volumes 的以下输出说明了这种情况:

    "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" } ... } ]

    如果遇到这种状态,可能无限期延迟分离,直到您卸载卷,强制分离,重启实例,或者执行前述全部三项操作。