发放裸金属实例
裸金属实例管理操作与虚拟机一致,若使用UI界面操作可参考虚拟机实例发放流程。在controller节点执行以下操作。
- 创建实例类型flavor。
1
openstack flavor create --ram $RAM_MB --vcpus $CPU --disk $DISK_GB ${flavor_name}
其中flavor_name可自定义。
并根据需求设置flavor属性。
1 2 3 4
openstack flavor set --property resources:CUSTOM_${CLASS_NAME}=1 $flavorName openstack flavor set --property resources:VCPU=0 $flavorName openstack flavor set --property resources:MEMORY_MB=0 $flavorName openstack flavor set --property resources:DISK_GB=0 $flavorName
flavor中custom resource class应与裸金属实例管理资源类型相关联,关联规则如下:
- 以“CUSTOM_”开头。
- 裸金属实例管理资源类型改为大写。
- 所有标点符号都替换为下划线。
如资源类名为baremetal-small,则对应为CUSTOM_BAREMETAL_SMALL。
- 裸金属实例管理节点状态检查。
- 裸金属实例管理节点供应状态应为available,同时关闭维修状态,可利用如下命令检查管理节点是否满足要求。
1
openstack baremetal node list --provision-state available --no-maintenance
- 确保已运行并启用了Compute服务。
1
openstack compute service list --service nova-compute
- 检查管理节点资源属性已设置。
1
openstack --os-baremetal-api-version 1.21 baremetal node list --fields uuid name resource_class
- 检查管理节点properties属性。
1
openstack baremetal node show $BM_NAME --fields properties
应至少包含memory_mb、cpu_arch、local_gb、cpus等信息。
检查所创建的实例类型flavor属性。
应与裸金属实例管理节点相对应,显示格式上会存在差异。
- 裸金属实例管理节点供应状态应为available,同时关闭维修状态,可利用如下命令检查管理节点是否满足要求。
- 创建用户数据文件,初始化配置裸金属实例。以下为示例,主要内容为启动root登录和配置root密码。
- 创建cloud-init用户数据文件“/opt/cloud-init-user-data.txt”。
vi /opt/cloud-init-user-data.txt
- 按“i”进入编辑模式,将如下内容添加到文件中。
1 2 3 4 5 6 7 8 9 10 11 12
#cloud-config users: - name: root chpasswd: list: | root:PASSWORD expire: False ssh_pwauth: true disable_root: false runcmd: - [ systemctl, restart, network ]
- 按“Esc”键,输入:wq!,按“Enter”保存并退出编辑。
- 创建cloud-init用户数据文件“/opt/cloud-init-user-data.txt”。
- 创建实例。
1
nova boot --config-drive true --flavor ${flavor_name} --image ${image_uuid} ${instance_name} --nic net-id=${network_uuid} --user-data /opt/cloud-init-user-data.txt
其中instance_name可自定义。
此处所使用的用户镜像为1中所述镜像,用户镜像的体系架构应与实际物理服务器相匹配,可通过命令openstack image list获取镜像UUID。此处所使用的网络为创建Provisioning Network中所创建的网络,可通过命令openstack network list获取网络UUID。
- 清理操作为异步调用,并不会立即返回结果,可通过如下命令查看管理节点状态。
1
watch -d -n 1 "openstack baremetal node list"
所配置的管理节点Provisioning State变化为
。 - 部署成功后,可查看实例信息。
1
nova show ${instance_name}
其status应为ACTIVE。
- 查看裸金属实例管理节点信息。
1
openstack baremetal node list
裸金属实例管理节点Provisioning State为active,Instance UUID为所创建实例的UUID。
若nova返回“No valid host was found”错误,则需进行2所述的检查,还可查看nova-scheduler服务日志检查是否被过滤器过滤,若无发现,则需查看ironic-conductor服务日志进一步定位。
父主题: 验证裸金属服务