我们在 Amazon EC2 上运行了一个 Web 服务。目前,我们在单个磁盘 (EBS) 上存储了一些实时用户数据。我们正在考虑迁移到 RAID0 设置(我们不必担心故障率增加)。
如果我们进行此迁移,最快的方法是什么(以最大限度地减少站点不可用)可靠地将用户数据传输至RAID阵列?
我的一个想法是拍摄数据的近期快照,将其复制到新的 RAID 阵列,然后当站点停机维护时使用 rsync 仅复制更改的数据。但我不确定这是否真的可以节省时间或确保数据完整性。
答案1
我使用您描述的确切方法来迁移/复制 EC2 上的数据:
- 创建 EBS 快照
- 从 EBS 快照创建卷
- 预热 EBS 卷(例如,将 dd 设备添加到 /dev/null)
- 同步
- 将生产转入维护模式
- 再次 rsync
- 切换到新副本
- 让生产恢复正常
使用正确的选项,rsync 应能确保从文件系统级别进行近乎精确的复制。它与 Linux 发行版略有不同,但可能:
rsync -aSHAX --delete source/ dest/
EC2 的妙处在于,您可以在实际执行之前在临时卷和临时实例上测试整个迁移计划。