将Linux主机复制到新硬件

我需要主机托pipe从旧硬件到新硬件的迁移。 具体而言,从HP BL460G7到HP BL460G8。 旧的和新的服务器都有2个600GB的2.5英寸硬盘,configuration为RAID1,每台服务器可以承受30分钟的停机时间。

有四台服务器要迁移,最小的逻辑卷总共分配了120GB,最大的分配了510GB。 三台服务器运行RHEL5,一台运行RHEL6。

我一直在琢磨如何在给定的时间内完成这个任务,而不会破坏操作系统和关键数据。

我唯一的想法是这样的:

  • 从旧服务器中删除一个驱动器(服务器已打开)
  • 从新服务器中删除两个驱动器(服务器已closures)
  • 从球童中取出G7驱动器并放在一边
  • 将G8驱动从机箱中取出安装到G7机箱中
  • 将G8驱动器安装到旧服务器中
  • 等待RAID控制器重buildRAID1arrays
  • 当完成closures旧服务器
  • 在G7球童中移除G8驱动
  • 将G8驱动器安装在G8驱动器中并插入G8(安装单驱动器)
  • 启动G8服务器
  • 等待操作系统启动
  • 当操作系统启动插入剩余的驱动器
  • 等待RAIDarrays重build

这听起来是否理智?

编辑:RHEL5是RHEL5.10和RHEL6是RHEL6.6

我还应该注意到,其中两个系统是热点四节点集群的一部分,它几乎不断复制应用“事件”(它是关键基础设施系统的一部分)。 我们有备份,但是我们只在整个系统出现故障时才使用。

以前的testing显示,系统之间的最大“dd”大约为50MBps,这太慢了。

编辑:我将要依靠葛铎来拾取和处理硬件的变化。

    应该指出的是,根据分布情况,可能还需要其他步骤。 最值得注意的是司机(感谢指出@ewwhite)。

    1. 从livecd / usb启动新的服务器。
    2. 在新驱动器上准备分区和引导块。
      • 根据设置,这可以通过复制MBR / bootblock来完成。
    3. 制作文件系统。
    4. 从旧的服务器做一个rsync到新的。
      • 您可能需要再次执行以查看后续rsync需要多长时间 – 如果低于30分钟,则继续。
      • 现在是时候了,如果新系统启动的话,你可以试试。 只要小心不要造成任何IP(或其他)的冲突。
    5. closures将写入文件系统的所有服务
      • 最好重新启动到livecd / usb
    6. 从旧服务器Rsync数据再次新
    7. 重新启动新服务器并使用它

    这样做,你仍然有原始的服务器完好无损,所以如果出了什么问题,有一个简单的办法。 但是它需要一些知识(grub / rsync /分区),所以我build议在做之前做一些准备工作和testing。

    两件事情:

    • 我会build立一个新的和rsync的数据。
    • 您的停机时间分配/窗口似乎太短。 30分钟可以在特定的情况下工作,但是不应该根据实际完成工作来决定实际的停机时间要求吗?

    根据每台服务器中包含的数据,数据stream失量以及您的供应scheme,将新的Gen8 ProLiant所需的操作系统安装到设备和其他数据部分同步,数据。

    也许做一个种子副本,并从后续的rsyncs中获取文件更改所需的时间量中获取停机时间要求。 如果你需要加快传输过程或者有很多小文件,那么有一些技巧可以帮到你 。

    我经常做这些types的转换。 使用类似的Linux安装,您很less需要比精确的软件包列表(可通过Yum或RPM轻松获取),configuration目录(例如/etc )和数据分区。 如果您还没有kickstartconfiguration系统,则可以利用/root/anaconda-ks.cfg文件了解G7系统的构build方式。

    要回答你关于简单移动磁盘的问题,根据你提到的特定的RHEL版本,这是完全可能的。 您可以移动磁盘/磁带盒,并且可能在系统中的P410和P420控制器之间的HP Smart Array元数据兼容。 但是,如果没有全面更新新系统中的驱动器和组件的固件,我不会这样做。

    如果您以前的操作系统版本能够处理新的硬件(主要是RAID控制器),您可以试试CloneZilla 。

    为了检查是否可以从一个硬件移动到另一个硬件,您可以将所有数据从旧服务器传递到新服务器,并使用dd做一些技巧。

    用SystemRescueCD这样的发行版启动新服务器,configuration一个IP地址和一个像这样的dd命令:

     nc -l 8000 | dd of=/dev/sda 

    在当前服务器上执行

     dd if=/dev/sda | nc ${newserverip} 8000 

    这会将服务器的/ dev / sda的原始副本复制到新的服务器/ dev / sda中。 这样,您可以在原始服务器上执行无需停机的testing,并且几乎可以承担零风险。

    项目经理拒绝了我的更大的停电窗口的要求。

    问题中概述的build议程序在testing中运作良好。 停机时间不到20分钟。 我用hpacucli工具来监视G7和Gen8上的进度,对此非常有用。

    我还没有做到这一点愤怒,但如前所述,这已经很好地在BL460G7到BL460 Gen8上testingRHEL 5.10。

    我没有更新固件。

    G7中的初始RAID1重新同步需要一个多小时。 Gen8的重新同步时间不到50分钟。 这关注我,但我一直没能find任何问题。

    再次感谢所有有用的意见和build议。