好的,由于这个被搁置了,我尝试重新措辞以更好地适应格式。
业务问题:作为裸机自动安装过程的一部分,我们需要在系统配置之前对其进行一些基本的前期工作。这主要包括配置硬件 RAID 和与 Light's Out 管理进行通信。我们拥有各种各样的硬件 - 从 HPDL170 到刀片,再到 Dell R6 和 R8 系列,再到 FC630。
目前为止的流程:目前,自动化流程将系统注册到我们的 Cobbler 服务器之一并为其分配维护配置文件。然后,它通过 PXE 启动到 RHEL6u5 启动 iso 并通过 anaconda 和 kickstart 运行一些脚本。然后,它与 Cobbler 服务器通信并将配置文件翻转为我们希望安装的真实操作系统配置文件。然后,目标是通过 IPMI 告诉系统重新 PXE 并重新启动,然后它将使用给定的操作系统自行安装。最终安装的操作系统可以是 Linux 或 Windows,具体取决于客户。这都是部署新裸机环境的大型自动化流程的一部分。
但这其中也存在一些问题。
将包放入 anaconda 的 stage2 映像并不总是最容易的,特别是当这些包具有大量依赖项时。
Anaconda 的 %pre 和 %post 环境与某些内核模块不能很好地协同工作。
尝试在 Anaconda 的 %pre 期间执行 RAID 是有问题的,因为在 pre 期间重新扫描总线通常会导致磁盘布局无序。
我的想法是尝试使用 livecd 类型的发行版来执行这些任务,例如 Tiny Core 或 RancherOS 和实用程序容器(与 Hanlon 的工作方式非常相似)。但是,让 IPMI 等东西在这些发行版中工作并不总是最容易的,其中一些是针对特定任务预先配置的,例如 Hanlon。将来,我们可能需要继续扩展它以包含更多内容(例如固件更新、BIOS 设置等)。
有人做过类似的事情吗?你是如何解决的?
答案1
使用适合您环境中的平台的特定工具。
对于惠普来说,这将是hponcfg
,,hpssacli
并且HP 智能脚本工具包。
您可以通过 XML 配置加载 HP bios 设置。
我建议进行一些硬件检测...在我的上一个环境中,我们甚至为数据中心人员提供了一个简单的流程,他们可以选择供应商/服务器类型并启动适当的环境准备。