Initial commit: homelab infrastructure wiki
- Full Obsidian vault content - Host configs (ice, grizzley, ubuntu, proxmox, truenas, panda, hyte) - Media stack documentation - Traefik HA setup - Automation scripts - Bachelor party planning
This commit is contained in:
66
homelab/concepts/nfs-storage.md
Normal file
66
homelab/concepts/nfs-storage.md
Normal file
@@ -0,0 +1,66 @@
|
||||
---
|
||||
title: NFS Storage Strategy
|
||||
created: 2026-04-28
|
||||
updated: 2026-04-28
|
||||
type: concept
|
||||
tags: [concept, storage, nas]
|
||||
sources: [../../homelab/architecture.md, ../../ai-assistant/workflows.md]
|
||||
---
|
||||
|
||||
# NFS Storage Strategy
|
||||
|
||||
TrueNAS NFS shares are used for user-uploaded data and media. Configs and databases stay on local VM disk.
|
||||
|
||||
## Storage Hierarchy
|
||||
|
||||
```
|
||||
TrueNAS (192.168.50.12)
|
||||
├── ZFS Pool "TrueNAS" (25.4TB, 65% used)
|
||||
│ ├── /mnt/truenas/mediadata/ ← Movies, TV, Music
|
||||
│ ├── /mnt/truenas/traefik-certs/ ← TLS certificates (NFS to grizzley)
|
||||
│ └── /mnt/truenas-backup/ ← Application backups
|
||||
└── ZFS Pool "RPiPool" (10.9TB, 5% used)
|
||||
└── /mnt/rpipooldata/ ← Reserve storage
|
||||
|
||||
PersonalMediaLibrary (separate NFS)
|
||||
└── /mnt/PersonalMediaLibrary/ ← Immich external library (photos)
|
||||
```
|
||||
|
||||
## Mount Rules
|
||||
|
||||
| Data Type | Storage Location | Example |
|
||||
|-----------|-----------------|---------|
|
||||
| User uploads (photos, media) | NFS (TrueNAS) | Immich photos, Jellyfin library |
|
||||
| App configs | VM local disk | docker-compose.yml, config/ |
|
||||
| Databases | VM local (postgres-shared) | PostgreSQL, Redis |
|
||||
| Media library | NFS (TrueNAS) | Movies, TV, Music |
|
||||
| Backups | NFS (TrueNAS) | Application backups |
|
||||
| TLS certificates | NFS (TrueNAS) | Wildcard certs synced to grizzley |
|
||||
|
||||
## NFS Exports
|
||||
|
||||
| Export | Mounted On | Consumer |
|
||||
|--------|-----------|---------|
|
||||
| `/mnt/truenas/mediadata` | `/mnt/truenas/mediadata` on ubuntu | Jellyfin, *Arrs, Immich uploads |
|
||||
| `/mnt/PersonalMediaLibrary` | `/mnt/PersonalMediaLibrary` on ubuntu | Immich external library |
|
||||
| `/mnt/truenas/traefik-certs/grizzley` | NFS on grizzley | Traefik TLS certificates |
|
||||
|
||||
## NFS Mount Checklist
|
||||
|
||||
Before using an NFS path in docker-compose, verify it exists in `/etc/fstab`:
|
||||
|
||||
```bash
|
||||
cat /etc/fstab | grep nfs
|
||||
```
|
||||
|
||||
## Known Issues
|
||||
|
||||
- **Pool corruption** — TrueNAS pool has known corruption issues (as of 2026-04-28). Monitor `truenas` entity page.
|
||||
- **rustfs ignores env vars** — S3 object storage ignores environment variables on first boot. See [[rustfs]].
|
||||
|
||||
## Related
|
||||
|
||||
- [[truenas]] — TrueNAS NAS entity
|
||||
- [[ubuntu]] — Ubuntu host with NFS mounts
|
||||
- [[jellyfin]] — Media server using NFS
|
||||
- [[vm-storage-policy]] — VM Storage Policy with full mount rules
|
||||
Reference in New Issue
Block a user