带有 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?

  1. 拍摄旧 EBS 根卷的快照
  2. 在您刚刚为 "create volume" 制作的快照上。将卷的大小设置为将包含所有内容的新大小的根卷
  3. 启动一个名为 "resizer"
  4. 的新实例
  5. 将新卷附加到 "resizer"
  6. 在 "resizer" 上使用 fdisk -l 找出新卷的设备 ID。例如,它可能是 /dev/xdvf
  7. 运行 在 "resizer" 上的新卷上进行 fdisk 并发出以下命令

    • d <--删除分区
    • n <--创建新分区
    • 1 <- 数字
    • <- 按 return 接受默认值
    • <- 按 return 接受默认值
  8. 使用 resize2fs /dev/xdvf1 增加磁盘分区以使用所有 space

  9. 运行 在 /dev/xdvf1
  10. 上进行 fsck
  11. 从 "resizer"
  12. 中取消附加新卷
  13. 停止原来的服务器
  14. 从原始服务器上取消附加旧的根卷
  15. 将与旧根卷同名的新根卷附加到原始服务器
  16. 启动原始服务器。新卷应该挂载很多 space
  17. 您可能需要卸载原始服务器上的其他 EBS 卷并将其重新安装到不同的路径,然后使用 cp -ar 将数据复制到新的根卷上