fix(media): declare Plex's legacy volume-3 media mount (#329) - #330
Open
ChrisonSimtian wants to merge 1 commit into
Open
fix(media): declare Plex's legacy volume-3 media mount (#329)#330ChrisonSimtian wants to merge 1 commit into
ChrisonSimtian wants to merge 1 commit into
Conversation
Plex served 3.5 TB — 81% of its library — from a mount that existed in no shape. stacks/Media/plex.lxc.yaml declared only ds1813-nfs-volume-4; the legacy library reached CT 5008 through a hand-written line in the container's own /etc/fstab: 192.168.179.11:/volume3/Volume-3/data/media /mnt/media nfs ro 0 0 Converge could not see it, MountReconciler could not reconcile it, and validate could not catch it. Recreating CT 5008 would have come up healthy, passed every check, and served 821 GB of 4.3 TB — no error, just mostly-empty libraries. It also broke the root CLAUDE.md rule that NFS mounts are host-level, never mounted inside the guest (BL-016). This is not "the old fleet's storage". EVERY Plex library depends on it: Movies /mnt/media/Movies + /data/media/movies TV Shows /mnt/media/TV Shows + /data/media/tv Animes /mnt/media/Anime <- volume-3 ONLY, no volume-4 counterpart Youtube /data/youtube 903 of 1049 media_parts (86%) resolve under /mnt/media. Declared as mp2, appended LAST because mounts render positionally and inserting above would renumber the live mp0/mp1. target stays exactly /mnt/media: Plex stores absolute section paths, so changing it would silently empty three libraries. Kept ro — Plex reads it, the old arr fleet still writes it. The in-CT fstab line is replaced by a comment pointing at the shape (original saved as /etc/fstab.pre-329.bak), so there is one source of truth and nobody re-adds a second mount on the same target. Verified live, before and after a CT restart: - pct config 5008 -> mp2 added, mp0/mp1 unchanged (both still volume-4) - /mnt/media now provided by LXC host-level (clientaddr = the host), ro - library counts identical: Animes 463, Movies 91, TV Shows 532, Youtube 103 - 400/400 sampled volume-3 media files readable; writes correctly refused - plexmediaserver active, :32400 HTTP 200 locally and on 10.10.200.98 Found while surveying why 8 guests tagged `retired` still had live connections. Retiring volume-3 is a much larger decision — 3.2 TB of torrents and 470 seeding entries on CT 5007 also live there (#199).
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes #329.
Plex served 3.5 TB — 81% of its library — from a mount that existed in no shape.
plex.lxc.yamldeclared onlyds1813-nfs-volume-4; the legacy library reached CT 5008 through a hand-written line in the container's own/etc/fstab:Converge couldn't see it,
MountReconcilercouldn't reconcile it,validatecouldn't catch it. Recreating CT 5008 would have come up healthy, passed every check, and served 821 GB of 4.3 TB — no error, just mostly-empty libraries. It also broke the rootCLAUDE.mdrule that NFS mounts are host-level, never inside the guest (BL-016).Not just "the old fleet's storage" — every library depends on it
903 of 1049
media_parts(86%) resolve under/mnt/media.Two things that had to be exactly right
mp2; inserting above would have renumbered the livemp0/mp1. Verified both still point at volume-4 afterwards.targetstays exactly/mnt/media. Plex stores absolute section paths, so any other target would silently empty three libraries.Kept
ro: true— Plex reads it, the old arr fleet still writes it.Verified live, across a CT restart
pct config 5008mp2added;mp0/mp1unchanged/mnt/mediaproviderclientaddr= the host),roRead-only file system)active, :32400 HTTP 200 locally and on10.10.200.98The in-CT fstab line is replaced by a comment pointing at the shape (original at
/etc/fstab.pre-329.bak), so there's one source of truth and nobody re-adds a second mount on the same target.Context
Found while surveying why 8 guests tagged
retiredstill had live connections. Retiring volume-3 is a far larger decision — 3.2 TB of torrents and 470 seeding entries on CT 5007 live there too; see the survey notes on #199.