如何从一个 VPS 迁移到另一个 VPS,同时保留配置?
我看到了这个问题在两个 Linux VPS 之间迁移数据的最佳方法
但这只是为了迁移数据。
我已经设置了一个电子邮件服务器(Dovecot/Postfix),设置起来很麻烦,还有 Tomcat、PHP、Apache、Webmin 等,我想复制它们的配置,而不必再次设置所有内容。
我担心如果我复制根目录,将会有像 /dev 这样不应该复制的特殊文件。
答案1
几天前,我完成了同样的任务。我执行的步骤基本上如下:
- 在源 VPS 上的单独位置创建根文件系统的绑定挂载。例如
mount --bind / /mnt/servername
- 创建一个包含所有 /mnt/servername 的 tar 文件。例如
tar -C /mnt -c servername | ssh user@newserver dd of=copy.tar
- 提取 tar 文件。此时,使用 tar 的 --numeric-owner 标志非常重要。
- 将提取的图像中的网络配置替换为适合目标 VPS 的网络配置。
- 将文件移动到其最终位置(这是棘手的部分)。
如果目标 VPS 提供网络启动、虚拟控制台等管理功能,则步骤 5 会变得简单得多。我迁移到的 VPS 提供上述两种功能。虚拟控制台利用 VNC 客户端连接到虚拟机管理程序以访问虚拟显示器。
如果您没有这样的管理功能,您需要在第一次尝试时就正确完成该步骤。更新引导加载程序是一项挑战。