在 rsync 完整克隆到不同硬件时要排除的内核文件(linux-image)

在 rsync 完整克隆到不同硬件时要排除的内核文件(linux-image)

编辑

现在我可以启动操作系统了。由于我/etc在购买“新”专用服务器并安装 Ubuntu Server 20.04 后立即对目录进行了干净的复制,因此我继续执行以下操作:

  1. 将“新”服务器启动到救援模式。
  2. chroot进入系统。
  3. mv /etc /etc.old_server
  4. tar -zxvf ~/etc.tar.gz && mv ~/etc /
  5. apt update && apt --reinstall install linux-generic linux-headers-generic linux-image-generic linux-firmware intel-microcode(顺便说一下,我安装了一个新的内核版本linux-modules-5.4.0-107-generic。我还重新安装了原始内核,版本 105)。在这里我注意到操作系统开始使用常规的 Ubuntu 存储库(http://nova.clouds.archive.ubuntu.com)但在之前的/etc目录中,使用的存储库是 OVH 存储库(http://ubuntu.mirrors.ovh.net)。
  6. 重新启动恢复模式进入硬盘 Ubuntu 服务器 20.04,并且启动正常。

此时,我认为通过不同的存储库和不同的目录重新安装内核、initram 等,/etc这些目录可能具有不同的 linux 内核/initram 配置文件,重建可能会解决问题,但随后注意到网络接口逻辑名称从 更改为enp3s0eno1由于此时有一些网络配置文件,因此enp3s0它们没有被应用。

所以,现在我想知道:

  1. 我是否遗漏了/etc用于重新安装内核/initram 的目录中的配置文件,以便现在可以正常工作?
  2. 网络配置存在问题,由于逻辑名称更改为,因此现在无法应用eno1
  3. 也许使用官方的 Ubuntu 存储库而不是 OVH 存储库可以解决问题?

明天我会尽力找出答案。

先谢谢了。

结束编辑

我刚刚将我的个人 OVH 专用服务器克隆到我刚刚租用的另一台 OVH 专用服务器上,并且一切“运行正常”,直到内核和 initram 映像(linux-image-5.4.0-105-generic)意外重新安装。

重建 initram 并重新安装内核和 initram 映像后(无法备份,因为 apt 让我措手不及,我没有想到会重建/重新安装)系统再也没有启动过(除非我使用 OVH 救援模式chroot并尝试修复问题)。

我从OVH技术人员那里得到了以下消息:

  1. 首先他们说the system did not respond to keyboard他重新启动了系统(进入救援模式后我尝试修复问题然后使用服务器硬盘和内核映像/ramdisk 再次重新启动)。
  2. 第二次,The server gets stuck during the boot phase, with the message: (unable to boot correctly)但我不知道这是内核恐慌还是当某些服务(如网络相关服务)无法启动时 Ubuntu 服务器显示的消息。
  • 由于我能够在意外的内核重建之前启动系统,所以我想知道我应该排除并错过哪些文件、库或其他东西?我说的是那些似乎会影响重建/重新安装的 initram 和内核映像的内容。

linux-image-5.4.0-105-generic顺便说一句,当我全新安装 Ubuntu 服务器 20.04 时,专用服务器正在通过内核运行。

完整序列可能是:

  1. 我租用了一台“新的”OVH 专用服务器。
  2. 我安装了 Ubuntu 服务器 20.04。
  3. 我重新启动了“新”服务器并进入救援模式。
  4. 我从“新”服务器中提取了一个完整克隆,将“旧”专用服务器同步到具有不同硬件的“新”服务器,同时通过命令排除一些目录。rsync --log-file=/tmp/rsync-full-clone.log --stats --human-readable -aAXvHSI --exclude={/lib/modules/*,/boot/*,/dev/*,/etc/*,/proc/*,/sys/*,/tmp/*,/run/*,/mnt/*,/media/*,/lost+found} -e ssh [email protected]:/ /
  5. 当我排除该目录时,我通过命令将目录/etc的特定同步从“旧”服务器拉到“新”服务器。/etcrsync --log-file=/tmp/rsync-etc-dir.log --stats --human-readable -aAXvHSI --exclude-from='/root/rsync-excluded-etc-files.txt' -e ssh [email protected]:/etc /
  6. 然后,我编辑了网络相关的配置文件(主要是)/etc,重新启动了“新”服务器,它启动正常,一切似乎“运行正常”。
  7. 然后我运行了以下命令apt update && apt remove ufw
  8. 前一个命令触发了内核和 initram 映像的重建(linux-image-5.4.0-105-generic),但由于缺少文件/库/二进制文件而失败,因此我执行了apt install cryptsetup cryptsetup-bin cryptsetup-initramfs fuse ntfs-3g
  9. 之后,我远程重新启动了“新”服务器,它再也没有使用自己的内核映像启动(我怀疑这可能是由于内核恐慌引起的,但我没有任何机制来检查它)。
  10. 通过 OVH 控制面板,我将专用服务器配置为在救援模式下启动,因此当 OVH 技术人员硬重启专用服务器时,它会启动到救援模式环境,以便我可以尝试修复问题。
  11. 我尝试重新安装 ( apt --reinstall install) Linux 内核映像和其他关键库,检查配置文件中的错误并修复它们,但没有成功。因此,每次我使用自己的硬盘和自己的内核映像重新启动系统时,它都无法启动。
  12. 因此,我想知道当将“旧”服务器 rsynced 到“新”服务器时,我可能会覆盖一些内核关键配置文件,但是当我不得不重新安装 Linux 内核并且 dpk 脚本使用属于“旧”专用服务器的库或配置文件(或两者)并通过它们构建内核映像时,问题就出现了。

所以我想知道我应该排除和错过哪些文件、库或其他什么?

以下是同步目录时排除的文件列表/etc

~# cat rsync-excluded-etc-files.txt

/etc/timezone
/etc/localtime
/etc/fstab
/etc/mtab
/etc/mdadm.conf
/etc/crypttab
/etc/mailname
/etc/hostname
/etc/host.conf
/etc/hosts
/etc/grub.d/
/etc/resolv.conf
/etc/netplan/
/etc/network/
/etc/networkd-dispatcher/
/etc/networks
/etc/systemd/network/50-default.network
/etc/systemd/network/pub.network
/etc/resolvconf/resolv.conf.d/original
/etc/resolvconf/resolv.conf.d/tail
/etc/nsswitch.conf
/etc/NetworkManager/*
/etc/networkd-dispatcher/*
/etc/dbus-1/*
/etc/udev/*
/etc/modules
/etc/modules-load.d/modules.conf
/etc/modprobe.d/*
/etc/modules-load.d/modules.conf
/etc/modules
/etc/depmod.d/*
/etc/mke2fs.conf
/etc/fwupd/*
/etc/hdparm.conf
/etc/initramfs-tools/*
/etc/iproute2/*
/etc/issue
/etc/iscsi/*
/etc/kernel/*
/etc/kernel-img.conf
/etc/polkit-1/*
/etc/PackageKit/*
/etc/udisks2/*

相关内容