4.5. 将物理机添加为裸机节点
使用以下方法之一注册裸机节点:
- 准备包含节点详情的清单文件,将该文件导入到裸机置备服务,并使节点可用。
-
将物理计算机注册为裸机节点,然后手动添加其硬件详细信息并为每个以太网 MAC 地址创建端口。您可以在具有
overcloudrc
文件的任何节点上执行这些步骤。
4.5.1. 使用清单文件注册裸机节点 复制链接链接已复制到粘贴板!
使用节点详情准备清单文件,将该文件导入到裸机置备服务(ironic)中,并使节点可用。
前提条件
- 包括裸机置备服务的 overcloud 部署。有关更多信息,请参阅使用 裸机置备服务部署 overcloud。
流程
创建包含节点详情的清单文件
overcloud-nodes.yaml
。您可以使用一个文件注册多个节点。Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
将
<ipmi_ip
> 替换为裸机控制器的地址。 -
将 &
lt;user&
gt; 替换为您的用户名。 -
将 &
lt;password&
gt; 替换为您的密码。 -
可选:将
<property>: <value
> 替换为您要配置的 IPMI 属性以及属性值。有关可用属性的详情,请参考 智能平台管理接口(IPMI)电源管理驱动程序。 -
将
<cpu_count
> 替换为 CPU 数量。 -
将
<cpu_arch
> 替换为 CPU 的架构类型。 -
将
<memory
> 替换为 MiB 中的内存量。 -
将
<root_disk
> 替换为 GiB 中根磁盘的大小。只有当机器有多个磁盘时才需要。 -
将
<
;serial> 替换为您要用于部署的磁盘的序列号。 -
将
<mac_address
> 替换为用于 PXE 引导的 NIC 的 MAC 地址。 - --driver-info <property>=<value>
-
将
获取
overcloudrc
文件:source ~/overcloudrc
$ source ~/overcloudrc
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 将清单文件导入到裸机置备服务中:
openstack baremetal create overcloud-nodes.yaml
$ openstack baremetal create overcloud-nodes.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 节点现在处于
注册
状态。指定部署内核和在每个节点上部署 ramdisk:
openstack baremetal node set <node> \ --driver-info deploy_kernel=<kernel_file> \ --driver-info deploy_ramdisk=<initramfs_file>
$ openstack baremetal node set <node> \ --driver-info deploy_kernel=<kernel_file> \ --driver-info deploy_ramdisk=<initramfs_file>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
将
<node>
替换为节点的名称或 ID。 -
将
<kernel_file
> 替换为.kernel
镜像的路径,例如file:///var/lib/ironic/httpboot/agent.kernel
。 -
将
<initramfs_file
> 替换为.initramfs
镜像的路径,如file:///var/lib/ironic/httpboot/agent.ramdisk
。
-
将
可选:为每个节点指定 IPMI 密码套件:
openstack baremetal node set <node> \ --driver-info ipmi_cipher_suite=<version>
$ openstack baremetal node set <node> \ --driver-info ipmi_cipher_suite=<version>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
将
<node>
替换为节点的名称或 ID。 将
<version
> 替换为节点上要使用的密码套件版本。设置为以下有效值之一:-
3
- 节点使用带有 SHA1 密码套件的 AES-128。 -
17
- 节点使用带有 SHA256 密码套件的 AES-128。
-
-
将
将节点的置备状态设置为
available
:openstack baremetal node manage <node> openstack baremetal node provide <node>
$ openstack baremetal node manage <node> $ openstack baremetal node provide <node>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 如果启用了的节点清理,Bare Metal Provisioning 服务会清理节点。
在节点上设置本地引导选项:
openstack baremetal node set <node> --property capabilities="boot_option:local"
$ openstack baremetal node set <node> --property capabilities="boot_option:local"
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 检查节点是否已注册:
openstack baremetal node list
$ openstack baremetal node list
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注册节点及其状态之间可能会有延迟。
4.5.2. 手动注册裸机节点 复制链接链接已复制到粘贴板!
将物理计算机注册为裸机节点,然后手动添加其硬件详细信息并为每个以太网 MAC 地址创建端口。您可以在具有 overcloudrc
文件的任何节点上执行这些步骤。
前提条件
- 包括裸机置备服务的 overcloud 部署。有关更多信息,请参阅使用 裸机置备服务部署 overcloud。
-
必须使用
IronicEnabledHardwareTypes
参数启用新节点的驱动程序。有关支持的驱动程序的更多信息,请参阅 裸机驱动程序。
流程
-
以
stack
用户身份登录 undercloud 主机。 提供 overcloud 凭证文件:
source ~/overcloudrc
(undercloud)$ source ~/overcloudrc
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 添加新节点:
openstack baremetal node create --driver <driver_name> --name <node_name>
$ openstack baremetal node create --driver <driver_name> --name <node_name>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
将
<driver_name
> 替换为驱动程序的名称,如ipmi
。 -
将
<node_name
> 替换为新裸机节点的名称。
-
将
- 请注意在创建节点时分配给节点的 UUID。
为每个注册的节点将引导选项设置为
local
:openstack baremetal node set \ --property capabilities="boot_option:local" <node>
$ openstack baremetal node set \ --property capabilities="boot_option:local" <node>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 将
<node>
替换为裸机节点的 UUID。为节点驱动程序指定部署内核和部署 ramdisk:
openstack baremetal node set <node> \ --driver-info deploy_kernel=<kernel_file> \ --driver-info deploy_ramdisk=<initramfs_file>
$ openstack baremetal node set <node> \ --driver-info deploy_kernel=<kernel_file> \ --driver-info deploy_ramdisk=<initramfs_file>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
将
<node>
替换为裸机节点的 ID。 -
将
<kernel_file
> 替换为.kernel
镜像的路径,例如file:///var/lib/ironic/httpboot/agent.kernel
。 -
将
<initramfs_file
> 替换为.initramfs
镜像的路径,如file:///var/lib/ironic/httpboot/agent.ramdisk
。
-
将
更新节点属性以匹配节点上的硬件规格:
openstack baremetal node set <node> \ --property cpus=<cpu> \ --property memory_mb=<ram> \ --property local_gb=<disk> \ --property cpu_arch=<arch>
$ openstack baremetal node set <node> \ --property cpus=<cpu> \ --property memory_mb=<ram> \ --property local_gb=<disk> \ --property cpu_arch=<arch>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
将
<node>
替换为裸机节点的 ID。 -
将
<cpu
> 替换为 CPU 数量。 -
将 &
lt;ram&
gt; 替换为 RAM (以 MB 为单位)。 -
将
<disk>
替换为磁盘大小(以 GB 为单位)。 -
将 &
lt;arch&
gt; 替换为 architecture 类型。
-
将
可选:为每个节点指定 IPMI 密码套件:
openstack baremetal node set <node> \ --driver-info ipmi_cipher_suite=<version>
$ openstack baremetal node set <node> \ --driver-info ipmi_cipher_suite=<version>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
将
<node>
替换为裸机节点的 ID。 将
<version
> 替换为节点上要使用的密码套件版本。设置为以下有效值之一:-
3
- 节点使用带有 SHA1 密码套件的 AES-128。 -
17
- 节点使用带有 SHA256 密码套件的 AES-128。
-
-
将
可选:指定每个节点的 IPMI 详情:
openstack baremetal node set <node> \ --driver-info <property>=<value>
$ openstack baremetal node set <node> \ --driver-info <property>=<value>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
将
<node>
替换为裸机节点的 ID。 -
将
<property
> 替换为您要配置的 IPMI 属性。有关可用属性的详情,请参考 智能平台管理接口(IPMI)电源管理驱动程序。 -
将
<value
> 替换为属性值。
-
将
可选:如果您有多个磁盘,请设置根设备提示来通知部署 ramdisk 哪个磁盘用于部署:
openstack baremetal node set <node> \ --property root_device='{"<property>": "<value>"}'
$ openstack baremetal node set <node> \ --property root_device='{"<property>": "<value>"}'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
将
<node>
替换为裸机节点的 ID。 将
<property
> 和 <value
> 替换为您要用于部署的磁盘详情,如root_device='{"size": "128"}'
RHOSP 支持以下属性:
-
model
(字符串):设备识别码。 -
vendor
(字符串):设备厂商。 -
serial
(字符串):磁盘序列号。 -
hctl
(字符串):SCSI 的 Host:Channel:Target:Lun。 -
size
(整数):设备的大小(以 GB 为单位)。 -
wwn
(字符串):唯一的存储 ID。 -
wwn_with_extension
(字符串):唯一存储 ID 附加厂商扩展名。 -
wwn_vendor_extension
(字符串):唯一厂商存储标识符。 -
rotational
(布尔值):旋转磁盘设备为 true (HDD),否则为 false (SSD)。 name
(字符串):设备名称,例如: /dev/sdb1 仅对具有持久名称的设备使用此属性。注意如果您指定多个属性,该设备必须与所有这些属性匹配。
-
-
将
通过在 provisioning 网络中创建带有 NIC 的 MAC 地址的端口来通知节点网卡的裸机置备服务:
openstack baremetal port create --node <node_uuid> <mac_address>
$ openstack baremetal port create --node <node_uuid> <mac_address>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
将
<node>
替换为裸机节点的唯一 ID。 -
将
<mac_address
> 替换为用于 PXE 引导的 NIC 的 MAC 地址。
-
将
验证节点的配置:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 验证输出
Result
表示以下内容:-
false
:接口验证失败。如果提供的原因缺少instance_info
参数[\'ramdisk'、\'kernel' 和 \'image_source']
,这可能是因为计算服务在部署进程开始时填充缺少的参数,因此此时尚未设置它们。如果您使用整个磁盘镜像,则可能需要设置image_source
来传递验证。 -
true
:接口已通过验证。 -
None
: 接口不支持您的驱动。
-
4.5.3. 裸机节点置备状态 复制链接链接已复制到粘贴板!
裸机节点在其生命周期内会经历几个置备状态。在节点上执行的 API 请求和编排器事件启动转换。置备状态有两个类别: "stable" 和 "in transition"。
使用下表了解节点的调配状态,以及可用于将节点从一个置备状态转换到另一个调配状态的操作。
状态 | 类别 | 描述 |
---|---|---|
| 稳定 | 每个节点的初始状态。有关注册节点的详情,请参考 将物理机添加为裸机节点。 |
| 过渡过程中 |
Bare Metal Provisioning 服务使用节点注册过程中提供的 |
| 稳定 |
当裸机置备服务验证它可以管理该节点时,该节点会过渡到 manageable 状态。您可以使用以下命令将节点从
在将节点转换为以下失败状态之一后,您必须将节点移到
当您需要更新节点时,将节点移到 |
| 过渡过程中 |
裸机置备服务使用节点内省来更新硬件派生的节点属性,以反映硬件的当前状态。节点过渡到 |
| 过渡过程中 |
指示异步检查正在进行的调配状态。如果节点检查成功,节点将过渡到 |
| 稳定 |
表示节点检查失败的置备状态。您可以使用以下命令将节点从 check
|
| 过渡过程中 |
处于
|
| 过渡过程中 |
处于
您可以通过运行 |
| 稳定 |
成功预配置和清理节点后,它们会被移到
|
| 过渡过程中 |
处于
|
| 过渡过程中 |
处于
您可以通过运行 |
| 稳定 |
表示节点部署失败的置备状态。您可以使用以下命令将节点从
|
| 稳定 |
处于
|
| 过渡过程中 |
当节点处于 delete 状态时,Bare Metal Provisioning 服务会删除活动的工作负载,并在节点部署或救援期间 |
| 稳定 |
如果节点删除失败,节点将移到
|
| 过渡过程中 |
您可以使用 |
| 过渡过程中 |
处于
|
| 过渡过程中 |
处于
您可以通过运行 |
| 稳定 |
表示节点救援的置备状态。您可以使用以下命令将节点从
|
| 稳定 |
处于
|
| 过渡过程中 |
处于 |
| 稳定 |
表示节点 unrescue 操作失败的置备状态。您可以使用以下命令将节点从
|