通过 IPMI 使用 Ansible 安装映像?

通过 IPMI 使用 Ansible 安装映像?

有没有办法通过 VPN 上的带内 IPMI 使用 Ansible 从头开始​​安装映像并配置裸机 SuperMicro IPMI 服务器?

我想看看是否可以自动化该过程的安装部分,因此我需要做的就是将 IP 添加到 Ansible 清单并运行剧本以使用 Packer 映像启动并运行裸机服务器。

答案1

Supermicro 服务器通常允许您通过 IPMI 网络界面将虚拟媒体连接到它们,但也可以通过 Supermicro 提供的名为“smcipmitool”的 CLI 工具连接到它们。

smcipmitool 是基于 Java 的,使用起来有点麻烦,因为它涵盖了多代和多类型的硬件,但它应该包括对安装虚拟媒体的支持。

您应该能够从这里自动化裸机部署,例如通过完全自动化安装(例如将自定义的 kickstart 文件刻录到您的 ISO 中)。

还可以设置 IPMI 控制器以显示 LAN 串行端口 (SOL),通常为 ttyS1。如果所有设置正确,您可以使用 ipmitool 和 sol 接口以及 expect 脚本来处理您可能需要执行的几乎所有无法通过 kickstart 安装完成的操作。

答案2

使用 IPMI 安装映像的唯一 IPMI 供应商中立方法是使用 PICMG HPM.1 规范。它定义了用于传输和验证映像的 IPMI 消息。HPM.1 映像可以由 255 个部分的序列组成,每个部分都是 ARM、Java、x86、FPGA 代码或接收器硬件定义的任何其他内容的任意组合。

IPMItool 已经支持 HPM.1 4 年多了。缺点是对于共享 IPMB 总线的刀片系统来说速度较慢。使用径向 IPMB 总线时速度更快。为了使其速度提高一个数量级,20 分钟 vs 2 分钟,请确保供应商支持 HPM.2。

SuperMicro 使用许多 IPMI 供应商,您可能必须直接从该供应商处订购 IPMI BMC 硬件/软件。

答案3

您可以使用 smcipmitool 来安装 iso。但是,在安装 iso 之前,您必须输入“smcipmitool shell”。如果您通过将 ks.cfg 文件添加到根 iso 树并更新 boot.cfg 以引导到它来准备 kickstart iso,则可以进行完全自动化安装。Supermicro 并未使 smcipmitool 具有很好的脚本化能力。

相关内容