本文介绍如何使用 Azure 运营商关系裸机计算机 (BMM) 上的重启、重置映像和更换操作来排查服务器问题。 出于维护方面的原因,可能需要在服务器上执行这些操作,这可能会导致特定 BMM 短暂中断工作。
完成上述每个操作所需的时间类似。 重启的速度最快,而更换需要稍长一些时间。 这三个操作都是用于故障排除的方法,均简单高效。
注意
如果不先咨询Microsoft支持人员,就不要对管理服务器执行任何作。 否则可能会影响运营商关系群集的完整性。
先决条件
- 请通过查看 BMM 操作,自行熟悉本文中引用的功能。
- 收集以下信息:
- BMM 的受管理资源组的名称
- 需要生命周期管理操作的 BMM 的名称
- 订阅编号
重要
如果任何 KCP 节点上已经正在进行其他中断操作,或者整个 KCP 不可用,将拒绝对 Kubernetes 控制平面(KCP)节点发出的中断性命令。
重启、重置映像和更换都被视为中断性操作。
此检查是为了维护 Nexus 实例的完整性,并确保多个 KCP 节点不会由于同时发生的中断性操作而立即关闭。 如果多个节点关闭,则会突破 Kubernetes 控制平面的正常仲裁阈值。
小窍门
在 版本 2509.1 及更高版本中,您可以在 Azure 门户中监视最近或正在进行的 BMM 操作。 有关详细信息,请参阅 裸机 JSON 属性中的“监视状态”。
确定纠正措施
排查 BMM 故障并确定最合适的纠正措施时,了解可用选项至关重要。 本文提供了一种系统的方法,使用以下三种方法排查 Azure 运营商 Nexus 服务器问题:
- 重启 - 最不侵入性的方法,最适合临时故障或无响应虚拟机(VM)s
- 重置映像 - 中间解决方案,在不影响数据的情况下将 OS 还原到已知良好状态
- 替换 - 应对硬件组件故障所需的最重要步骤
决策树故障排除
排查 BMM 问题时,请遵循此升级路径:
| 问题 | 第一个动作 | 如果问题仍然存在 | 如果仍未解决 |
|---|---|---|---|
| 无响应的 VM 或服务 | 重新启动 | Reimage | 将 |
| 软件/OS 损坏 | Reimage | 将 | 联系支持人员 |
| 已知硬件故障 | 将 | N/A | 联系支持人员 |
| 安全泄露 | Reimage | 将 | 联系支持人员 |
建议的方法是从最小侵入性解决方案(重启)开始,并在必要时才升级到更复杂的措施。 请始终验证问题是否在每次纠正作后都已解决。
使用重启操作进行故障排除
重启 BMM 是通过 API 调用轻松重启服务器的过程。 当主机上的租户 VM 不响应或者卡住时,此操作可用于排查问题。
要缓解问题,第一步通常是重启。
重启工作流
- 评估影响 - 确定重启 BMM 是否会影响关键工作负荷。
- 关机 - 如果需要,请关闭 BMM(可选)。
- 启动或重启 - 启动关机 BMM 或重启正在运行的 BMM。
- 验证状态 - 检查 BMM 是否重新联机并正常运行。
注释
重启作是最快的恢复方法,但可能无法解决与 OS 损坏或硬件故障相关的问题。
以下 Azure CLI 命令将 power-off 指定的 bareMetalMachineName:
az networkcloud baremetalmachine power-off \
--name <bareMetalMachineName> \
--resource-group "<resourceGroup>" \
--subscription <subscriptionID>
以下 Azure CLI 命令将 start 指定的 bareMetalMachineName:
az networkcloud baremetalmachine start \
--name <bareMetalMachineName> \
--resource-group "<resourceGroup>" \
--subscription <subscriptionID>
以下 Azure CLI 命令将 restart 指定的 bareMetalMachineName:
az networkcloud baremetalmachine restart \
--name <bareMetalMachineName> \
--resource-group "<resourceGroup>" \
--subscription <subscriptionID>
若要在重启后验证 BMM 状态,
az networkcloud baremetalmachine show \
--name <bareMetalMachineName> \
--resource-group "<resourceGroup>" \
--subscription <subscriptionID> \
--query "provisioningState"
使用重置映像操作进行故障排除
重置 BMM 映像是用于在 OS 磁盘上重新部署映像的过程,不会影响租户数据。 此操作通过执行一些步骤来使用相同的标识符重新加入群集。
通过将 OS 还原到已知的正常工作状态,重置映像操作对于故障排除很有帮助。 可通过重置映像解决的常见故障原因包括因对主机完整性的怀疑而导致的恢复、可疑或已确认的安全泄露或“破窗”(Break Glass) 写入活动。
重置映像操作是以最低操作风险确保 BMM 完整性的最佳做法。
重镜像工作流
- 验证正在运行的工作负荷 - 在重新映像之前,请检查 BMM 上运行的工作负载。
- 隔离并撤走工作负载 - 清空工作负载的 BMM。
- 执行重新映像 - 执行重新映像操作。
- 取消隔离 - 在重镜像完成后,再次使 BMM 可计划。
警告
同时运行多个baremetalmachine replace或reimage命令,或同时运行replace和reimage命令,会导致服务器进入非工作状态。 在开始另一个操作之前,请确保当前操作已完全完成。
若要确定 BMM 上当前是否有任何工作负荷正在运行,请运行以下命令:
对于虚拟机:
az networkcloud baremetalmachine show -n <nodeName> \
--resource-group <resourceGroup> \
--subscription <subscriptionID> | jq '.virtualMachinesAssociatedIds'
对于关系 Kubernetes 群集节点:(需要登录关系 Kubernetes 群集)
kubectl get nodes <resourceName> -ojson |jq '.metadata.labels."topology.kubernetes.io/baremetalmachine"'
以下 Azure CLI 命令将 cordon 指定的 bareMetalMachineName。
az networkcloud baremetalmachine cordon \
--evacuate "True" \
--name <bareMetalMachineName> \
--resource-group "<resourceGroup>" \
--subscription <subscriptionID>
以下 Azure CLI 命令将 reimage 指定的 bareMetalMachineName。
az networkcloud baremetalmachine reimage \
--name <bareMetalMachineName> \
--resource-group "<resourceGroup>" \
--subscription <subscriptionID>
以下 Azure CLI 命令将 uncordon 指定的 bareMetalMachineName。
az networkcloud baremetalmachine uncordon \
--name <bareMetalMachineName> \
--resource-group "<resourceGroup>" \
--subscription <subscriptionID>
使用更换操作进行故障排除
服务器包含许多可能随着时间的推移而出现故障的物理组件。 请务必了解哪些物理修复需要 BMM 更换,以及何时建议使用 BMM 更换。 只要 storage-policy="Preserve" 使用标志,租户数据就不会在替换期间修改。
调用硬件验证过程,以确保在部署 OS 映像之前物理主机保有完整性。
本文概述了硬件 验证过程硬件验证概述
本文提供有关如何检查硬件验证结果并排查硬件验证结果问题的说明
重要
使用默认选项运行时,RAID 控制器在 BMM 替换期间重置,从服务器的虚拟磁盘中擦除所有数据。 除非存在其他物理磁盘和/或 RAID 控制器警报,否则可以忽略在 BMM 更换期间触发的基板管理控制器(BMC)虚拟磁盘警报。 从 2025-07-01-preview NetworkCloud API 版本开始,正式版正式发布2025-09-01,用于replacestorage-policy="Preserve"保留虚拟磁盘数据。
替换工作流
- 隔离并撤走 - 在物理修复之前,从 BMM 中删除工作负载。
- 执行物理修复 - 根据需要替换硬件组件。
- 执行 replace 命令 - 使用所需的参数运行 replace 命令。
- Uncordon - 因此,在更换完成后,使 BMM 再次可调度。
- 验证状态 - 检查 BMM 是否正常工作。
以下 Azure CLI 命令将 cordon 指定的 bareMetalMachineName。
az networkcloud baremetalmachine cordon \
--evacuate "True" \
--name <bareMetalMachineName> \
--resource-group "<resourceGroup>" \
--subscription <subscriptionID>
硬件组件更换指南
执行物理热交换电源修复时,不需要执行更换操作,因为 BMM 主机在修复后将继续正常运行。
执行以下物理修复时,建议执行更换操作,尽管不需要让 BMM 恢复服务:
- CPU
- 双列直插式内存模块 (DIMM)
- 风扇
- 扩展板抬升器
- 收发器
- 更换以太网或光纤电缆
执行以下物理修复时,需要执行更换操作才能使 BMM 恢复服务:
- 底板
- 系统板
- SSD 盘
- PERC/RAID 适配器
- Mellanox 网络接口卡 (NIC)
- Broadcom 嵌入式 NIC
完成物理修复后,执行替换操作。
以下 Azure CLI 命令将 replace 指定的 bareMetalMachineName。
az networkcloud baremetalmachine replace \
--name <bareMetalMachineName> \
--resource-group "<resourceGroup>" \
--bmc-credentials password=<IDRAC_PASSWORD> username=<IDRAC_USER> \
--bmc-mac-address <IDRAC_MAC> \
--boot-mac-address <PXE_MAC> \
--machine-name <OS_HOSTNAME> \
--serial-number <SERIAL_NUM> \
--subscription <subscriptionID> \
--storage-policy <STORAGE_POLICY>
以下 Azure CLI 命令将取消隔离指定的 bareMetalMachineName。
az networkcloud baremetalmachine uncordon \
--name <bareMetalMachineName> \
--resource-group "<resourceGroup>" \
--subscription <subscriptionID>
概要
重启、重新映像和替换是解决 Azure Operator Nexus 服务器问题的有效故障排除方法。 下面是一个快速参考指南:
| Action | 何时使用 | 影响 | 要求 |
|---|---|---|---|
| 重启 | 临时故障、无响应的 VM | 短暂的故障时间 | 无,最快选项 |
| 重置映像 | OS 损坏,安全问题 | 更长的停机时间,保留数据 | 建议进行负载迁移 |
| 替换 | 硬件组件故障 | 最长的停机时间,保留数据 | 硬件组件更换,所需的特定参数 |
最佳做法
- 始终遵循升级路径:从重启开始,然后重新映像,然后替换,除非问题明确指示否则。
- 在执行操作之前确认工作负荷:使用提供的命令来识别在发生任何中断之前正在运行的工作负荷。
-
隔离且撤走:在执行重镜像或替换操作时,请务必使用“ 且
cordon”以安全移动工作负载evacuate="True"。 - 切勿同时运行多个作:确保一个作在启动另一个作之前完成以防止服务器问题。
- 验证解决方法:执行任何作后,请验证 BMM 状态以及原始问题是否已解决。
有关 BMM 操作的更多详细信息,请参阅 BMM 操作一文。
如果仍有疑问,请联系支持人员。 有关支持计划的详细信息,请参阅Azure 支持计划。