5.4. 为节点定义 Root Disk
以下节点可能会使用多个磁盘。这意味着,director 需要可以区分在 provisioning 时被用作 root 磁盘的的磁盘。以下的几个属性可以被用来帮助 director 区分 root 磁盘:
model(字符串):设备 ID。vendor(字符串):设备厂商。serial(字符串):磁盘序列号。wwn(字符串):唯一的存储 ID。hctl(字符串):SCSI 的 Host:Channel:Target:Lun。size(整数):设备的大小(以 GB 为单位)。
在这个示例中,使用磁盘的序列号来指定 root 设备来部署 Overcloud 镜像。
首先,找到每个节点的 root 设备的序列号。为每个节点运行
ironic node-show 命令,从 extra 项中找到块设备。例如,使用以下命令列出所有节点以及它们的块设备:
for uuid in `ironic node-list | awk '{print $2}'`; do echo "Node ID: $uuid"; ironic node-show $uuid | grep 'properties\|extra ' -A3; done
$ for uuid in `ironic node-list | awk '{print $2}'`; do echo "Node ID: $uuid"; ironic node-show $uuid | grep 'properties\|extra ' -A3; done
在这个示例的输出中,一个 Controller 节点会包括以下磁盘:
这里显示了一系列以
block_devices 参数标识的块设备,以及每个设备的序列号。root_device 当前的序列号被设置为 100000005。在这个示例中,把序列号为 100000000 的磁盘设置为 root 设备。这需要对 root_device 磁盘进行修改:
ironic node-update 1a4e30da-b6dc-499d-ba87-0bd8a3819bc0 add properties/root_device='{"serial": "100000000"}'
$ ironic node-update 1a4e30da-b6dc-499d-ba87-0bd8a3819bc0 add properties/root_device='{"serial": "100000000"}'
这将帮助 director 区分特定的磁盘来作为 root 磁盘。当开始创建 Overcloud 时,director 会部署这个节点,把 Overcloud 镜像写入到这个磁盘。