带有 EBS 的 Amazon EC2 如何在卷和挂载点发生变化时进行备份和恢复
Amazon EC2 with EBS how to backup and restore if volume and mount points change
我有一个现有的 EC2 实例,它附加了 2 个 EBS 卷。
现在我想更改实例并且只有一个包含所有数据的大实例(又名“/”)。
How can I easily change the EBSs and its mount points but keep the
data?
- 拍摄旧 EBS 根卷的快照
- 在您刚刚为 "create volume" 制作的快照上。将卷的大小设置为将包含所有内容的新大小的根卷
- 启动一个名为 "resizer"
的新实例
- 将新卷附加到 "resizer"
- 在 "resizer" 上使用 fdisk -l 找出新卷的设备 ID。例如,它可能是 /dev/xdvf
运行 在 "resizer" 上的新卷上进行 fdisk 并发出以下命令
- d <--删除分区
- n <--创建新分区
- 1 <- 数字
- <- 按 return 接受默认值
- <- 按 return 接受默认值
使用 resize2fs /dev/xdvf1 增加磁盘分区以使用所有 space
- 运行 在 /dev/xdvf1
上进行 fsck
- 从 "resizer"
中取消附加新卷
- 停止原来的服务器
- 从原始服务器上取消附加旧的根卷
- 将与旧根卷同名的新根卷附加到原始服务器
- 启动原始服务器。新卷应该挂载很多 space
- 您可能需要卸载原始服务器上的其他 EBS 卷并将其重新安装到不同的路径,然后使用
cp -ar
将数据复制到新的根卷上
我有一个现有的 EC2 实例,它附加了 2 个 EBS 卷。 现在我想更改实例并且只有一个包含所有数据的大实例(又名“/”)。
How can I easily change the EBSs and its mount points but keep the data?
- 拍摄旧 EBS 根卷的快照
- 在您刚刚为 "create volume" 制作的快照上。将卷的大小设置为将包含所有内容的新大小的根卷
- 启动一个名为 "resizer" 的新实例
- 将新卷附加到 "resizer"
- 在 "resizer" 上使用 fdisk -l 找出新卷的设备 ID。例如,它可能是 /dev/xdvf
运行 在 "resizer" 上的新卷上进行 fdisk 并发出以下命令
- d <--删除分区
- n <--创建新分区
- 1 <- 数字
- <- 按 return 接受默认值
- <- 按 return 接受默认值
使用 resize2fs /dev/xdvf1 增加磁盘分区以使用所有 space
- 运行 在 /dev/xdvf1 上进行 fsck
- 从 "resizer" 中取消附加新卷
- 停止原来的服务器
- 从原始服务器上取消附加旧的根卷
- 将与旧根卷同名的新根卷附加到原始服务器
- 启动原始服务器。新卷应该挂载很多 space
- 您可能需要卸载原始服务器上的其他 EBS 卷并将其重新安装到不同的路径,然后使用
cp -ar
将数据复制到新的根卷上