Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅
中国的 Amazon Web Services 服务入门
(PDF)。
本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
使用快照替换 Amazon EBS 卷
Amazon EBS 快照 EC2 因其速度、便利性和成本而成为亚马逊的首选备份工具。当从快照中创建卷时,您重新创建了它在过去特定时间点的状态,并且所有数据完整无缺。通过将从快照中创建的卷附加到实例,您可以在不同的区域之间复制数据,创建测试环境,完全替换受损或损坏的生产卷,或检索特定文件和目录并将其传输到另一个附加的卷。有关更多信息,请参阅 Amazon EBS 快照。
可以使用以下过程之一将 Amazon EBS 卷替换为从此卷的上一个快照创建的另一个卷。
要求
您必须在实例所在的可用区中创建卷。卷必须连接到同一可用区中的实例。
- Console
-
替换卷
-
从快照中创建一个卷,并记下新卷的 ID。有关更多信息,请参阅 创建 Amazon EBS 卷。
-
在 Instances(实例)页面上,选择要替换卷的实例,然后记下实例 ID。
在实例处于选中状态时,选择 Storage(存储)选项卡。在 Block devices(块储存设备)部分中,找到要替换的卷并记下该卷的设备名称,例如 /dev/sda1
。
-
在存储选项卡上,选择卷 ID,然后卸载该卷并将其与实例分离。
-
选择在步骤 1 中创建的新卷,然后选择 Actions(操作)、Attach volume(附加卷)。
对于 Instance(实例)和 Device name(设备名称),输入您在步骤 2 中记下的实例 ID 和设备名称,然后选择 Attach volume(附加卷)。
-
连接到您的实例并安装卷。有关更多信息,请参阅 使 Amazon EBS 卷可供使用。
- Amazon CLI
-
替换卷
-
从快照创建一个新卷。使用带选项的 create-vol ume 命令。--snapshot-id
对于 --availability-zone
,指定与实例相同的可用区。记下输出中新卷的 ID。
aws ec2 create-volume \
--volume-type gp3
\
--snapshot-id snap-0abcdef1234567890
\
--availability-zone us-east-1a
-
获取要替换的卷的设备名称。可以使用 describe-instances 命令。对于 --instance-ids
,指定要在其上替换卷的实例的 ID。记下要替换的卷的设备名称和卷 ID。
aws ec2 describe-instances \
--instance-ids i-1234567890abcdef0
\
--query Reservations[].Instances[].BlockDeviceMappings
-
从实例中分离要替换的卷。使用 detach-volume 命令。
aws ec2 detach-volume --volume-id vol-xxxxxxxxxxxxxxxxx
-
将替换卷挂载到实例。使用 attach-volume 命令。对于 --volume-id
,指定替换卷的 ID。对于--instance-id
,请指定要连接卷的实例的 ID。对于 --device
,指定此前记下的设备名称。
aws ec2 attach-volume \
--volume-id vol-01234567890abcdef
\
--instance-id i-1234567890abcdef0
\
--device /dev/sdf
-
连接到您的实例并安装卷。有关更多信息,请参阅 使 Amazon EBS 卷可供使用。
- PowerShell
-
替换卷
-
从快照创建一个新卷。使用带有选项的 New-EC2Volumecmdlet。-SnapshotId
对于 -AvailabilityZone
,指定与实例相同的可用区。记下输出中新卷的 ID。
New-EC2Volume `
-VolumeType gp3
`
-SnapshotId snap-0abcdef1234567890
`
-AvailabilityZone us-east-1a
-
获取要替换的卷的设备名称。使用 Get-EC2Instance cmdlet。对于 -InstanceId
,指定要在其上替换卷的实例的 ID。记下要替换的卷的设备名称和卷 ID。
(Get-EC2Instance `
-InstanceId i-1234567890abcdef0
).Instances.BlockDeviceMappings | `
Format-Table DeviceName, @{Name="VolumeId";Expression={$_.Ebs.VolumeId}}
-
从实例中分离要替换的卷。使用 Dismount-EC2Volume cmdlet。
DismountEC2Volume -VolumeId vol-xxxxxxxxxxxxxxxxx
-
将替换卷挂载到实例。使用 Add-EC2Volume cmdlet。对于 -VolumeId
,指定替换卷的 ID。对于-InstanceId
,请指定要连接卷的实例的 ID。对于 -Device
,指定此前记下的设备名称。
Add-EC2Volume`
-VolumeId vol-01234567890abcdef
`
-InstanceId i-1234567890abcdef0
`
-Device /dev/sdf
-
连接到您的实例并安装卷。有关更多信息,请参阅 使 Amazon EBS 卷可供使用。