多年前,我在大西洋网络云上安装了许多服务器,现在我们的大部分东西都在 AWS 上。AWS 的好处是它允许我关闭(而不是付费)很少使用的机器。我想利用这一点,但迁移它会很困难,尤其是一个 Windows 服务器,它让你知道如何设置很痛苦。Unix没有大问题。
有没有办法只下载VM映像?如果我只是提取二进制磁盘映像(使用 cygwin dd 左右),将其发送到 AWS,将其二进制写入 EBS 磁盘 (dd),然后尝试启动它。这会有成功的机会吗?
我已经多次使用物理笔记本电脑驱动器做到这一点:只需将 NUC 拉出并放入 ThinkPad,然后当它分崩离析时,将其转移到另一个 ThinkPad 上,然后再回到 NUC,无论如何,它总是有效的。但我从来没有在虚拟机上做过这件事,AWS 尤其重要,因为你在启动期间无法访问控制台。
您应该使用AWS Application Migration Service。是的,你使用一种叫做“应用程序迁移服务”的东西来迁移服务器,去看看吧。一旦你进入控制台的那个区域,它会引导你完成整个过程,但你基本上是在源服务器上安装一个代理,它复制到 AWS,你停止旧服务器,你启动新服务器。
如果您的操作系统太旧且不受 AWS 支持,您应该复制您的数据并重新安装您的应用程序,而不是采取不受支持的变通办法。
我实际上能够做到这一点,我现在感觉非常有成就感。
大多数人没有意识到的一件事是,将 Windows 从一种硬件转移到另一种硬件是多么容易。该方法只是获取磁盘的原始副本,将其插入新机器并启动。
对于那些认为从头开始设置 Windows 系统更容易的人来说,事实并非如此,尤其是如果您依赖超过 10 年的旧软件并且没有安装盘:将系统盘换成新硬件!
在没有控制台的情况下迁移到 AWS 会更加棘手。但这是可以完成的。
概述
细节
要点 1.在旧的非 AWS 机器上安装 AWS 驱动程序并非易事。就我而言,我有一个超级旧的 Windows 2008 服务器,它甚至无法运行大部分 AWS 驱动程序附带的 install.ps1 脚本。
此处的文档:https ://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/migrating-latest-types.html是最好的指南。
PV 驱动程序很难,因为最新版本告诉您它不支持您的旧系统。但经过一番挖掘,我发现最后一个支持的版本是 8.3.4,然后我发现它的 URL 是:https ://s3.amazonaws.com/ec2-windows-drivers-downloads/AWSPV/8.3 .4/AWSPVDriver.zip。一旦找到,包含的 .msi 安装程序就可以毫无问题地运行。
其他驱动程序从最新版本开始工作。但是为 ENA 驱动程序运行 install.ps1 脚本相当容易。对于 NVMe 驱动程序来说,这很难。我最终只是用自己的眼睛阅读脚本,解释它的作用,然后手动执行。
EC2Config 和 EC2Launch 安装非常简单。
现在重新启动系统,即使在旧平台上,也已经出现了显示 AWS 背景和右上角的 AWS 系统信息面板。没有显示太多,但它告诉你这个 EC2Launch 的东西发挥了它的魔力。
关于 dd 副本。
在 cygwin 上,磁盘驱动器是 /dev/sda、sdb、sdc、……你需要那个原始驱动器,而不是分区。首先,您需要获取要复制的分区的确切大小:
这些大小以字节为单位。您将启动和系统分区相加,104857600 + 104805171712 = 104910029312 字节。为了加快 dd,您希望读取更大的块,例如 10 MiB (bs=10M)。在这种情况下,您需要除以 1024 两次和 104910029312 /1024 /1024 /10 = 10005.00004882.. 然后向上取整:
磁盘的末尾,您只需总结所有分区 66884468736 + 104805171712 + 104857600 = 171794498048 字节 / 1024 = 167768064 kiB 块:
4 kiB 是一个不错的小尺寸。如果这非常大,您将知道您的磁盘到底有多大,然后只取最后的 4 kiB。
制作这些副本后,将内容转移到 AWS,在附加了新 EBS 卷的 UNIX 机器上,仔细检查它的位置,以免错误地擦除其他磁盘。就我而言:
最后:
现在您可以启动了!
当我第一次无法连接到它时,这是因为网络没有正确设置。
打开启动日志,并查看 C:\Windows(将磁盘连接到正在运行的 Windows 系统时为 E:\Windows)中的一些 AWS 相关设置日志,按文件时间降序排序目录视图,我可以看到 xen 驱动程序是已安装,但未找到 xenbus 且未安装 xennet。但是在第二次启动时,我突然注意到现在已经安装了 xennet。所有的问题都消失了。
看来您正在做一个方形钉/圆孔,试图在 AWS 上与 Windows 一起使用。也就是说,我有两个想法给你。
https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/troubleshooting-sac.html
/Edit - 您在问题描述中说明了该过程的几个部分,但没有详细说明。你是怎么预装驱动的?你用过这里的包吗?
https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/Upgrading_PV_drivers.html