使用快照替换 Amazon EBS 卷 - Amazon EBS

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

使用快照替换 Amazon EBS 卷

Amazon EBS 快照 EC2 因其速度、便利性和成本而成为亚马逊的首选备份工具。当从快照中创建卷时,您重新创建了它在过去特定时间点的状态,并且所有数据完整无缺。通过将从快照中创建的卷附加到实例,您可以在不同的区域之间复制数据,创建测试环境,完全替换受损或损坏的生产卷,或检索特定文件和目录并将其传输到另一个附加的卷。有关更多信息,请参阅 Amazon EBS 快照

可以使用以下过程之一将 Amazon EBS 卷替换为从此卷的上一个快照创建的另一个卷。

要求

您必须在实例所在的可用区中创建卷。卷必须连接到同一可用区中的实例。

Console
替换卷
  1. 从快照中创建一个卷,并记下新卷的 ID。有关更多信息,请参阅 创建 Amazon EBS 卷

  2. 在 Instances(实例)页面上,选择要替换卷的实例,然后记下实例 ID。

    在实例处于选中状态时,选择 Storage(存储)选项卡。在 Block devices(块储存设备)部分中,找到要替换的卷并记下该卷的设备名称,例如 /dev/sda1

  3. 存储选项卡上,选择卷 ID,然后卸载该卷并将其与实例分离

  4. 选择在步骤 1 中创建的新卷,然后选择 Actions(操作)、Attach volume(附加卷)。

    对于 Instance(实例)和 Device name(设备名称),输入您在步骤 2 中记下的实例 ID 和设备名称,然后选择 Attach volume(附加卷)。

  5. 连接到您的实例并安装卷。有关更多信息,请参阅 使 Amazon EBS 卷可供使用

AWS CLI
替换卷
  1. 从快照创建一个新卷。使用带选项的 create-vol ume 命令。--snapshot-id对于 --availability-zone,指定与实例相同的可用区。记下输出中新卷的 ID。

    aws ec2 create-volume \ --volume-type gp3 \ --snapshot-id snap-0abcdef1234567890 \ --availability-zone us-east-1a
  2. 获取要替换的卷的设备名称。可以使用 describe-instances 命令。对于 --instance-ids,指定要在其上替换卷的实例的 ID。记下要替换的卷的设备名称和卷 ID。

    aws ec2 describe-instances \ --instance-ids i-1234567890abcdef0 \ --query Reservations[].Instances[].BlockDeviceMappings
  3. 从实例中分离要替换的卷。使用 detach-volume 命令。

    aws ec2 detach-volume --volume-id vol-xxxxxxxxxxxxxxxxx
  4. 将替换卷挂载到实例。使用 attach-volume 命令。对于 --volume-id,指定替换卷的 ID。对于--instance-id,请指定要连接卷的实例的 ID。对于 --device,指定此前记下的设备名称。

    aws ec2 attach-volume \ --volume-id vol-01234567890abcdef \ --instance-id i-1234567890abcdef0 \ --device /dev/sdf
  5. 连接到您的实例并安装卷。有关更多信息,请参阅 使 Amazon EBS 卷可供使用

PowerShell
替换卷
  1. 从快照创建一个新卷。使用带有选项的 New-EC2Volumecmdlet。-SnapshotId对于 -AvailabilityZone,指定与实例相同的可用区。记下输出中新卷的 ID。

    New-EC2Volume ` -VolumeType gp3 ` -SnapshotId snap-0abcdef1234567890 ` -AvailabilityZone us-east-1a
  2. 获取要替换的卷的设备名称。使用 Get-EC2Instance cmdlet。对于 -InstanceId,指定要在其上替换卷的实例的 ID。记下要替换的卷的设备名称和卷 ID。

    (Get-EC2Instance ` -InstanceId i-1234567890abcdef0).Instances.BlockDeviceMappings | ` Format-Table DeviceName, @{Name="VolumeId";Expression={$_.Ebs.VolumeId}}
  3. 从实例中分离要替换的卷。使用 Dismount-EC2Volume cmdlet。

    DismountEC2Volume -VolumeId vol-xxxxxxxxxxxxxxxxx
  4. 将替换卷挂载到实例。使用 Add-EC2Volume cmdlet。对于 -VolumeId,指定替换卷的 ID。对于-InstanceId,请指定要连接卷的实例的 ID。对于 -Device,指定此前记下的设备名称。

    Add-EC2Volume` -VolumeId vol-01234567890abcdef ` -InstanceId i-1234567890abcdef0 ` -Device /dev/sdf
  5. 连接到您的实例并安装卷。有关更多信息,请参阅 使 Amazon EBS 卷可供使用