好吧,因为这被搁置,试图改写它,以更好地适应格式。
业务问题:作为我们自动安装裸机的安装过程的一部分,我们需要在系统configuration前做一些基本的前期工作。 这主要包括configuration硬件RAID和光照pipe理。 我们有大量的硬件 – 从HPDL170到刀片,到Dell R6和R8系列到FC630。
目前的stream程:目前,自动化stream程使用我们的一台Cobbler服务器注册系统,并为其分配一个维护configuration文件。 然后,PXE引导到RHEL6u5引导ISO并通过anaconda和kickstart运行一些脚本。 然后,它会与Cobbler服务器通信,并将configuration文件翻转到我们希望安装的实际操作系统configuration文件。 然后目标是通过IPMI告诉系统rePXE并重新引导,然后它将自己安装到给定的操作系统上。 最终安装操作系统可以是Linux或Windows,具体取决于客户。 这是部署新的裸机环境的一个更大的自动化过程的一部分。
但是,有这个问题。
将软件包放到anaconda的stage2映像中并不总是最简单的,特别是如果这些软件包有很多依赖关系的话。
Anaconda的%pre和%post环境对某些内核模块不能很好地工作。
在Anaconda的%pre中试图做RAID是有问题的,因为在pre中重新扫描总线通常会导致无序的磁盘布局。
我的想法是尝试使用livecdtypes的发行版来完成这些任务,比如Tiny Core或RancherOS和一个实用程序容器(很像Hanlon的作品)。 然而,像IPMI这样的工作并不总是最简单的,其中一些预configuration用于特定的任务,如Hanlon。 我们可能需要在将来继续扩展以包含更多的东西(如固件更新,BIOS设置等)。
有没有人做过类似的事情,你是怎么解决的?
在您的环境中使用特定的平台工具。
对于惠普,这将是hponcfg , hpssacli和惠普智能脚本工具包 。
您可以通过XMLconfiguration加载HP BIOS设置。
我会build议一些硬件检测…在我的最后一个环境,我们甚至有一个简单的过程,他们select供应商/服务器types的数据中心人员,并启动适当的环境准备。