如何在AWS同类型实例的EBS卷间迁移数据?
最优EBS卷数据迁移方案(针对实例配额不足的情况)
嘿,碰到这种实例配额卡壳的情况太常见了,给你说下最省心高效的最佳实践,顺便分析下你提到的几个方案:
首选方案:快照+临时挂载同步
这个方法既省钱又高效,步骤如下:
- 先停止实例A(或者在实例A上卸载卷A,停止实例更安全,避免数据写入不一致),给卷A创建一个快照。
- 从这个快照创建一个临时EBS卷,确保这个卷的可用区和实例B的可用区一致(不然没法挂载)。
- 把这个临时卷挂载到运行中的实例B上,注意选择一个未被占用的挂载点(比如Linux的
/mnt/vol-a-temp,Windows的新增盘符)。 - 在实例B上用可靠的同步工具把临时卷的数据迁移到卷B:
- Linux用
rsync -avz /mnt/vol-a-temp/ /mnt/vol-b/(-a保留权限,-v显示进度,本地同步时-z可去掉以提速) - Windows用
robocopy D:\ E:\ /MIR /COPYALL(/MIR实现镜像同步,/COPYALL复制所有文件属性)
- Linux用
- 同步完成后,卸载临时卷,删除这个临时卷和快照(如果不需要留存的话)。
对你提出的方案的分析
- 方案1:启动其他类型实例挂载双卷:确实可行,但要额外支付实例费用,还要来回操作挂载卷,步骤繁琐,完全没必要用这个方法。
- 方案2:创建卷A副本挂载到实例B:这个思路其实和首选方案一致!完全可行,本质就是用快照生成卷A的副本(临时卷),挂载到B后同步,比方案1高效得多,是不错的备选。
- 方案3:S3中转:75GB的数据用S3中转太折腾了,上传下载耗时久,还要额外支付S3的存储和传输费用,除非你本来就需要把数据备份到S3,否则不推荐。
额外注意事项
- 挂载卷前要确认实例B的卷挂载限制(p2.xlarge最多可挂载4个EBS卷,完全够临时挂载一个)。
- 如果卷A是系统盘,创建快照前最好停止实例,避免快照数据损坏。
- 同步完成后可以校验下文件完整性,比如用
md5sum(Linux)或者文件属性对比(Windows)。
内容的提问来源于stack exchange,提问作者Borealis
相关产品推荐
相关产品推荐

