我使用 Virtualbox 运行 Ubuntu Server 11.10 i386。
我想创建并移动完整备份到专用计算机。如果可能的话,停机时间必须减少到最低限度,因为网站现在正在运行。我不能只移动网页,因为我有很多设置、数据库和守护程序需要很长时间才能设置好。
我有什么选择可以轻松地将我的虚拟服务器移动到另一台不运行 Virtualbox 的计算机?
我有 SSH 和两个服务器的物理访问权限。
答案1
我会这样做(不要只遵循它而不根据你的实际情况进行调整):
- 在新计算机上启动 Ubuntu Live CD
- 根据需要格式化硬盘,将分区挂载到临时位置(例如 /mnt/disk1)。
从 VirtualBox 服务器,将内容 rsync 到新服务器:
rsync -avuz --progress --exclude=/proc/* --exclude=/sys/* --exclude=/run / 新服务器:/mnt/disk1
在新服务器上安装 grub:
sudo grub-install /dev/sda
修改 /etc/fstab 以指向正确的分区/位置(如果您的根“/”指向 UUID,您可以将其指向新根分区的新 UUID 或将其指向 /dev/sda1 或您正在使用的任何内容)。
- 此时,新服务器应该能够启动,并且配置与 VirtualBox 基本相同。您可以尝试将其从网络上拔下并启动,以确保一切正常。
- 一旦您知道它正在启动,请再次使用 LiveCD 启动新服务器,并将分区再次安装到临时位置。
- 此处停机。停止虚拟机中的服务(抱歉,无法绕过此问题,但我会尽可能简短地说明)。保持 SSH 运行。
使用 Rsync 获取自上次同步以来更改的任何文件,这最多需要几分钟:
rsync -avuz --progress --exclude=/proc/* --exclude=/sys/* --exclude=/run --exclude=/etc/fstab / new-server:/mnt/disk1
重新启动服务器
- 此时不要忘记关闭虚拟机,否则将会出现问题:)