使用 rsync 将一台服务器克隆到另一台服务器?

使用 rsync 将一台服务器克隆到另一台服务器?

我有两台 Debian 9 服务器,服务器 A 和服务器 B。

服务器A是LAMP堆栈服务器。

服务器 A 速度很慢。服务器B速度很快。

我想在不关闭服务器A的情况下将服务器A克隆到服务器B。

我怎么做?

思考我可以做这样的事情:

  1. 在服务器 B 上安装 Debian 9 作为基本安装
  2. 使用 rsync 将 A 的所有内容复制/home/到 B,然后复制 /etc/passwd、/etc/groups 和 /etc/shadow
  3. 转储 A 上安装的软件包,创建脚本以在 B 上安装这些软件包。
  4. 从 A 转储 MySQL 数据库,复制到 B,然后导入
  5. 使用 rsync 复制 /etc/ 的内容。

或者...我可以将整个服务器从 B 同步到 A 吗?

答案1

在尝试任何命令之前,请仔细阅读每个链接。

我用过这个rsync 示例由用户 ericslaw 成功将我的工作 Linux 安装克隆到不同的驱动器。

您可以将远程或本地目标文件系统挂载到/mnt源文件系统。以 root (sudo) 身份运行以下命令:

mount /dev/sdb1 /mnt

/dev/sdb1是您的第二个服务器磁盘。它可以是远程的或本地的,只要最适合您即可。

rsync -gloptruncv \
      --exclude={/dev/*,/proc/*,/sys/*,/tmp/*,/run/*,/mnt/*,/media/*,/lost+found} \ 
      / /mnt 

这将是一次预演。如果没有错误,那么您应该可以排除该n选项。之后您需要遵循中的建议这个帖子。备份完成后(您甚至可以根据您的情况使用它们的选项),然后重置/mnt/etc/fstab启动和交换分区。我强烈建议这些条目基于UUID块设备。blkid会告诉你需要的信息。修复后,fstab您需要运行grub-install /dev/[serverB disk]才能启动。或者,您可以chroot进入备份并以这种方式安装 grub。

 chroot /mnt
 grub-install --recheck /dev/sdb1
 update-grub

最后,您可能需要重新创建备份中丢失的文件夹 ( /dev/, /proc/, /sys/, /tmp/, /run/, /mnt/, /media/, and /lost+found)。

这也可以反过来进行。让服务器 B 挂载服务器 A 的磁盘,然后在两者之间同步非系统文件。如果服务器 A 和 B 运行相同发行版的相同版本,则这是最简单的。

相关内容