Vultr 是一个很好的VPS供应商,可惜IP被屏蔽的太严重,很多IP无法直连或者丢包严重。这不是Vultr的问题,是运气不好?

Vultr 经常推出新用户赠送余额活动,可惜我注册时没有使用推广链接,没有享受任何优惠。正好想给VPS换一个IP,恰逢新用户送25刀活动,干脆新注册一个账号。我想使用推广链接注册是不是推荐的账户也有相应的优惠,于是作死地把推广ID替换成上一个账号的ref ID。虽然使用了从未在Vultr上支付过的PayPal账户,但在同一电脑上操作两个账号还是被查出来了。结果就是两个账号都没有任何优惠。还不如使用别人的推荐链接,应该遵守活动规则,对双方都有好处。

虽然优惠没了,充值的钱还是在的。问题是怎样从上一个账号导出VPS?如何在vultr帐号间转移快照 提供了一个好的方案。

这个方案利用了Vultr支持加载ISO镜像启动Live CD的特性。我们在源主机和目的主机的设置里各加载一个可启动的Live CD,打开SSH服务,通过DD命令配合SSH将硬盘的原始数据从源主机写入目的主机。这样两边的硬盘内容完全一致,移除Live CD并重启就完成了系统的备份,耗费时间根据网速快慢不到十分钟。

这种方式对于VPS上安装的系统没有要求,Windows或Linux都可以。只要两边启动Live CD,并在目标服务器开启SSH服务。我选择的Live CD是Archlinux,文件系统是可写的,/etc/ssh/sshd_config的默认设置已经开启了root用户的登陆权限 PermitRootLogin yes,只需要更改root用户的登陆密码 passwd root 并启动SSH服务即可 systemctl start sshd,以上操作是在未安装系统的VPS上执行。

注意:不能在正在运行的待备份系统上执行下面的命令,要保证硬盘上的数据在传输过程中不会改变。

在已安装好系统的VPS上同样需要启动Live CD,不需要启动SSH服务,只要执行下面的语句:

dd if=/dev/vda bs=1M | ssh -e none [email protected] 'cat | dd bs=1M of=/dev/vda'

your-new-ip替换成目标VPS的实际IP。

如果不清楚是哪个硬盘,可以执行 fdisk -l,一般只有一个硬盘,路径为/dev/vda,不同的Live CD可能不一样。

传输过程开始前会要求输入密码,之后会卡在数据传输的过程,不要强制退出。如果想要查看进度,可在目标VPS上执行ifconfig 查看网卡的流量,Rx的数值即已传输的数据量,可以得到大概得进度。

当完成之后,可以在目标VPS上执行fdisk -l查看分区情况,应该与源VPS一致。

在同一数据中心的主机间数据传输不计入流量消耗,所以流量数据统计为零。

数据传输完成后移除Live CD并重新启动,如果没有错误就使用Vultr的快照功能执行一次备份,留待备用。

参考链接:
如何在vultr帐号间转移快照

原文链接:https://marskid.net/2018/06/17/how-to-transport-vultr-snapshots/