使用linode clone功能把一个vps整机迁移到另一vps上

前些天linode九周年促销活动时,抢买了一512的vps,想把原vps上的数据全部迁移过去,然后把旧vps撤销掉,这样可以省三个月的费用,还是很值的。买过后却懒得迁移数据,因为配置环境还是一件麻烦的事情,虽然没有多高技术含量。一个多月时间,也只配置了个最基本的环境,当时把配置过程实录下来,写了篇新手教程,然后就完全搁置了。其实环境还没有真正配置好。

今天偶然间看到linode后台里的clone功能,上网查了下,果然就是vps整机迁移的,这简直太方便了,跟linode迁移数据中心/机房一样简单,甚至更简单,不用给客服发ticket,完全自助!

于是在仔细确认后关掉新vps,把原vps clone过来。clone时,源vps不关机,直接迁移,理论上这样会造成一些问题,但考虑到vps工作负载并不高,其实只是个人wordpress博客,访问量很少,所以数据一致性问题应该可以忽略。

clone时,选中启动配置,而不是下面的硬盘,因为我需要的是整个服务器迁移,而不是只迁移某个硬盘。但是报错说“空间不足”,于是去把硬盘删掉,这样再操作,就通过了。因为两个vps在同一个机房(Fremont),所以速度很快,十几分钟就完成了。

启动vps,但失败了,发现是用的原来的启动配置,注意到在 Select Configuration Profiles 里有两个配置,默认选中的是原来的配置,改选中用另一个,再启动,成功。把前一个启动配置删掉,只保留可用的这个。

ssh连接,提示WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!

因为RSA host key变了,所以ssh警告。

$ vim ~/.ssh/known_hosts

把旧的rsa key删掉,保存,再ssh连接,正常进入。

因为在vps上没有使用本机静态ip地址的配置,所以不需要做任何设置修改,直接运行了。

nginx编译后写入/etc/rc.local,所以自动启动了。

测试clone迁移后的vps上的站点是否正常运行,把浏览器的代理设置成vps ip地址80端口,然后通过域名访问,但wordpress提示“无法连接数据库”,难道是迁移后mysql挂了?ssh上检查没有mysqld的进程,想起好像当时没有把mysqld 设置为自动启动,于是到setup里查看,果然。设置自动启动,然后/etc/init.d/mysqld start ,然后再次访问网站,完全正常!

再检查了一下其它站点、备份数据之类,确认没有问题,到dnspod上把域名解析到新的vps上,然后两边都运行着,这样dns解析没有生效的用户,访问旧vps还是可以正常打开的,不至于造成流量丢失,或者被se蜘蛛“反感”。

几个小时后,把旧vps关掉,再次确认没有问题,这下就可以撤销掉旧vps了,今天8月1号,或许这一个月的费用就可以不付了。撤销掉vps后,看到账单里有个0.64刀的账单,看来这个月还是算用了一天吧。不过也还好,至省下了8-9月两个月的vps费用,好歹也两百多RMB。接着给客服发了个ticket,问问是remove掉vps后否还有其它事情要做,客服说要付掉那0.64的账单,别的没有。

于是付款,然后,没事了。写下这篇文章记念一下。

《使用linode clone功能把一个vps整机迁移到另一vps上》有2条评论

    • 哇,看你的邮箱地址,难道是dnspod的工作人员,你们一直在关注网上对dnspod的言论吧? 我用的免费dnspod账号,呵呵

      回复

发表评论

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据