openstack-裸金属ironic整理-5

iSCSI Deploy UML

With iscsi deploy interface, the deploy ramdisk publishes the node’s hard drive as an iSCSI share. The ironic-conductor then copies the image to this share. This interface is used by default.

1
2
openstack baremetal node create --driver ipmi --deploy-interface iscsi
openstack baremetal node set <NODE> --deploy-interface iscsi

在这里插入图片描述

  1. 通过 Nova API 发起裸金属实例部署请求。
  2. Nova Scheduler 根据请求中的参数信息(e.g. 硬件模板、镜像等)筛选合适的 ironic node。例如:调度因子通常包含在 Flavor 的 extra_spec 属性中(e.g. cpu_arch、baremetal:deploy_kerner_id、baremmetal:deploy_ramdisk_id)。
  3. Nova Compute 将部署裸机所需要的信息都整理好,然后 Spawn 一个 Build 任务,主要是调用并传递参数到 Ironic API 实际执行,Ironic 将此任务中所需要的硬件资源信息持久化到数据库中。
  4. Ironic 与 OpenStack 的其他服务交互,从 Glance 服务获取 Images(Deploy Images & User Images),调用 Neutron 服务为裸机创建端口,调用 Cinder 服务获取Volumes 等。
  5. Ironic 开始执行真正的裸机部署,PXE Driver 准备好 TFTP 和 Bootloader,IPMI Driver 设置裸机启动模式为 PXE 并起电。
    裸机启电后,通过 DHCP 获得 Ironic Conductor 的地址并尝试通过 TFTP 从 Conductor 获取 Deploy Images,Conductor 部署好 RAMDisk 之后,IPA 就可以通过 iSCSI 协议将裸机的硬盘暴露出来,Conductor 随后注入 User Images 到裸机磁盘作为根磁盘。
    根磁盘部署完成后,IPMI Driver 调整裸机引导顺序,完成部署。

PXE Deploy Driver

在这里插入图片描述