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

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

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

我目前的 VPS 位于美国,往返丹麦的响应时间让我很烦。在切换到 VPS 之前,我之前有自己的服务器,运行 FreeBSD。为了快速轻松地移动,我想知道我是否可以制作 VPS 的磁盘映像,然后将其提取到我位于丹麦工作场所的服务器中。

答案1

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

这种方法的优点是所有类型的设置都是相同的(权限、用户 crontab、Web 服务器库版本等)。当然,您还会复制所有已建立的冗余内容。

首先轮到包含重要数据或并非严格需要的一切(数据库、http 服务器、各种守护进程等)。

然后您可以 tar / 并将其复制过来,在目标系统上安装引导加载程序。

然后重新启动。

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

尖端:

  • 从屏幕启动整个操作或使用 nohup。
  • 通过 ssh: 传输 tarball root@source:~# tar czvf - / | ssh root@target "tar -xzv -C targetpartition/ -f -"
  • 最好卸载所有数据分区并单独处理它们。请记住挂载点(挂载 fs 的底层)可能有文件。
  • 仔细检查硬件配置、引导加载程序配置、fstab 和以太网配置(没有什么比转换成功但无法从互联网访问更糟糕的了,因为 eth0 和 eth1 被切换了)
  • 确保 tar 接管 uid/gid/permissions 和扩展属性(如果有)。解压时需要 root,因此我的示例中使用 ssh root 登录。
  • 如果目标上有远程重置和救援系统,事情就会简单得多。如果一开始没有成功,您可以检查系统日志中的错误等。
  • 不要在时间压力或物质影响下这样做;-)

答案2

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

答案3

通常,大多数提供商不提供创建 VPS 系统映像的服务。您自己也无法创建,因为您需要从您想要创建映像的磁盘以外的其他设备启动它。不过,有些提供商确实提供全磁盘备份(尤其是 Amazon 和 Rackspace 等云托管提供商),因此请咨询您的提供商。

您应该已经有一个备份解决方案,可以应对整个服务器完全丢失的情况,并且您应该有从中恢复的经验 - 定期进行恢复练习。如果您还没有,那么现在正是开始的好时机,因为它可以让您进行全面练习并找出您忘记备份的内容。

也许是时候升级你的操作系统和/或运行其中的一些软件了,从备份中恢复可以做到这一点,而磁盘映像则不行。从备份中恢复还允许你对某些在恢复时不太适用的设置进行一些细微的调整。但除非你愿意花时间修复损坏,否则我不会做任何重大更改。

相关内容