Skip to content

Commit ffe8d57

Browse files
authored
Merge pull request #297611 from JAC0BSMITH/jac0bsmith_doc_prs
CoPilot rewrite of TSG for clarity
2 parents c21800d + 7e20d2a commit ffe8d57

File tree

1 file changed

+127
-63
lines changed

1 file changed

+127
-63
lines changed

articles/operator-nexus/troubleshoot-reboot-reimage-replace.md

Lines changed: 127 additions & 63 deletions
Original file line numberDiff line numberDiff line change
@@ -4,40 +4,73 @@ description: Troubleshoot cluster bare metal machines with Restart, Reimage, Rep
44
ms.service: azure-operator-nexus
55
ms.custom: troubleshooting
66
ms.topic: troubleshooting
7-
ms.date: 04/24/2024
7+
ms.date: 04/03/2025
88
author: eak13
99
ms.author: ekarandjeff
1010
---
1111

12-
# Troubleshoot Bare Metal server problems
12+
# Troubleshoot Azure Operator Nexus Bare Metal Machine server problems
1313

14-
This article describes how to troubleshoot server problems by using `restart`, `reimage`, and `replace` actions on Azure Operator Nexus BareMetal Machine (BMM).
15-
These operations are performed for maintenance on your servers and cause a disruption to the specific Bare Metal Machine.
14+
This article describes how to troubleshoot server problems by using Restart, Reimage, and Replace actions on Azure Operator Nexus Bare Metal Machines (BMMs). You might need to take these actions on your server for maintenance reasons, which may cause a brief disruption to specific BMMs.
1615

17-
[!INCLUDE [caution-affect-cluster-integrity](./includes/baremetal-machines/caution-affect-cluster-integrity.md)]
16+
The time required to complete each of these actions is similar. Restarting is the fastest, whereas replacing takes slightly longer. All three actions are simple and efficient methods for troubleshooting.
1817

19-
[!INCLUDE [important-donot-disrupt-kcpnodes](./includes/baremetal-machines/important-donot-disrupt-kcpnodes.md)]
18+
> [!CAUTION]
19+
> Do not perform any action against management servers without first consulting with Microsoft support personnel. Doing so could affect the integrity of the Operator Nexus Cluster.
2020
21-
[!INCLUDE [prerequisites-azure-cli-bare-metal-machine-actions](./includes/baremetal-machines/prerequisites-azure-cli-bare-metal-machine-actions.md)]
21+
## Prerequisites
2222

23-
## Follow best practice for Bare Metal Machine operations
23+
- Familiarize yourself with the capabilities referenced in this article by reviewing the [BMM actions](howto-baremetal-functions.md).
24+
- Gather the following information:
25+
- Name of the managed resource group for the BMM
26+
- Name of the BMM that requires a lifecycle management operation
27+
- Subscription ID
2428

25-
The various operations `restart`, `reimage`, and `replace` are effective troubleshooting methods that you can use to address technical problems.
26-
However, it's important to have a systematic approach and to consider other factors before you try any drastic measures.
29+
> [!IMPORTANT]
30+
> Disruptive command requests against a Kubernetes Control Plane (KCP) node are rejected if there is another disruptive action command already running against another KCP node or if the full KCP is not available.
31+
>
32+
> Restart, reimage and replace are all considered disruptive actions.
33+
>
34+
> This check is done to maintain the integrity of the Nexus instance and ensure multiple KCP nodes do not go down at once due to simultaneous disruptive actions. If multiple nodes go down, it will break the healthy quorum threshold of the Kubernetes Control Plane.
35+
36+
## Identify the corrective action
37+
38+
When troubleshooting a BMM for failures and determining the most appropriate corrective action, it is essential to understand the available options. This article provides a systematic approach to troubleshoot Azure Operator Nexus server problems using these three methods:
39+
40+
- **Restart** - Least invasive method, best for temporary glitches or unresponsive VMs
41+
- **Reimage** - Intermediate solution, restores OS to known-good state without affecting data
42+
- **Replace** - Most significant action, required for hardware component failures
43+
44+
### Troubleshooting decision tree
45+
46+
Follow this escalation path when troubleshooting BMM issues:
47+
48+
| Problem | First action | If problem persists | If still unresolved |
49+
|---------|-------------|-------------------|-------------------|
50+
| Unresponsive VMs or services | Restart | Reimage | Replace |
51+
| Software/OS corruption | Reimage | Replace | Contact support |
52+
| Known hardware failure | Replace | N/A | Contact support |
53+
| Security compromise | Reimage | Replace | Contact support |
2754

28-
First, familiarize yourself with the operations by reading and following the advice on the recommended articles before proceeding with operations:
55+
It's recommended to start with the least invasive solution (restart) and escalate to more complex measures only if necessary. Always validate that the issue is resolved after each corrective action.
2956

30-
- [Best Practices for BareMetal Machine Operations](./howto-bare-metal-best-practices.md).
31-
- [Bare Metal Machine Lifecycle Management Operations](howto-baremetal-functions.md).
57+
## Troubleshoot with a restart action
3258

33-
## Troubleshoot with a restart operation
59+
Restarting a BMM is a process of restarting the server through a simple API call. This action can be useful for troubleshooting problems when Tenant Virtual Machines on the host aren't responsive or are otherwise stuck.
3460

35-
A `restart` operation can be useful in troubleshooting problems where tenant virtual machines on the host aren't responsive or are otherwise stuck.
61+
The restart typically is the starting point for mitigating a problem.
3662

37-
One way approach this operation can be done by executing, in order, both a `power-off` followed by `start` operation.
38-
This approach will `restart` a Bare Metal Machine command by performing a graceful shutdown that power cycles the node.
63+
### Restart workflow
3964

40-
The following Azure CLI command will `power-off` the specified bareMetalMachineName.
65+
1. **Assess impact** - Determine if restarting the BMM will impact critical workloads.
66+
2. **Power off** - If needed, power off the BMM (optional).
67+
3. **Start or restart** - Either start a powered-off BMM or restart a running BMM.
68+
4. **Verify status** - Check if the BMM is back online and functioning properly.
69+
70+
> [!NOTE]
71+
> The restart operation is the fastest recovery method but may not resolve issues related to OS corruption or hardware failures.
72+
73+
**The following Azure CLI command will `power-off` the specified bareMetalMachineName:**
4174

4275
```azurecli
4376
az networkcloud baremetalmachine power-off \
@@ -46,7 +79,7 @@ az networkcloud baremetalmachine power-off \
4679
--subscription <subscriptionID>
4780
```
4881

49-
The following Azure CLI command will `start` the specified bareMetalMachineName.
82+
**The following Azure CLI command will `start` the specified bareMetalMachineName:**
5083

5184
```azurecli
5285
az networkcloud baremetalmachine start \
@@ -55,9 +88,7 @@ az networkcloud baremetalmachine start \
5588
--subscription <subscriptionID>
5689
```
5790

58-
Alternatively, you can let the `restart` command perform a server reboot.
59-
60-
The following Azure CLI command will `restart` the specified bareMetalMachineName.
91+
**The following Azure CLI command will `restart` the specified bareMetalMachineName:**
6192

6293
```azurecli
6394
az networkcloud baremetalmachine restart \
@@ -66,37 +97,52 @@ az networkcloud baremetalmachine restart \
6697
--subscription <subscriptionID>
6798
```
6899

69-
## Troubleshoot with a reimage operation
100+
**To verify the BMM status after restart:**
101+
102+
```azurecli
103+
az networkcloud baremetalmachine show \
104+
--name <bareMetalMachineName> \
105+
--resource-group "<resourceGroup>" \
106+
--subscription <subscriptionID> \
107+
--query "provisioningState"
108+
```
109+
110+
## Troubleshoot with a reimage action
70111

71-
The `reimage` command on a Bare Metal Machine is a process that **redeploys** the OS image on disk without affecting the tenant data.
72-
This operation executes the steps to rejoin the cluster with the same identifiers.
112+
Reimaging a BMM is a process that you use to redeploy the image on the OS disk, without affecting the tenant data. This action executes the steps to rejoin the cluster with the same identifiers.
73113

74-
The `reimage` operation can be useful for troubleshooting problems by restoring the OS to a known-good working state.
75-
Common causes that can be resolved through reimaging include recovery due to doubt of host integrity, suspected or confirmed security compromise, or "break glass" write activity.
114+
The reimage action can be useful for troubleshooting problems by restoring the OS to a known-good working state. Common causes that can be resolved through reimaging include recovery due to doubt of host integrity, suspected or confirmed security compromise, or "break glass" write activity.
76115

77-
A `reimage` operation is the best practice for lowest operational risk to ensure the Bare Metal Machine's integrity.
116+
A reimage action is the best practice for lowest operational risk to ensure the integrity of the BMM.
78117

79-
As a best practice, before executing the `reimage` command make sure the Bare Metal Machine's workloads are drained using the cordon command with `evacuate` parameter set to `True`.
118+
### Reimage workflow
80119

81-
[!INCLUDE [warning-do-not-run-multiple-actions](./includes/baremetal-machines/warning-do-not-run-multiple-actions.md)]
120+
1. **Verify running workloads** - Before reimaging, check what workloads are running on the BMM.
121+
2. **Cordon and evacuate workloads** - Drain the BMM of workloads.
122+
3. **Perform reimage** - Execute the reimage operation.
123+
4. **Uncordon** - Make the BMM schedulable again after reimage completes.
82124

83-
To identify if any workloads are currently running on a Bare Metal Machine, run the following command:
125+
> [!WARNING]
126+
> Running more than one `baremetalmachine replace` or `reimage` command at the same time, or running a `replace`
127+
> at the same time as a `reimage` will leave servers in a nonworking state. Make sure one operation has fully completed before starting another.
84128
85-
For Virtual Machines:
129+
**To identify if any workloads are currently running on a BMM, run the following command:**
130+
131+
**For Virtual Machines:**
86132

87133
```azurecli
88-
az networkcloud baremetalmachine show -n <nodeName> /
89-
--resource-group <resourceGroup> /
90-
--subscription <subscriptionID> | jq '.virtualMachinesAssociatedIds'
134+
az networkcloud baremetalmachine show -n <nodeName> \
135+
--resource-group <resourceGroup> \
136+
--subscription <subscriptionID> | jq '.virtualMachinesAssociatedIds'
91137
```
92138

93-
For Nexus Kubernetes cluster nodes: (Requires logging into the Nexus Kubernetes cluster)
139+
**For Nexus Kubernetes cluster nodes: (requires logging into the Nexus Kubernetes cluster)**
94140

95-
```shell
96-
kubectl get nodes <resourceName> -ojson | jq '.metadata.labels."topology.kubernetes.io/baremetalmachine"'
141+
```
142+
kubectl get nodes <resourceName> -ojson |jq '.metadata.labels."topology.kubernetes.io/baremetalmachine"'
97143
```
98144

99-
The following Azure CLI command will `cordon` the specified bareMetalMachineName.
145+
**The following Azure CLI command will `cordon` the specified bareMetalMachineName.**
100146

101147
```azurecli
102148
az networkcloud baremetalmachine cordon \
@@ -106,7 +152,7 @@ az networkcloud baremetalmachine cordon \
106152
--subscription <subscriptionID>
107153
```
108154

109-
The following Azure CLI command will `reimage` the specified bareMetalMachineName.
155+
**The following Azure CLI command will `reimage` the specified bareMetalMachineName.**
110156

111157
```azurecli
112158
az networkcloud baremetalmachine reimage \
@@ -115,7 +161,7 @@ az networkcloud baremetalmachine reimage \
115161
--subscription <subscriptionID>
116162
```
117163

118-
The following Azure CLI command will `uncordon` the specified bareMetalMachineName.
164+
**The following Azure CLI command will `uncordon` the specified bareMetalMachineName.**
119165

120166
```azurecli
121167
az networkcloud baremetalmachine uncordon \
@@ -124,23 +170,24 @@ az networkcloud baremetalmachine uncordon \
124170
--subscription <subscriptionID>
125171
```
126172

127-
## Troubleshoot with a replace operation
173+
## Troubleshoot with a replace action
128174

129-
Servers contain many physical components that fail over time. It's important to understand which physical repairs require to perform a Bare Metal Machine `replace`.
130-
Like the `reimage` action, the tenant data isn't modified during a `replace`.
175+
Servers contain many physical components that can fail over time. It is important to understand which physical repairs require BMM replacement and when BMM replacement is recommended.
131176

132-
> [!IMPORTANT]
133-
> With the `2024-07-01` GA API version, the RAID controller is reset during Bare Metal Machine replace, wiping all data from the server's virtual disks.
134-
> Baseboard Management Controller (BMC) virtual disk alerts triggered during Bare Metal Machine replace can be ignored unless there are more physical disk and/or RAID controllers alerts.
177+
A hardware validation process is invoked to ensure the integrity of the physical host in advance of deploying the OS image. Like the reimage action, the Tenant data isn't modified during replacement.
135178

136-
### Resolve hardware validation issues
179+
> [!IMPORTANT]
180+
> Starting with the 2024-07-01 GA API version, the RAID controller is reset during BMM replace, wiping all data from the server's virtual disks. Baseboard Management Controller (BMC) virtual disk alerts triggered during BMM replace can be ignored unless there are additional physical disk and/or RAID controllers alerts.
137181
138-
A hardware validation process is invoked, as part of the `replace`, to ensure the integrity of the physical host in advance of deploying the OS image.
139-
As a best practice, first issue a `cordon` command to remove the Bare Metal Machine from workload scheduling and then shutdown/`power-off` the Bare Metal Machine in advance of physical repairs.
182+
### Replace workflow
140183

141-
[!INCLUDE [warning-do-not-run-multiple-actions](./includes/baremetal-machines/warning-do-not-run-multiple-actions.md)]
184+
1. **Cordon and evacuate** - Remove workloads from the BMM before physical repair.
185+
2. **Perform physical repairs** - Replace hardware components as needed.
186+
3. **Execute replace command** - Run the replace command with required parameters.
187+
4. **Uncordon** - Make the BMM schedulable again after replacement completes.
188+
5. **Verify status** - Check that the BMM is properly functioning.
142189

143-
The following Azure CLI command will `cordon` the specified bareMetalMachineName.
190+
**The following Azure CLI command will `cordon` the specified bareMetalMachineName.**
144191

145192
```azurecli
146193
az networkcloud baremetalmachine cordon \
@@ -150,9 +197,11 @@ az networkcloud baremetalmachine cordon \
150197
--subscription <subscriptionID>
151198
```
152199

153-
A `replace` operation isn't required when you're performing a physical hot swappable power supply repair because the Bare Metal Machine host will continue to function normally after the repair.
200+
### Hardware component replacement guide
201+
202+
When you're performing a physical hot swappable power supply repair, a replace action is not required because the BMM host will continue to function normally after the repair.
154203

155-
Although it isn't strictly necessary to bring the Bare Metal Machine back into service, we recommend doing a `replace` operation when you're performing the following physical repairs:
204+
When you're performing the following physical repairs, we recommend a replace action, though it is not necessary to bring the BMM back into service:
156205

157206
- CPU
158207
- Dual In-Line Memory Module (DIMM)
@@ -161,7 +210,7 @@ Although it isn't strictly necessary to bring the Bare Metal Machine back into s
161210
- Transceiver
162211
- Ethernet or fiber cable replacement
163212

164-
A `replace` operation ***is required*** to bring the Bare Metal Machine back into service when you're performing the following physical repairs:
213+
When you're performing the following physical repairs, a replace action ***is required*** to bring the BMM back into service:
165214

166215
- Backplane
167216
- System board
@@ -170,9 +219,9 @@ A `replace` operation ***is required*** to bring the Bare Metal Machine back int
170219
- Mellanox Network Interface Card (NIC)
171220
- Broadcom embedded NIC
172221

173-
After physical repairs are completed, perform a `replace` operation.
174-
175-
The following Azure CLI command will `replace` the specified bareMetalMachineName.
222+
After physical repairs are completed, perform a replace action.
223+
224+
**The following Azure CLI command will `replace` the specified bareMetalMachineName.**
176225

177226
```azurecli
178227
az networkcloud baremetalmachine replace \
@@ -186,10 +235,7 @@ az networkcloud baremetalmachine replace \
186235
--subscription <subscriptionID>
187236
```
188237

189-
Once the Bare Metal Machine `replace` operation completes successfully, validate that the Bare Metal Machine's `provisioningStatus` is `Succeeded` and its `readyState` is set to `True`.
190-
Then, proceed to execute the `uncordon` operation to have the Bare Metal Machine rejoin the workload schedulable node pool.
191-
192-
The following Azure CLI command will `uncordon` the specified bareMetalMachineName.
238+
**The following Azure CLI command will uncordon the specified bareMetalMachineName.**
193239

194240
```azurecli
195241
az networkcloud baremetalmachine uncordon \
@@ -198,7 +244,25 @@ az networkcloud baremetalmachine uncordon \
198244
--subscription <subscriptionID>
199245
```
200246

201-
## Request Support
247+
## Summary
248+
249+
Restarting, reimaging, and replacing are effective troubleshooting methods for addressing Azure Operator Nexus server problems. Here's a quick reference guide:
250+
251+
| Action | When to use | Impact | Requirements |
252+
|--------|------------|--------|-------------|
253+
| **Restart** | Temporary glitches, unresponsive VMs | Brief downtime | None, fastest option |
254+
| **Reimage** | OS corruption, security concerns | Longer downtime, preserves data | Workload evacuation recommended |
255+
| **Replace** | Hardware component failures | Longest downtime, preserves data | Hardware component replacement, specific parameters needed |
256+
257+
### Best practices
258+
259+
- **Always follow the escalation path**: Start with restart, then reimage, then replace unless the issue clearly indicates otherwise.
260+
- **Verify workloads before action**: Use the provided commands to identify running workloads before any disruptive action.
261+
- **Cordon with evacuation**: When performing reimage or replace actions, always use `cordon` with `evacuate="True"` to safely move workloads.
262+
- **Never run multiple operations simultaneously**: Ensure one operation completes before starting another to prevent server issues.
263+
- **Verify resolution**: After performing any action, verify the BMM status and that the original issue is resolved.
264+
265+
More details about the BMM actions can be found in the [BMM actions](howto-baremetal-functions.md) article.
202266

203267
If you still have questions, [contact support](https://portal.azure.com/?#blade/Microsoft_Azure_Support/HelpAndSupportBlade).
204268
For more information about Support plans, see [Azure Support plans](https://azure.microsoft.com/support/plans/response/).

0 commit comments

Comments
 (0)