从 Linux 实例分离 Amazon EBS 卷 - Amazon Elastic Compute Cloud

Linux 实例分离 Amazon EBS 卷

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

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

注意事项

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

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

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

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

卸载并分离卷

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

第 1 步:卸载卷

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

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

第 2 步:从实例分离卷

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

Console

使用控制台将 EBS 卷分离

  1. 打开 Amazon EC2 控制台 https://console.aws.amazon.com/ec2/

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

  3. 选择卷,然后选择 ActionsDetach Volume

  4. 当系统提示进行确认时,选择 Yes, Delete (是,分离)

Command line

使用命令行将 EBS 卷从实例分离

卸载卷后,您可以使用下列命令之一来分离卷。有关这些命令行界面的更多信息,请参阅 访问 Amazon EC2

问题排查

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

注意

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

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

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

  • 如果在几分钟内多次尝试强制分离卷,并且该卷处于 detaching 状态,则可以向 Amazon EC2 forum发布帮助请求。为了帮助加快解决问题,请提供卷 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" } ... } ]

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