将托pipe的VPS服务器迁移到我自己的服务器上

是否可以直接将整个VPS主机复制到我自己的服务器上?

我目前的VPS在美国,从丹麦到丹麦的响应时间正在困扰我很多。 在我切换到VPS之前,我以前有自己的服务器,运行FreeBSD。 为了便捷起见,我想知道是否可以制作VPS的磁盘映像,然后将其提取到我在丹麦工作的服务器上。

假设某种linux / bsd,实际上可以将“运行”系统复制到另一个系统。 目标强烈build议在系统盘(救援系统,或安装了迷你系统的交换分区)以外的东西启动。

这种方法的优点是各种设置是相同的(权限,用户crontabs,web服务器库版本,…)。 当然,你也复制了已经build立的所有cruft。

首先把所有重要数据都保存起来(数据库,http服务器,各种守护进程等)。

然后,您可以tar /并将其复制,在目标系统上安装bootloader。

然后重启。

任何正在运行的守护进程都可能认为系统崩溃,但应该不会比pidfile覆盖更糟糕。

提示:

  • 从屏幕开始整个操作或使用nohup。
  • 通过sshpipe理tarball: root@source:~# tar czvf - / | ssh root@target "tar -xzv -C targetpartition/ -f -" root@source:~# tar czvf - / | ssh root@target "tar -xzv -C targetpartition/ -f -"
  • 最好卸载任何数据分区,并给他们一个单独的处理。 请记住挂载点(挂载的fs)可能有文件。
  • 仔细检查硬件configuration,引导程序configuration,fstab和以太网configuration(没有比从互联网上无法访问的成功转换更糟糕,因为eth0和eth1是交换的)
  • 确保tar接pipeuid / gid /权限和扩展属性(如果有的话)。 在解压时需要根,因此在我的例子中ssh rootlogin。
  • 如果目标上有远程重置和救援系统,则更容易。 如果事情一开始没有解决,你可以检查系统日志的错误等。
  • 不要在时间压力或物质影响下做到这一点;-)

我已经有了一个使用Linode的VPS多年,有几次需要备份我的整个磁盘映像。 Linode有一些关于如何通过ssh将磁盘镜像复制到本地机器的文档 。 这些说明是专门针对linode的基础设施编写的,但要适应另一个提供商的设置应该不会太困难。

一般来说,大多数供应商不提供创buildVPS系统的图像。 而且你自己也不能这样做,因为你需要从你想要映像的磁盘以外的东西引导它。 有些提供商确实提供了全磁盘备份(特别是云托pipe的,如亚马逊和Rackspace),所以请咨询您的提供商。

您应该已经有一个备份解决scheme,可以完全丢失整个服务器,并且您应该有一定的恢复经验 – 这种做法可以定期恢复。 如果你不是那么这将是一个很好的开始,因为它可以让你有一个完整的实践,找出你忘记备份。

升级您的操作系统和/或其上运行的一些软件也可能是时候了,从备份恢复的操作可能会允许,而磁盘映像则不会。 从备份还原还可以让你做一些小的调整某些设置,这些设置在恢复时不太适合你。 但是除非你愿意花时间修理破损,否则我不会做任何重大改变。