将 Linux 系统从 sdx 克隆到 cciss

将 Linux 系统从 sdx 克隆到 cciss

我有一台运行 CentOS Linux 5.5 的 HP ML 310 服务器。我正在购买 RAID 卡 (LSI 9260-8i) 来设置镜像 OS 驱动器。目前,启动驱动器设置为在 /dev/sda 的 MBR 上安装 GRUB,/dev/sda1 有一个 100MB 的 /boot 分区,其余部分在 LVM 中配置为 20GB,其中 20GB VG 用于根分区,~80GB VG 用于主分区。新磁盘大小也会略大一些。将启动驱动器克隆到新 C​​CISS 设备的最佳方法是什么?

答案1

我认为您应该更多地考虑完整的备份/重新安装/恢复周期。您可以使用 DD,但不同的磁盘大小对此没有帮助。

您还可以使用tar或任何其他工具来获取文件系统的完整转储,重新分区新磁盘并将所有内容解压到正确的位置。您甚至可以使用以下方法通过网络和 livecd/usb 映像执行此操作nc

接收备份的机器(/target安装新磁盘分区的地方):

$ nc -l -p <port> | tar zxvf - -C /target/

备份所在的机器:

$ cat backup.tar.gz | nc <server ip> <port>

答案2

我经常这样做:

  1. 在新驱动器上创建分区,“克隆”分区布局。分区不必大小相同、相等或更大。

  2. 将一个磁盘上的整个分区 rsync 到新磁盘(rsync -avx --exclude=/proc --exclude=/sys --exclude=/dev --exclude=... ,“-x” 使得它不会超出文件系统边界)

  3. 如果分区布局发生变化,请调整 /etc/fstab

  4. 一些操作系统使用 /dev/disk/by-id/... 命名,这会在新设备上发生变化,因此需要调整 /etc/fstab、/boot/grub/menu.lst、或许是 /boot/grub/device.map、...

  5. 如果克隆到新系统,也必须调整 MAC 地址,但这里情况并非如此......

玩得开心。

答案3

由于您使用的是 LVM,因此使用 LVM 快照是个好主意。我不喜欢克隆 LVM 卷,因为 LVM 正常运行所必需的通用唯一元素不再是通用唯一的。您永远不知道您的系统将在多大程度上继续使用新旧硬件运行。我建议利用 LVM 的快照技术来处理除启动卷之外的所有内容。基本上,您有 VG_existing,并且您必须将您的 PV 添加到新组 VG_new,您将在此组下创建新的 LV,并使用与 VG_old 中的 LV 完全相同的名称。然后,您可以创建 VG_old 中每个卷的快照,并从每个快照执行“dd”到新组中同名的卷。这样,您的 LVM 配置就不会受到阻碍,并且您可以在系统处于活动状态时执行此操作,无需任何实际停机时间。您稍后需要调整 grub,一切就绪。

答案4

这里有一些很棒的答案,但我想发布我自己的答案来记录我所做的有效的事情。大部分内容都可以通过谷歌轻松找到,但有一个关键步骤让我工作到很晚。

安装新的未格式化的磁盘(系统中的旧磁盘和新磁盘)后,假设 /dev/sda 是旧磁盘,/dev/sdb 是新磁盘,sda 是启动设备。我从 CentOS DVD 启动到“linux rescue”执行了此操作:

  • 在新磁盘上创建与旧磁盘类似的分区布局(冒号表示 fdisk 中的命令):
    • fdisk /dev/sdb
    • n; p; 1; ; 13; a; 1 (100M 启动分区)
    • n;p;2;;;t;2;8e(磁盘剩余部分的 LVM 分区)
    • 瓦;
  • lvm pvcreate /dev/sdb2
  • lvm vgextend vg1 /dev/sdb2(将 vg1 替换为您的卷组名称)
  • lvm pvmove -v /dev/sda2 /dev/sdb2(这需要一段时间)
  • lvm vgreduce vg1 /dev/sda2 (从卷组中删除旧磁盘)
  • dd if=/dev/sda1 of=/dev/sda2 bs=1024 (克隆启动分区)
  • 关闭电源并拔下旧磁盘
  • 再次使用 linux rescue 启动 DVD
  • chroot /mnt/sysimage
  • grub-install /dev/sda (sda 现在是您的新磁盘)
  • /sbin/mkinitrd -f /boot/initrd- uname -r.img uname -r (用您最新的内核版本替换 uname -r。在命令中使用 uname -r 的反引号可能会起作用。)
  • 重新启动(重新启动到磁盘,而不是 DVD)

让我困惑的部分是 mkinitrd,这是必需的,因为系统磁盘位于新控制器后面,并且驱动程序未内置在以前的 initrd 映像中。如果没有它们,它将开始启动但找不到 LVM。

相关内容