我需要创建一些(几乎)相同的 Linux 机器(Debian Wheezy),并配备软件 RAID 和 LVM。我正在考虑创建一个基本安装并将其克隆到所有机器。
我尝试在 Google 上搜索克隆软件 RAID 和/或 LVM 时的说明或注意事项,但找不到任何具体信息。所以,我的问题是,是否有可能克隆这样的设置?我需要考虑什么?
答案1
您可以尝试使用磁盘销毁器,如下所示:
dd if=/dev/sdb of=/image.iso bs=16M #if is input drive bs is byte size to handle at once
否则,您可以将两个驱动器插入一台计算机并使用 if=/path/to/master of=/path/to/slave
但不确定是否必须使用实时操作系统来制作图像。
答案2
我不会深入讲解,但我通过“克隆”磁盘迁移了一些服务器和工作站,我个人最喜欢的是使用 rsync。请注意,您需要非常了解启动过程才能找出任何意外问题。
从 CD、USB 或其他方式启动目标,以便您可以不受限制地访问磁盘。尝试使用相同的内核、mdadm、lvm 和文件系统工具版本,或使它们尽可能接近。有时新版本中的更改可能会导致不兼容。
在目标上设置网络,以便它可以自由地与源通信。启动 sshd(您也可以从目标控制台使用 ssh,但通常更方便的是使用通过 ssh 连接的终端仿真器,以便您可以复制粘贴命令)。
按照源磁盘上的设置分区、raid、lvm 和文件系统。您还需要克隆各种 uuid,或者记下更改以便稍后更新相关配置文件(引导加载程序、fstab 等)。
如果您的源已在运行,您可以先实时运行(操作系统正在运行,那么最终运行速度会快得多)。使用 rsync 和几乎所有可能的选项来按原样复制每个文件...从内存中,此命令将执行:
rsync -axAHSX --删除 / 目标:/
对每个磁盘文件系统重复此操作。
停止源上的所有进程并重新挂载所有文件系统 RO(如果您通过 sshd 连接,请保持 sshd 处于打开状态,它不会阻止您重新挂载 RO)。最后一次重新运行 rsync 命令。
关闭源计算机。
在目标上,chroot 到新复制的系统(您可能需要先到
mount --bind
/dev、/proc 和 /sys)。修复配置文件(设备路径、uuid 等)。更新您的 initrd 并重新安装引导加载程序。在那里进行任何其他必要的自定义,例如重新创建 sshd 密钥、更改 IP、主机名...(您可以提前在源中放置一个脚本来执行这些任务...)重新启动目标;如果启动失败或内核崩溃,请从 CD/USB 重新启动并修复步骤 7 中遗漏的任何内容。如果获得紧急 initrd shell,您也可以修复其中的一些错误,但与使用启动盘相比,您会受到更多限制。