配置裸金属实例的管理节点
在controller节点执行以下操作。
- 添加资源调度信息。
- 可通过资源类对不同规格的裸金属实例服务器进行管理。裸金属实例节点指定管理节点的资源类后,只有选择相匹配的实例类型flavors才可被调度。
1
openstack --os-baremetal-api-version 1.21 baremetal node set ${BM_NAME} --resource-class $CLASS_NAME
其中CLASS_NAME可自定义。
- 配置完成后,可通过命令进行查看:
1
openstack baremetal --os-baremetal-api-version 1.31 node show ${BM_NAME} --fields name resource_class
若需指定更高级的调度,可通过--property字段指定节点的capabilities属性,配合Compute服务中的ComputeCapabilitiesFilter进行使用。
1
openstack baremetal node set $NODE_UUID --property capabilities=key1:val1,key2:val2
- 可通过资源类对不同规格的裸金属实例服务器进行管理。裸金属实例节点指定管理节点的资源类后,只有选择相匹配的实例类型flavors才可被调度。
- 配置所匹配的硬件信息。
1
openstack baremetal node set ${BM_NAME} --property cpus=$CPU_COUNT --property memory_mb=$RAM_MB --property local_gb=$DISK_GB --property cpu_arch=$ARCH
其中x86服务器的cpu_arch为x86_64,arm服务器的cpu_arch为aarch64。
配置完成后,可通过命令查看:
1
openstack baremetal --os-baremetal-api-version 1.31 node show ${BM_NAME} --fields name properties
硬件信息也可通过硬件检查功能进行收集。
- 验证管理节点配置。
1
openstack baremetal --os-baremetal-api-version 1.11 node validate ${BM_NAME}
应确保management与power状态为True。
如果验证失败,应根据失败信息进行检查,部分配置失败是因为驱动未支持。
当Bare Metal服务与Compute服务配合使用时,管理节点中的instance_info中image相关配置无需用户主动配置,将在实例部署之前由Compute服务自动配置,因此可忽略部署deploy选项的错误。
- 使管理节点进入管理状态。
当3中management与power状态为True时,管理节点可使用如下命令进入管理状态:
1
openstack baremetal --os-baremetal-api-version 1.11 node manage ${BM_NAME}
可通过命令进行查看:
1
openstack baremetal --os-baremetal-api-version 1.31 node show ${BM_NAME} --fields name provision_state
- 可选:硬件检查收集硬件信息。
若已完成硬件检查驱动配置,可进行如下操作收集硬件信息:
- 开启inspector-dnsmasq服务。
1
systemctl start openstack-ironic-inspector-dnsmasq
- 启动检查。
1
openstack baremetal --os-baremetal-api-version 1.11 node inspect ${BM_NAME}
该命令为异步调用,并不会立即返回结果,可通过如下命令查看管理节点状态:
1
watch -d -n 1 "openstack baremetal node list"
所配置的管理节点Provisioning State变化为manageable -> inspecting wait -> manageable
- 完成检查后,可查看硬件信息。
1
openstack baremetal --os-baremetal-api-version 1.11 node show ${BM_NAME}
管理节点的properties中包含memory_mb、cpu_arch、local_gb、cpus等信息。
- 完成后停止inspector-dnsmasq服务。
1
systemctl stop openstack-ironic-inspector-dnsmasq
- 开启inspector-dnsmasq服务。
- 可选:配置控制台信息。
设置控制台接口。
1
openstack --os-baremetal-api-version 1.31 baremetal node set ${BM_NAME} --console-interface ipmitool-socat
设置控制台端口。
1
openstack baremetal node set ${BM_NAME} --driver-info ipmi_terminal_port=${port}
使能控制台。
1
openstack baremetal node console enable ${BM_NAME}
查看控制台信息。
1
openstack baremetal node console show ${BM_NAME}
- 使管理节点进入可用状态。
- 进行端口检查。
1
openstack baremetal --os-baremetal-api-version 1.31 port list --fields address pxe_enabled node_uuid
每个裸金属实例管理节点应至少有一个端口的pxe_enabled状态为true。
若端口pxe_enabled状态为false,则使用如下命令设置:
openstack baremetal --os-baremetal-api-version 1.31 port set ${port_uuid} --pxe-enable
- 使管理节点进入可用状态。
1
openstack baremetal --os-baremetal-api-version 1.11 node provide ${BM_NAME}
Bare Metal服务默认配置为自动清理,将会对节点进行格式化操作。
- 清理操作为异步调用,并不会立即返回结果,可通过如下命令查看管理节点状态。
1
watch -d -n 1 "openstack baremetal node list"
所配置的管理节点Provisioning State变化为
。 - 若管理节点长时间停留在clean wait状态,可使用如下命令停止清理状态。
1
openstack baremetal --os-baremetal-api-version 1.56 node abort ${BM_NAME}
管理节点Provisioning State将转变为clean fail,可使用如下命令重新进入管理状态。
1
openstack baremetal --os-baremetal-api-version 1.11 node manage ${BM_NAME}
管理节点长时间处于clean wait问题解决步骤:
- 若管理节点Maintenance状态为True,使用如下命令取消维修状态即可。
1
openstack baremetal node maintenance unset ${BM_NAME}
- 如果磁盘空间较大,执行抹盘时间较长,可选择在clean操作中关闭磁盘擦除,只清除磁盘metadata信息,在Bare Metal服务节点中修改配置文件/etc/ironic/ironic.conf如下。
1 2
[deploy] erase_devices_priority = 0
- 通过BMC等方式登陆裸金属实例节点,查看ironic-python-agent服务日志,定位具体原因。
- (不建议)关闭自动清理功能,在Bare Metal服务节点中修改配置文件/etc/ironic/ironic.conf如下:
1 2
[conductor] automated_clean = true
关闭自动清理功能后,可手动执行清理。
1
openstack baremetal --os-baremetal-api-version 1.15 node clean ${BM_NAME} --clean-steps '[{"interface": "deploy", "step": "erase_devices_metadata"}]'
- 进行端口检查。
- 使能nova节点检查。
1
nova-manage cell_v2 discover_hosts --by-service
可通过命令验证裸金属实例节点是否被nova发现。
1
nova hypervisor-list