Rescue Mode¶
概述¶
Bare Metal 服务支持使用支持救援接口的硬件类型将节点置于救援模式。使用 PXE/虚拟媒体 基于启动接口的 ironic-python-agent 的硬件类型,在适当配置的情况下可以支持救援操作。
注意
目前,仅当租户网络使用 DHCP 获取 IP 地址时,才支持救援操作。
救援操作可用于将节点启动到救援 ramdisk,以便 rescue 用户可以访问该节点,以便在无法访问操作系统的情况下提供访问该节点的能力。例如,如果需要执行手动密码重置或数据恢复以应对某些故障,可以使用救援操作。
配置 Bare Metal 服务¶
适当配置 Bare Metal 服务,以便该服务拥有启动 ramdisk 所需的信息,然后再由用户尝试启动救援操作。这在不同的部署环境中会有所不同,但以下概述了如何执行此操作的示例
创建并配置支持救援操作的 ramdisk。请参阅 构建或下载部署 ramdisk 镜像,以获取有关构建 ramdisk 的详细说明。
在 neutron 中配置一个用于将节点启动到救援 ramdisk 的网络,并记下该网络的 UUID 或名称。如果使用 neutron DHCP 提供程序并且 Bare Metal 服务正在管理 ramdisk 启动(默认情况),则这是必需的。这可以是与您的清理或租户网络相同的网络(对于扁平网络)。有关如何使用 Bare Metal 服务配置新网络的示例,请参阅 为裸机配置网络服务 文档。
将救援网络的唯一名称或 UUID 添加到
ironic.conf[neutron] rescuing_network=<RESCUE_UUID_OR_NAME>
注意
这可以通过 driver_info[‘rescuing_network’] 每节点设置
重新启动 ironic conductor 服务。
为基于 pxe 的启动接口或基于虚拟媒体的启动接口分别指定与节点驱动程序兼容的救援内核和 ramdisk 或救援 ISO。
基于 pxe 的启动接口示例
baremetal node set $NODE_UUID \ --driver-info rescue_ramdisk=$RESCUE_INITRD_UUID \ --driver-info rescue_kernel=$RESCUE_VMLINUZ_UUID
有关详细信息,请参阅 将镜像添加到镜像服务。如果您未使用镜像服务,则可以通过 href 提供镜像给 Bare Metal 服务。
此后,Bare Metal 服务应准备好进行 rescue 操作。通过尝试救援一个活动节点并使用 ssh 连接到实例来测试它,如下所示
baremetal node rescue $NODE_UUID \
--rescue-password <PASSWORD> --wait
ssh rescue@$INSTANCE_IP_ADDRESS
要将节点移回活动状态,在使用救援模式后可以使用 unrescue。在继续进行 unrescue 之前,请卸载任何手动挂载的文件系统。节点 unrescue 的操作如下所示
baremetal node unrescue $NODE_UUID
rescue 和 unrescue 操作也可以通过以下命令通过 Compute 服务触发
openstack server rescue --password <password> <server>
openstack server unrescue <server>