如何创建整个远程系统的映像以便在其他(虚拟)远程机器上使用?

如何创建整个远程系统的映像以便在其他(虚拟)远程机器上使用?

我从托管服务提供商处订购了几台虚拟机,它们都需要完全相同的设置:

  • 相同用户
  • 安装相同的程序
  • 相同的配置(主机名除外),包括 cron-jobs

是否可以创建整个系统的 tarball(不包括/dev、、/proc文件/sys夹和/etc/hostname文件),并在系统未运行时将其解压到磁盘上(使用修复模式或 Live CD,如果是物理服务器)?

我还需要考虑什么?

编辑:由于我无法物理访问这些机器,所以一切都必须通过命令行完成。

编辑2:亦不/etc/network/interfaces應被抄袭。

答案1

是的你可以。

  1. /etc/fstab根据您放置分区的位置和分区类型,确保仍然正确。确保您mkswap在任何交换分区上运行。如果使用 UUID,则需要更新这些。该blkid命令将为您提供所有新分区的 UUID。如果使用标签,则使用命令e2label(或文件系统的等效命令)确保标签匹配。

  2. 跳过这些,并确保在另一端创建空的:(在旧版本中),,,。检查旧的(正在运行的)系统是否有其他/run(新版本中较少)。/var/run/proc/sys/dev/proc/mounts

  3. 更新/etc/hostname/etc/hosts(其中也包含主机名)。

  4. 检查包含任何 NIC MAC 地址的 或类似名称的/etc/udev/rules.d/文件70-persistent-net.rules。不过,虚拟机通常会跳过这些步骤,唯一的危害是您最终得到的是设备,eth1而不是通常的eth0

  5. 正如您所提到的,您应该检查/etc/network/interfaces正确性,尤其是以太网设备名称。

  6. 重新运行引导加载程序安装。这是比较棘手的部分。这取决于您的 VPS 提供商如何启动您的实例。在开始之前,最好为此制定一个计划。

答案2

您可以考虑使用克隆Zilla应用程序,它允许您通过网络备份和恢复,或直接克隆。

它可高效备份(或克隆)磁盘,仅复制分区的已使用部分。它还可复制 MBR。

恢复新分区后,请务必更正以下文件:

  • UUID 输入/etc/fstab(如果需要;根据我的经验,CloneZilla 也会克隆 UUID)。
  • /etc/hostname和中的计算机名称/etc/hosts
  • 如果合适,对 进行任何更改/etc/samba/smb.conf

相关内容