新的m4实例看起来比以前的m3实例(性能和pice)要好得多,所以我将把它们作为我们云服务的默认实例。 这些服务之前在m3实例上运行,所以我想使用“更改实例types”选项执行定期升级。 但它似乎不适用于m3-to-m4迁移。 我知道,通过从原始磁盘映像创build磁盘映像,然后根据映像启动新实例,可以将服务从一个实例“移动”到另一个实例。 问题是,是否有可能以更优雅的方式执行此迁移? 任何意见表示赞赏。
你有两个select:
正如EEAA提到的那样,您可以使用configurationpipe理工具(如果服务器在生产环境中使用,您应该使用configuration)来configuration它,或者恢复备份,然后迁移您的服务并重新指向DNS 。
如果使用configurationpipe理或自动调节,这种方法非常简单。
您可以通过Amazon控制台手动调整实例的大小。 有关详细说明,请参阅Amazon文档 。
当你有一个独立的实例时,这种方法很有用。
如果使用实例存储支持的实例,则需要通过创build实例的AMI来进行迁移,销毁当前实例并使用刚刚创build的AMI创build新实例。 有关如何执行此操作的详细信息位于相同的Amazon文档资源中 。
启动一个Ubuntu HVM linux,任何版本,新的
使用我现有的AMI / PVM linux启动一个Ubuntu /并安装grub软件包: apt-get install grub-pc grub-pc-bin grub-legacy-ec2 grub-gfxpayload-lists
停止PVM linux
在PVM linux分离根(/ dev / sda1)分区
将PVM linux根分区连接到某处运行HVM linux,例如:/ dev / sdf
在HVM linux上: mkdir -p /mnt/xvdf && mount /dev/xvdf /mnt/xvdf
rsync -avzXA /boot/ /mnt/xvdf/boot/
mount -o bind /dev /mnt/xvdf/dev && mount -o bind /dev/pts /mnt/xvdf/dev/pts && mount -o bind /proc /mnt/xvdf/proc && mount -o bind /sys /mnt/xvdf/sys
chroot /mnt/xvdf
grub-install --no-floppy --recheck --force /dev/xvdf
update-grub2
退出chroot:CTRL + D
停止HVM Linux
分离/ dev / sda1原始根目录并分离/ dev / sdf PVM根目录
将PVM root作为/ dev / sda1附加到HVM linux
启动HVM linux,voilà!
从正在运行的HVM linux创build一个新的AMI映像,它将被HVM虚拟化。
取自: https : //stackoverflow.com/posts/26276763/edit
如果您可以忍受几分钟的停机时间: