Dee*_*101 4 windows migration amazon-ec2
我在弗吉尼亚州有一个 Windows EC2 AMI 和实例,但想将其迁移到俄勒冈州。我的猜测是实例迁移可能是不可能的,因为它是实时的,但至少 AMI+EBS 卷传输会有所帮助!
另外,我知道以前有人问过这个问题,但截至 2011 年底,没有一个答案适用。
旧解决方案 1,2 @是否可以将 AWS EC2 AMI 从一个区域移动到另一个区域,如果可以,如何移动?. 问题:解决方案 1 需要不再支持的 ElastiFox(自 3.6 起不适用于任何 firefox)。解决方案 2 仅适用于 linux
旧的解决方案3 @ Amazon EC2 从一个区域迁移到另一个区域。问题:需要现在不支持/不兼容的 ElastiFox
“部分”解决方案4 @ http://blog.taggesell.de/index.php?/archives/85-Amazon-EC2-How-to-migrate-an-EBS-backed-image-from-US-to-EU- or-wherever.html。问题:通过创建图像然后将其作为流发送,这可以在 AWS 系统“外部”工作。此外,尚不清楚如何保护流免受损坏(例如,数据包丢失等)。编辑: netcat 通过 TCP/IP,所以它是可靠的传输。让 Windows 在启动时检查磁盘仍然很好。
嗯,没有回应,所以我继续尝试了解决方案 4 的变体。原始解决方案失败了,因为
所以我会记录对我有用的东西。
设置它
我们将使用 Linux 在网络上逐字节复制 Windows 卷。其实很简单,我只是给出了详细的说明来帮助新手。
1. 在源区域备份您的 Windows EBS 卷
2. 在您的源区域中创建一个 Linux 实例,在 我使用 Ubuntu 的同一区域中(搜索“ubuntu/images”AMI)。或者,访问http://alestic.com/,您会在顶部找到指向最新官方 Ubuntu AMI 的链接。我使用 AMI ami-20f97410 作为参考。
sudo apt-get install cpipe
3. 在你的目标区域创建一个空白的 EBS 卷
4. 在你的目标区域,在同一个区域中创建一个 Linux 实例 阅读上面关于 Linux 实例的部分 (#2)。再次确保目标区域内的 Linux 和 Windows 卷区域相同。在此磁盘写入操作期间,我的 Ubuntu 11.10 32 位“服务器”t1.micro 实例达到了 80% 的 CPU。
开始复制过程
1.目标 登录Linux EC2实例并输入
sudo sh -c 'netcat -p 9999 -l > /dev/xvdf'
Run Code Online (Sandbox Code Playgroud)
2. Source 登录Linux EC2实例并输入
sudo sh -c 'cpipe -vt -b 1024 < /dev/xvdf | netcat -q 1 dest-aws-ip-dns-address.com 9999'
Run Code Online (Sandbox Code Playgroud)
注意:更多新的/当前内核将使用 /dev/xvdf 作为 Windows 卷。较旧的内核将其称为 /dev/sdf
note2 netcat 有时别名为 nc,以防您使用其他 Linux 发行版。cpipe 只是给你关于进度和传输率的反馈。netcat 在 TCP/IP 上运行,因此它对丢弃/损坏的数据包具有强大的抵抗力。传输完成后,您仍希望对目标执行 Windows 磁盘检查。
3. 等等 ,在从东海岸到西海岸的整个操作过程中,我得到了精确的 3.00MB/秒(Mbytes,而不是 Mbits)。我的 30GB 图像花了 2 小时 50 分钟。
4. 创建新的 Windows EC2 实例 我们有一个卷,但需要一个 EC2 实例/机器来实际启动任何东西。如果使用 AWS 控制台 GUI 转到 volume->snapshot->AMI,AWS 会错误地创建一个无法启动的Linux (?!?) VM,因为 EC2 配置现在是垃圾。我们通过
5. 清理 请记住,您只做了以下几件事
如果您终止上述操作,它将永远消失,没有 AMI 可以重新启动它。所以,我强烈推荐
结论 这是一篇很长的文章,但我没有为新手留下任何细节。以上对我从美国东部(弗吉尼亚州)迁移到美国西部(俄勒冈州)的工作 100%。我在加州,这样做是为了让 VM 离我更近,而不会影响加州北部的更高费用。
归档时间: |
|
查看次数: |
2120 次 |
最近记录: |