AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 692704
Accepted
user1174838
user1174838
Asked: 2015-05-19 02:02:14 +0800 CST2015-05-19 02:02:14 +0800 CST 2015-05-19 02:02:14 +0800 CST

将 Linux 主机复制到新硬件

  • 772

我需要做主机到主机从旧硬件到新硬件的迁移。具体来说,从 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 来拾取和处理硬件更改。

linux
  • 4 4 个回答
  • 2456 Views

4 个回答

  • Voted
  1. Fox
    2015-05-19T02:31:35+08:002015-05-19T02:31:35+08:00

    应该注意的是,可能还需要其他步骤,具体取决于分布。最值得注意的是驱动程序(感谢@ewwhite 指出这一点)。

    1. 从 livecd/usb 启动新服务器。
    2. 在新驱动器上准备分区和引导块。
      • 根据设置,这可以通过复制 MBR/bootblock 来完成。
    3. 制作文件系统。
    4. 从旧服务器到新服务器进行 rsync。
      • 您可能想再次执行此操作以查看后续 rsync 需要多长时间 - 如果不到 30 分钟,请继续。
      • 现在是时候,如果新系统启动,您实际上可以尝试。请注意不要引起任何 IP(或其他)冲突。
    5. 关闭所有将写入文件系统的服务
      • 最好重启到 livecd/usb
    6. 将旧服务器中的数据重新同步到新服务器
    7. 重新启动新服务器并使用它

    这样做,您仍然拥有完整的原始服务器,因此如果出现任何问题,有一个简单的方法可以返回。但它需要一些知识(grub/rsync/partitions),所以我建议在上线之前提前做一些准备工作和测试。

    • 18
  2. ewwhite
    2015-05-19T05:50:59+08:002015-05-19T05:50:59+08:00

    两件事情:

    • 我会重新构建和 rsync 数据。
    • 您的停机时间分配/窗口似乎太短了。30 分钟可以在特定情况下工作,但您不应该根据实际完成工作所需的时间来规定实际的停机时间要求吗?

    根据每台服务器中包含的数据、数据流失量和您的配置方案,将必要的操作系统安装到新的 Gen8 ProLiant 上并在您可以停顿的位置同步设置和其他数据部分可能是有意义的数据。

    也许制作一个种子副本,并根据在后续 rsync 上获取文件更改所需的时间得出您的停机时间要求。如果您需要加快传输过程或有大量小文件,有一些技术可以帮助您。

    我经常做这些类型的转换。对于类似的 Linux 安装,您很少需要准确的软件包列表(通过 Yum 或 RPM 很容易获得)、配置目录(例如/etc)和数据分区。如果您还没有 kickstart 配置系统,您可以利用该/root/anaconda-ks.cfg文件来了解 G7 系统是如何构建的。

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

    • 6
  3. alphamikevictor
    2015-05-19T03:20:30+08:002015-05-19T03:20:30+08:00

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

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

    使用像SystemRescueCD这样的实时发行版启动新服务器,使用 IP 地址和 dd 命令进行配置,如下所示:

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

    在当前服务器上执行

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

    这会将您服务器的 /dev/sda 的原始副本复制到新服务器 /dev/sda。通过这种方式,您可以在不停机的情况下在原始服务器上执行测试,并且风险几乎为零。

    • 1
  4. Best Answer
    user1174838
    2015-06-09T16:42:26+08:002015-06-09T16:42:26+08:00

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

    问题中概述的建议程序在测试中效果很好。停机时间不到 20 分钟。我使用 hpacucli 实用程序来监控 G7 和 Gen8 的进度,它对此非常有用。

    我还没有愤怒地这样做,但如前所述,这在 BL460G7 到 BL460 Gen8 上的 RHEL 5.10 测试中效果很好。

    我没有更新固件。

    G7 中的初始 RAID1 重新同步花费了一个多小时。Gen8 中的重新同步耗时不到 50 分钟。这让我很担心,但我没有发现任何问题。

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

    • 0

相关问题

  • Linux 主机到主机迁移

  • 如何在 Linux 机器上找到有关硬件的详细信息?

  • 如何在 Linux 下监控每个进程的网络 I/O 使用情况?

  • 在 RHEL4 上修改 CUPS 中的现有打印机设置

  • 为本地网络中的名称解析添加自定义 dns 条目

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve