Delete the Plex VM disks
Completes section 9 step 3. govc vm.destroy Plex removed the inventory entry and the [NVME_1] Plex/ folder; datastore free space went 1,619.8 -> 1,756.1 GB (+136.3 GB). 10.100.0.24 / 10.50.0.31 and MACs 00:0c:29:4a:ef:3d / 00:0c:29:4a:ef:47 are now free for reuse. Done on 2026-09-17 rather than the planned ~2026-10-15. Checking the plan's own Veeam precondition inverted its assumption: the Backup VMs job has EnableDeletedVmDataRetention set to False with Simple retention of 7 restore points, so a VM removed from the job has its points pruned as the remaining VMs roll the chain - Plex's are due to age out around 2026-09-24, about three weeks before the disks were scheduled for deletion. Deleting while a good restore point still existed (2026-09-17 03:01, consistent) was safer than deleting later with none. Recovery position is now: Veeam image restore until ~2026-09-24, then only the pre-migration library DB at /mnt/share/backups/plex-migration-2026-09-16/, which rebuilds a Plex install but not the VM. veeam.md gains the retention gotcha, since it applies to any future decommission and the 30-day DeletedVmsDataRetentionPeriodDays value is misleading while the toggle is off. Also flags in esxi.md that its VM tables are incomplete: the host has 10 VMs, WW_DEV_VM / Rockwell_Win10 / TCBSD are absent, and DevVM is powered off rather than on. Left the tables themselves alone as out of scope. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
# Plex Migration: ESXi VM → Docker Container
|
||||
|
||||
**Status: EXECUTED 2026-09-16. DECOMMISSIONED 2026-09-17.** Decisions 1 & 2 ratified as Option A / Option A. Cutover completed with ~22 min of Plex downtime (transfer itself 5m38s). All verification in §8 passed except the two items needing a real client, noted there. §9 decommission steps 1, 2 and 4-7 are **done** (see the log at the end of §9); step 3 — deleting the VMDKs — is deliberately **deferred to ~2026-10-15**.
|
||||
**Status: EXECUTED 2026-09-16. DECOMMISSIONED 2026-09-17.** Decisions 1 & 2 ratified as Option A / Option A. Cutover completed with ~22 min of Plex downtime (transfer itself 5m38s). All verification in §8 passed except the two items needing a real client, noted there. §9 decommission is **complete** — all steps including 3 (VMDK deletion) were done on 2026-09-17. See the log at the end of §9.
|
||||
**Created:** 2026-09-16
|
||||
**Source:** `plex` VM, 10.100.0.24, Debian 11 (EOL)
|
||||
**Target:** `DOCKER` host, 10.100.0.35, Debian 13, containerised + Ansible-managed
|
||||
@@ -555,7 +555,7 @@ the Traefik file-provider service and the UDM `PLEX` port-forward all resolve to
|
||||
|---|---|---|
|
||||
| 1 | Veeam `Backup VMs` | Plex removed via `Remove-VBRJobObject`. **Veeam converts a removed include into an explicit `Exclude` rather than deleting the entry** — re-running the removal leaves it as `Exclude`. That is the same shape as the pre-existing `Deployarr` exclusion and is the expected end state, not a failure. |
|
||||
| 2 | Power off + snapshot | Guest shut down gracefully via `govc vm.power -s Plex` (VMware Tools `toolsOk`); confirmed `plexmediaserver` was still `inactive`/`disabled` first. Snapshot `pre-docker-migration 2026-09-16` then removed **while powered off** — safer consolidation than the plan's on-line ordering. Disk collapsed `Plex-000001.vmdk` → `Plex.vmdk`, `runtime.consolidationNeeded = false`. |
|
||||
| 3 | Delete VMDKs | **Deferred to ~2026-10-15**, per plan. |
|
||||
| 3 | Delete VMDKs | **Done 2026-09-17**, ahead of the planned ~2026-10-15 — see "Early deletion" below. `govc vm.destroy Plex` removed the inventory entry and the `[NVME_1] Plex/` folder; datastore free space went 1,619.8 → 1,756.1 GB (+136.3 GB). |
|
||||
| 4 | Guacamole "Plex SSH" | Deleted via the Guacamole API (connection id 3, `HTTP 204`). **The `guacamole` role is create-only** (`when: item.name not in guac_existing_names`), so it cannot remove a connection — the entry was also deleted from `roles/guacamole/defaults/main.yml` so a rebuild does not recreate it. |
|
||||
| 5 | Addresses | Neither MAC had a Unifi fixed reservation, so `.24`/`10.50.0.31` were plain leases; both clients (`00:0c:29:4a:ef:3d`, `00:0c:29:4a:ef:47`) were forgotten via `cmd/stamgr`. |
|
||||
| 6 | Docs | [plex.md](plex.md), [CLAUDE.md](CLAUDE.md), [esxi.md](esxi.md), [veeam.md](veeam.md). `docker.md` already listed `plex`. ESXi port-group counts corrected LAN_100 7→6 and DATA_50 4→3, verified by counting NICs on powered-on VMs. |
|
||||
@@ -569,8 +569,27 @@ the Traefik file-provider service and the UDM `PLEX` port-forward all resolve to
|
||||
> `unknown tokenizer: collating`. That is the stock binary lacking Plex's custom collation on the FTS virtual tables, **not**
|
||||
> corruption — use `Plex SQLite` for a real whole-DB check. Ordinary table queries work fine with stock `sqlite3`.
|
||||
|
||||
**Before deleting the VMDKs**, confirm no Veeam restore point is still needed, then:
|
||||
`govc vm.destroy Plex` (removes the VM and its `[NVME_1] Plex/` folder).
|
||||
### Early deletion of the VMDKs — 2026-09-17
|
||||
|
||||
The disks were destroyed the same day rather than at the planned ~2026-10-15. Checking the Veeam precondition first turned
|
||||
up something that inverted the plan's assumption and is worth recording:
|
||||
|
||||
- A **consistent, uncorrupted restore point exists at 2026-09-17 03:01**, captured after the cutover and before Plex was
|
||||
removed from the job that morning. The chain runs 2026-09-05 → 2026-09-17 with a Full on 2026-09-12.
|
||||
- But the `Backup VMs` job has **`EnableDeletedVmDataRetention: False`** with Simple retention of 7 restore points. A VM
|
||||
removed from the job stops generating points, so its data is pruned as the remaining VMs roll the chain — Plex's points
|
||||
are expected to disappear around **2026-09-24**.
|
||||
|
||||
So the plan's "keep the disks until mid-October as the rollback" was resting on a Veeam safety net that expires roughly
|
||||
three weeks *earlier* than the disks were due to be deleted. Deleting on 2026-09-17, while a good restore point still
|
||||
existed, was strictly safer than deleting on 2026-10-15 with none.
|
||||
|
||||
**Current recovery position:** no VM to restore. Until ~2026-09-24 a Veeam image restore is possible; after that the only
|
||||
artifact is the pre-migration library DB at `/mnt/share/backups/plex-migration-2026-09-16/`, which rebuilds a Plex install
|
||||
(libraries, watch history, `MachineIdentifier` via `Preferences.xml`) but not the VM.
|
||||
|
||||
**If a longer-lived VM-level copy is ever wanted for another decommission**, export the restore point to a standalone full
|
||||
backup *before* removing the VM from its job — job retention does not protect it otherwise.
|
||||
|
||||
---
|
||||
|
||||
|
||||
Reference in New Issue
Block a user