Skip to content

Commit 37c2fc6

Browse files
SystemDrive Free Space TSG: GMACache connectivity pointer + at-scale Tier 1 fan-out (#308)
Follow-up to the SystemDrive Free Space TSG: make the C:\GMACache 'restore connectivity' guidance concrete (Arc/Azure Local outbound HTTPS 443 + azcmagent connectivity check) and add a cluster-wide Tier 1 cleanup fan-out (Invoke-Command across Get-ClusterNode, with the WU-cache in-progress-update caveat). Approved by tihamble.
1 parent 97e7998 commit 37c2fc6

1 file changed

Lines changed: 25 additions & 1 deletion

File tree

TSG/EnvironmentValidator/Troubleshooting-Test-SystemDrive-Free-Space.md

Lines changed: 25 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -273,6 +273,25 @@ Remove-Item C:\Windows\Temp\* -Recurse -Force -ErrorAction SilentlyContinue
273273
Remove-Item $env:TEMP\* -Recurse -Force -ErrorAction SilentlyContinue
274274
```
275275

276+
**Run Tier 1 across all nodes at once.** For at-scale deployment prep, fan the Tier 1
277+
reclamation out to every machine in the cluster with a single `Invoke-Command` instead of
278+
repeating it node by node. For example, the WinSxS component cleanup (Tier 1a, the largest
279+
safe win):
280+
281+
```powershell
282+
# -ThrottleLimit caps how many nodes run this IO/CPU-intensive cleanup at once, so the
283+
# cluster does not spike all at once; the returned per-node exit code confirms success
284+
# (0 = succeeded). Raise the throttle only if the cluster has headroom.
285+
Invoke-Command -ComputerName (Get-ClusterNode).Name -ThrottleLimit 2 -ScriptBlock {
286+
Dism.exe /Online /Cleanup-Image /StartComponentCleanup
287+
[pscustomobject]@{ Node = $env:COMPUTERNAME; ExitCode = $LASTEXITCODE }
288+
} | Sort-Object Node | Format-Table -AutoSize
289+
```
290+
291+
Wrap any of the Tier 1 a-d commands the same way. Do not fan out the Windows Update cache
292+
clear (Tier 1b) while a solution update or upgrade is in progress, because it briefly stops
293+
the `wuauserv` and BITS services on every node.
294+
276295
#### Tier 2: diagnostic logs (reclaim with care)
277296

278297
Large event logs such as `Microsoft-Windows-FailoverClustering%4Diagnostic` and
@@ -312,7 +331,12 @@ or updates, and it does not fix the underlying cause.
312331
- **`C:\GMACache` (monitoring agent cache).** A large `GMACache`, especially
313332
`GMACache\TelemetryCache`, usually means the machine cannot upload telemetry to
314333
Azure, so the data backs up on disk. The fix is to restore outbound connectivity
315-
and the Arc connection so the cache drains on its own. Do not delete the cache to
334+
and the Arc connection so the cache drains on its own. Concretely, that means
335+
restoring the node's outbound HTTPS (TCP 443) to the Azure Arc and Azure Local
336+
service endpoints (see the [Azure Local firewall and outbound connectivity
337+
requirements](https://learn.microsoft.com/azure/azure-local/concepts/firewall-requirements))
338+
and confirming the Arc agent is connected (`(azcmagent show -j | ConvertFrom-Json).status`
339+
returns `Connected`). Do not delete the cache to
316340
free space; that loses buffered data, and the folder simply refills while
317341
connectivity is broken.
318342
- **`C:\Observability`, `C:\NugetStore`, `C:\ImageComposition`, `C:\CloudContent`,

0 commit comments

Comments
 (0)