Files
obsidian-vault/.trash/Filesystem Consolidation Plan.md

288 lines
12 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
created: 2026-05-28
modified: 2026-05-28
type: note
tags: [dev-ops, filesystem, consolidation, planning]
aliases: [consolidation-plan, file-system-redesign]
---
# Filesystem Consolidation Plan
> DRAFT — Planning document for reorganising files across all machines.
---
## Principles
1. **One source of truth** — no duplicate data on multiple drives
2. **Always-on drives for active data** — rarely-used data goes on removable/archive drives
3. **NTFS for cross-platform** — anything that needs Samba/NFS access from Windows/Mac
4. **Backup repos stay where they are** — changing backup infrastructure is risky
5. **Consolidate by access frequency** — hot/warm/cold tiers
---
## Current Inventory — What Needs Homes
### Always-On Services (need drives mounted 24/7)
| Service | Machine | Current Mount | Size | Notes |
|---------|---------|--------------|------|-------|
| **Immich photos** | .35 | `/mnt/hd/immich/` | ~? | 40K photos, need fast reliable access |
| **Jellyfin media** | .35 | `/mnt/hd/...` | ? | Movies, TV shows, music |
| **Docker containers** | .35 | `/Docker/Containers/` | 23.7G | Already on system drive |
| **Docker data** | .35 | `/mnt/hd/*/` | ? | Lidarr, Radarr, Sonarr, etc. data |
| **Websites** | .13 | `/var/www/` | ? | Active web projects |
| **Docker on .13** | .13 | `/home/sam/Docker/` | ? | |
### Personal Data (frequent access)
| Data | Current Location(s) | Size | Notes |
|------|-------------------|------|-------|
| **Dev projects** | .27 `~/...` | ? | NixOS, coding projects |
| **Old web work** | .13 `ALL_TRANFERS/` + .27 `/mnt/backup/` | ? | htdocs, PHP, etc. — **DUPLICATED** |
| **Arduino / IoT** | .13 `ALL_TRANFERS` + SmartDrive | ? | **DUPLICATED** |
| **Flash AS3.0** | .13 `ALL_TRANFERS` | ? | Rarely accessed |
| **Music** | .13 + .27 | ? | **DUPLICATED** |
| **Sheet music** | ? | ? | Could move to Obsidian |
| **Family notes** | ? | ? | Could move to Obsidian |
| **TODO lists** | Obsidian + ? | — | Already in Obsidian |
| **Movies/TV** | .35 `/mnt/hd/` + .13 | ? | Jellyfin media |
| **Display screen + website builder** | ? | ? | Large project? |
### Archive / Rarely Accessed (cold storage)
| Data | Current Location(s) | Size | Notes |
|------|-------------------|------|-------|
| **Sorted photos (20032023)** | .13 `sorted_pictures_holder/` | ~? | 31K photos, already organized |
| **Old subject-organized photos** | .27 `/mnt/backup/` + .13 | ~? | **DUPLICATED** |
| **Integral300 recovery .img** | .27 `/mnt/tempbackup/` | 298G | Keep or delete? |
| **Integral300 backup** | .27 SmartDrive `integral300_backup_...` | 105G | Already extracted — delete? |
| **Windows old drives** | .13 `/mnt/storage/` | 271G used | Old Windows files |
| **Old Windows data drive** | .13 `/mnt/data/` | 1.5T used | ALL_TRANFERS, etc. — **DUPLICATED** |
### Backup Repos (stay where they are)
| Repo | Machine | Path | Size |
|------|---------|------|------|
| Borg .27 repo | .13 | `/mnt/ubuntu_storage_3TB/backup/borg/.27` | ~? |
| Borg .13 repo | .13 | `/mnt/ubuntu_storage_3TB/backup/borg/.13` | ~? |
| Kopia repo | .23 (via .35) | `/mnt/nfs_usb_3tb/kopia/` | 46G |
| Restic repo | .23 (via .35) | `/mnt/nfs_usb_3tb/backups/restic/` | 13G |
---
## Drive Role Assignment
### Always-On Drives (mounted 24/7)
| Machine | Drive | Mount | Role | Filesystem |
|---------|-------|-------|------|------------|
| **.35** | `vda1` (My Passport) | `/mnt/hd` | **Active data** — Immich, Jellyfin, Docker service data, current projects | NTFS (cross-platform) |
| **.13** | `sdd1` (ubuntu_storage_3TB) | `/mnt/ubuntu_storage_3TB` | **Backup target** — Borg repos only | ext4 |
| **.13** | `sdb2` (Data) | `/mnt/data` | **Archive** — old photos, old web work, ALL_TRANFERS | NTFS (cross-platform) |
| **.13** | `sda2` (Storage) | `/mnt/storage` | **Windows legacy** — old Windows files | NTFS (cross-platform) |
### Warm-Swap Drives (plug in when needed)
| Drive | Size | Free | Role | Label |
|-------|------|------|------|-------|
| **SmartDrive** | 687G | 548G | **Transfer / temporary** — moving data between machines | `SmartDrive` |
| **TempBackup** | 458G | 136G | **Offline backup** — secondary copy of critical data | `TempBackup` |
| **Back Up** | 224G | 158G | **Legacy** — old photos (read-only NTFS) | `Back Up` (NTFS) |
| **MaxtorBackup** | 1.4T | 1.3T | **Archive target** — empty, ready for use | `MaxtorBackup` |
---
## Proposed Folder Hierarchy
### On `.35` — `/mnt/hd/` (My Passport — NTFS) — Active Data
This is the hot data tier — always accessible via Docker, Samba, etc.
```
/mnt/hd/
├── services/ ← Docker service data (bind-mounted)
│ ├── immich/ ── Already here
│ ├── audiobookshelf/
│ ├── lidarr/
│ ├── radarr/
│ ├── sonarr/
│ ├── qbittorrent/
│ ├── readarr/
│ ├── headphones/
│ ├── spotweb/
│ ├── nextcloud/ ── Future?
│ └── paperless/ ── Already on NFS
├── media/ ← Jellyfin media library
│ ├── movies/
│ ├── tv/
│ ├── music/
│ ├── audiobooks/
│ ├── podcasts/
│ └── books/
└── projects/ ← Current active projects
├── web/
├── arduino/
├── nixos/
└── ...
```
### On `.13` — `/mnt/data/` (NTFS) — Archive & Warm Data
This is the archive tier — old projects, old photos, everything rarely accessed but worth keeping.
```
/mnt/data/
├── archive/
│ ├── photos/ ← Consolidated photo archive
│ │ ├── sorted_pictures_holder/ ── From ALL_TRANFERS
│ │ └── old_subject_organized/ ── From Back Up drive + PICTURES_GROUPED_SUBJECT_OLD
│ ├── web_work/ ← Old htdocs, PHP, Flash AS3.0 projects
│ ├── arduino_iot/
│ ├── music/
│ ├── sheet_music/
│ ├── family_notes/
│ └── integral300/ ← Recovery .img moved here from .27
└── transfer/ ← Staging area for moving data between machines
```
### On `.13` — `/mnt/ubuntu_storage_3TB/` (ext4) — Master Archive + Backup Repo
This is the **primary archive** drive — 2.1T free, always-on, reliable ext4.
```
/mnt/ubuntu_storage_3TB/
├── archive/ ← Consolidated cold/warm data
│ ├── photos/ ← 471G — Built 2026-05-28 ✓
│ ├── web_work/ ← Old htdocs, PHP, Flash AS3.0 — TBD
│ ├── music/ ← TBD
│ ├── movies_tv/ ← TBD (or belongs on .35 for Jellyfin?)
│ ├── documents/ ← TBD
│ └── projects/ ← Arduino, IoT, misc projects — TBD
├── transfer/ ← Staging area for moving data
└── backup/
├── borg/
│ ├── .13/ ← .13 local backups
│ └── .27/ ← .27 backups via SSH
└── restic/ ← Future: secondary restic target?
```
### On `.35` — `/mnt/hd/` (My Passport, NTFS) — Active Data + Media
This drive is **always-on** for Docker services. 1.2T free.
```
/mnt/hd/
├── services/ ← Docker service data (as-is)
│ ├── immich/
│ ├── audiobookshelf/
│ ├── lidarr/, radarr/, sonarr/
│ ├── qbittorrent/
│ └── ...
├── media/ ← Jellyfin library
│ ├── movies/ ← Could come from ALL_TRANFERS/MOVIES_TV
│ ├── tv/
│ ├── music/ ← Could come from ALL_TRANFERS/Music
│ └── ...
└── projects/ ← Active dev projects
```
---
## Consolidation Actions
### Phase 1 — Eliminate Duplicates
| What | Duplicated Where | Action |
|------|-----------------|--------|
| Old subject-organized photos | .27 `/mnt/backup/` + .13 `PICTURES_GROUPED_SUBJECT_OLD` | Delete from .27 (keep .13 copy) |
| Integral300 extracted backup | .27 SmartDrive `integral300_backup_...` | Delete — recovery .img is the source of truth |
| Arduino / IoT files | .13 ALL_TRANFERS + SmartDrive | Consolidate to .13 archive |
| Old web work (htdocs) | Multiple places | Consolidate to .13 `/mnt/data/archive/web_work/` |
### Phase 2 — Consolidate to Right Drives
| What | Move From | Move To | When |
|------|----------|---------|------|
| Integral300 recovery .img | .27 `/mnt/tempbackup/` | .13 `/mnt/data/archive/integral300/` | Phase 2 |
| Sorted photos | .13 `ALL_TRANFERS/Pictures/sorted_pictures_holder/` | .13 `/mnt/data/archive/photos/` | Phase 2 |
| Old web work | .13 `ALL_TRANFERS/` | .13 `/mnt/data/archive/web_work/` | Phase 2 |
### Phase 3 — System Rebalancing
| Action | Reason |
|--------|--------|
| Mount MaxtorBackup as **offline backup** repository | Provides a second physical copy of backup repos |
| Configure periodic rsync from .23 backup repos → MaxtorBackup | .23 has no backup — this covers it |
| Clean up old empty stub directories on .35 `/mnt/hd/` | Remove Western Digital installer files, System Volume Information |
---
## Always-Connected vs Hot-Swap
| Drive | Connection | Why |
|-------|-----------|-----|
| **.35** My Passport (vda, /mnt/hd) | **Always on** | Immich, Jellyfin, Docker services need this |
| **.13** ubuntu_storage_3TB | **Always on** | Backup target — Borg runs daily |
| **.13** Data (sdb) | **Always on** | Archive data, accessible to network |
| **.13** Storage (sda) | **Always on** | Old Windows files |
| **.27** SmartDrive | **Hot-swap** | Only needed during data transfers |
| **.27** TempBackup | **Hot-swap** | Temporary storage / cache |
| **.27** Back Up | **Hot-swap** | Legacy — eventually retire |
| **MaxtorBackup** | **Hot-swap** | Offline backup — plug in monthly |
---
## Decisions (2026-05-28)
1.**Keep Immich and Jellyfin on same drive (.35 My Passport)** — different purposes (home photos vs movies)
2.**Photos need careful plan** — keep one master copy + backup. `temp_transfer` and other photo collections also need consolidation into the archive
3.**Do not back up .13**`.27`'s data is already backed up via Borg, `.13`'s websites are in Gitea (git), no local backup needed
4.**.27 drives can be renamed** — SmartDrive, TempBackup, Back Up, XPSystemDrive. Other machines' drives stay as-is
---
## Remaining ALL_TRANFERS Data — Consolidation Needed
Still on `.13` at `/mnt/data/ALL_TRANFERS/`, not yet archived:
| Folder | Size | Category | Proposed Home | Notes |
|--------|------|----------|---------------|-------|
| **MOVIES_TV/** | **341G** | Media | .35 `/mnt/hd/media/` for Jellyfin **OR** .13 archive | Decision: Jellyfin needs them accessible |
| **sam rolfe/** | **137G** | Mixed | .13 `/mnt/ubuntu_storage_3TB/archive/` | Need to sort — has photos + docs |
| **WORK/** | **130G** | Old web work | .13 `/mnt/ubuntu_storage_3TB/archive/web_work/` | htdocs, PHP, Flash AS3.0, etc. |
| **Music/** | **121G** | Music | .35 `/mnt/hd/media/music/` for Jellyfin **OR** .13 archive | Same question as MOVIES |
| **DOCUMENTS/** | 2.5G | Documents | .13 archive **OR** Obsidian | Family notes, sheet music, TODO lists |
| **sams_piano_recordings/** | 766M | Audio | .35 `/mnt/hd/media/music/` **OR** .13 archive | Personal recordings |
| **UNI_STUDY/** | 167M | Education | .13 archive | Old uni materials |
| **phone_recordings/** | 12M | Audio | .13 archive | Phone recordings |
## Key Decisions Needed
### 1. Where should MOVIES/TV and Music live?
| Option | Pro | Con |
|--------|-----|-----|
| **On .35** `/mnt/hd/media/` | Jellyfin reads them directly, no network mount | Fills My Passport (341G + 121G = 462G) |
| **On .13** archive, Jellyfin accesses via NFS | Keeps .35 drive leaner | Adds network dependency for Jellyfin |
### 2. Where should old web work go?
Likely `.13` `/mnt/ubuntu_storage_3TB/archive/web_work/` — rarely accessed, belongs in cold storage.
### 3. What about `.27` drives?
SmartDrive and TempBackup can be unplugged now. Back Up and XPSystemDrive can stay disconnected too.
---
## Open Questions
- [ ] MOVIES_TV — on .35 or .13?
- [ ] Music — on .35 or .13?
- [ ] Integral300 recovery .img (298G) — keep or delete?
- [ ] Should `.23` get its own backup?
- [ ] What naming convention for .27 drives (SmartDrive, TempBackup, etc.)?
- [ ] Clean up `.35` My Passport root — remove Western Digital installer .exe/.dmg and System Volume Information?