Add TSG: live migration fails with No mapping between account names and security IDs (0x80070534)#326
Conversation
…and security IDs' (0x80070534) 24H2 clusters below Azure Local 12.2605 (2026.05B) fail to live-migrate VMs whose creating account SID does not resolve in AD, which also fails CAU / solution update node drains. Two causes: (1) VM created/imported under a local node administrator; (2) created under an AD administrator account that no longer exists. The 12.2605 fix removes the unnecessary validation of the creating account before live migration. Documents detection (Event 21024 / 0x80070534), the update resolution, and the interim quick-migration (DefaultMoveType=1) workaround that also lets the update itself complete. Quick-vs-live comparison, terms glossary, and cross-link to the distinct 22H2->23H2 dynamic-memory issue. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…ry, hyphenate modifiers - Fix the Related link to the 22H2->23H2 upgrade TSG: double-encode the literal %2D in the target filename as %252D so GitHub resolves it (the working repo convention per TSG/Upgrade/README.md), instead of the single-encoded %2D that 404s. - Add the TSG to TSG/Update/README.md so it is discoverable from the Update index. - Hyphenate compound modifiers: sub-second, in-guest, time-sensitive, latency-sensitive. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…lease label Azure Local customers running full Azure Local (not HCI) do not recognize the "2026.05B" HCI-style release label and it only adds confusion. Reference the Azure Local solution version 12.2605 alone throughout the customer-facing TSG. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…versions - Note that VMs migrated into Azure Local from VMware or Hyper-V (for example using Azure Migrate) can carry an owner SID that does not resolve in Active Directory when the migration registered the VM under a local node administrator, making them subject to this failure. Add it to Issue Validation and Cause. - Clarify the affected versions: 24H2 solution versions are 12.25xx/12.26xx (fix in 12.2605+); 23H2 clusters (11.25xx) are not affected because the account validation was introduced with 24H2. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
… (Operational) Per the live L4 validation (skill PR Azure#264, 2026-07-08): Event 21024 in the VMMS-Admin log is only the "failed at migration source" marker and does NOT contain the SID error text; the definitive "No mapping between account names and security IDs" signature is Event 1106 in the Hyper-V-VMMS-OPERATIONAL log, with the HRESULT rendered as the bare code 80070534 (no 0x prefix). The old query only searched VMMS-Admin and matched 0x80070534, so it surfaced the marker but never the confirming signature. - Query both VMMS-Admin and VMMS-Operational; add Id 1106; match the bare 80070534; select LogName so the two events are distinguishable. - Reword the prose to attribute the marker to Event 21024 (Admin) and the definitive signature to Event 1106 (Operational). - Add the VMMS-Operational log to the "collect for Microsoft Support" list. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
|
Nice writeup, and the core of it holds up. I ran the read-only parts on lab hardware and checked the rest against the product behavior and Microsoft Learn. The cause (the pre-live-migration validation of the VM's creating account, which fails when that account's SID does not resolve in AD), the fix landing in 12.2605, the upgrade regression, and the version mapping (23H2 is 10.x/11.x, 24H2 is 12.x, with 11.2510 the last 23H2) all check out. On a cluster node I confirmed the cmdlets and parameters exist (including
None of these are blockers to the approach, quick migration is the right workaround. One caveat on validation: I could not reproduce the actual 0x80070534 failure, since it needs a 24H2 build below 12.2605 plus a VM whose owner SID does not resolve, and the lab hardware available was 23H2. So the behavioral claims (the failure itself, and that quick migration then succeeds) are backed by the source and the code path rather than a live repro. |
…cripts
- Detection query: scan the whole recent log server-side with
Get-WinEvent -FilterHashtable @{LogName; StartTime} instead of -MaxEvents 200,
so a busy VMMS-Operational log cannot push the confirming event out of the window.
Keep both the validated event IDs (21024 Admin marker, 1106 Operational signature)
and the message-text match; state that these IDs were validated during a live
reproduction of the issue, and note the message text stays reliable if a build logs
the failure under a different ID.
- Workaround scripts: re-declare $affectedVMs at the top of the Verify and Disable
blocks (they usually run in a new session after the update, where the Apply-block
variable is gone, so the revert was silently iterating zero times), add a guard that
stops loudly on a missing list, wrap each per-VM body in try/catch with null-checked
cmdlets, and print an explicit "NOT set / NOT reset" summary so a skipped VM is visible.
- DefaultMoveType note: 4294967295 (0xFFFFFFFF) means "use the cluster's default move
type", which is live migration (precise wording).
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
|
@AlBurns-MSFT thanks, this was a great review. All five are addressed in bb6062b: 1. Revert block silently doing nothing. Fixed. I re-declared 2. Event IDs. I kept 21024 (Admin, the "failed at migration source" marker) and 1106 (Operational, the "No mapping" / bare 3. Busy-log miss. Fixed. The query now scans server-side by time with 4. DefaultMoveType wording. Fixed: "4294967295 (0xFFFFFFFF) means 'use the cluster's default move type', which is live migration." 5. Silent per-VM skips. Fixed. Each per-VM body in the set and revert loops is now wrapped in try/catch with null-checked cmdlets, and prints an explicit "NOT set" / "NOT reset" summary at the end, so a mistyped, renamed, or offline VM is visible instead of leaving an empty line. On validation: the failure itself and the quick-migration workaround were reproduced live on a pre-12.2605 24H2 cluster (with the fix's KIR toggled off then on for the A/B), which is where the 21024/1106 IDs and the bare |
There was a problem hiding this comment.
Pull request overview
Adds a new Azure Local Troubleshooting Guide (TSG) documenting a 24H2 live-migration failure (0x80070534) that can also block CAU/solution-update node drains, and links it from the Update TSG index.
Changes:
- Added a new TSG describing symptoms, validation steps, root cause, and resolution via updating to 12.2605+.
- Documented an interim quick-migration workaround using
DefaultMoveType=1to allow drains/updates to complete before applying the permanent fix. - Updated
TSG/Update/README.mdto include the new guide.
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated 3 comments.
| File | Description |
|---|---|
| TSG/Update/README.md | Adds the new TSG link to the Update documentation index. |
| TSG/Update/Live-migration-fails-with-No-mapping-between-account-names-and-security-IDs.md | New troubleshooting article covering detection, cause, update-based fix, and workaround. |
| # Live migration fails with "No mapping between account names and security IDs was done" (0x80070534) | ||
|
|
||
| ## Overview |
| **2. Confirm the VM is exposed to this issue.** The affected VM was created or imported under an account whose Security Identifier (SID) does not resolve in Active Directory. This happens in either of these cases: | ||
|
|
||
| - The VM was **created or imported under a local (non-domain) administrator account** on a cluster node (for example the built in Administrator, or another local account). A local account SID exists only on that node and can never be resolved through Active Directory. | ||
| - The VM was created by a **domain account that has since been removed (deleted) from the domain**. Once the account is deleted, its SID is orphaned and no longer resolves in Active Directory. | ||
| - The VM was **migrated or imported into Azure Local from VMware or Hyper-V** (for example using Azure Migrate). If the migration registered the VM under a local node administrator account rather than a domain account, the recorded owner SID is a local account that exists only on that node and cannot be resolved through Active Directory. |
|
|
||
| - The `DefaultMoveType` setting is stored in the cluster database, so it persists across node reboots and through the phases of an orchestrated solution update. It is not reverted by the update, so remember to reset it after the cluster reaches 12.2605. | ||
| - No VM needs to be recreated. The update fixes migration for existing affected VMs in place. | ||
| - This issue is distinct from [Live migrations may fail when upgrading OS from 22H2 to 23H2](../Upgrade/Known%252Dissue-%252D-Live-migrations-may-fail-when-upgrading-OS-from-22H2-to-23H2.md), which is caused by VMs that use dynamic memory and is resolved by a different registry setting. If your migrations fail with the `0x80070534` "No mapping between account names and security IDs" error, use this article. |
Documents the Azure Local 24H2 live-migration failure "No mapping between account names and security IDs was done" (0x80070534).
Summary:
The article covers detection (Event 21024 / 0x80070534, the two at-risk conditions), the update resolution, and an interim quick-migration workaround (DefaultMoveType=1) that also lets the update itself complete, with a quick-vs-live comparison and a terms glossary.
Draft for review.