我需要做主机到主机从旧硬件到新硬件的迁移。具体来说,从 HP BL460G7 到 HP BL460G8。新旧服务器都有 2 个 600GB 2.5" 驱动器并配置为 RAID1。我可以承受每台服务器 30 分钟的停机时间。
有四台服务器要迁移,最小的在逻辑卷中总共分配了 120GB,最大的分配了 510GB。三台服务器运行 RHEL5,一台运行 RHEL6。
我一直在绞尽脑汁思考如何在给定的时间范围内做到这一点,并且不破坏操作系统和关键数据。
我唯一的想法是:
- 从旧服务器上卸下一个驱动器(服务器已打开)
- 从新服务器上卸下两个驱动器(服务器已关闭)
- 从球童中取出 G7 驱动器并放在一边
- 从球童中取出 G8 驱动器并安装到 G7 球童中
- 将 G7 盒中的 G8 驱动器安装到旧服务器中
- 等待 RAID 控制器重建 RAID1 阵列
- 完成关闭旧服务器后
- 移除 G7 球童中的 G8 驱动器
- 在 G8 caddy 中安装 G8 驱动器并插入 G8(已安装单个驱动器)
- 启动 G8 服务器
- 等待操作系统启动
- 当操作系统启动时插入剩余的驱动器
- 等待 RAID 阵列重建
这听起来合理吗?
编辑:RHEL5 是 RHEL5.10,RHEL6 是 RHEL6.6
我还应该注意到,其中两个系统是热四节点集群的一部分,该集群几乎不断复制应用程序“事件”(它是关键基础设施系统的一部分)。我们有备份,但我们只在系统完全故障的情况下使用。
先前的测试显示系统之间的最大“dd”大约为 50MBps,这太慢了。
编辑:我打算依靠 kudzu 来拾取和处理硬件更改。
应该注意的是,可能还需要其他步骤,具体取决于分布。最值得注意的是驱动程序(感谢@ewwhite 指出这一点)。
这样做,您仍然拥有完整的原始服务器,因此如果出现任何问题,有一个简单的方法可以返回。但它需要一些知识(grub/rsync/partitions),所以我建议在上线之前提前做一些准备工作和测试。
两件事情:
根据每台服务器中包含的数据、数据流失量和您的配置方案,将必要的操作系统安装到新的 Gen8 ProLiant 上并在您可以停顿的位置同步设置和其他数据部分可能是有意义的数据。
也许制作一个种子副本,并根据在后续 rsync 上获取文件更改所需的时间得出您的停机时间要求。如果您需要加快传输过程或有大量小文件,有一些技术可以帮助您。
我经常做这些类型的转换。对于类似的 Linux 安装,您很少需要准确的软件包列表(通过 Yum 或 RPM 很容易获得)、配置目录(例如
/etc
)和数据分区。如果您还没有 kickstart 配置系统,您可以利用该/root/anaconda-ks.cfg
文件来了解 G7 系统是如何构建的。要根据您提到的特定 RHEL 版本回答您关于简单移动磁盘的问题,这绝对是可能的。您可以移动磁盘/盒,并且 HP Smart Array 元数据在您系统中的 P410 和 P420 控制器之间兼容。但是,如果不先完全更新新系统中的驱动器和组件的固件,我不会这样做。
如果您以前的操作系统版本能够处理新硬件(主要是 RAID 控制器),您可以尝试使用CloneZilla。
要检查是否可以从一个硬件移动到另一个硬件,您 cad 将所有数据从旧服务器传递到新服务器,并使用 dd 进行一些技巧。
使用像SystemRescueCD这样的实时发行版启动新服务器,使用 IP 地址和 dd 命令进行配置,如下所示:
在当前服务器上执行
这会将您服务器的 /dev/sda 的原始副本复制到新服务器 /dev/sda。通过这种方式,您可以在不停机的情况下在原始服务器上执行测试,并且风险几乎为零。
项目经理拒绝了我要求更大停电窗口的请求。
问题中概述的建议程序在测试中效果很好。停机时间不到 20 分钟。我使用 hpacucli 实用程序来监控 G7 和 Gen8 的进度,它对此非常有用。
我还没有愤怒地这样做,但如前所述,这在 BL460G7 到 BL460 Gen8 上的 RHEL 5.10 测试中效果很好。
我没有更新固件。
G7 中的初始 RAID1 重新同步花费了一个多小时。Gen8 中的重新同步耗时不到 50 分钟。这让我很担心,但我没有发现任何问题。
再次感谢所有有用的意见和建议。