storage: rename ZFS datasets — jellyfin→media, immich→photos, games children restructured
- media-pool/jellyfin renamed to media-pool/media (mountpoint /data/media unchanged) - media-pool/immich renamed to media-pool/photos (mountpoint /data/photos unchanged) - media-pool/minecraft → media-pool/games/minecraft (child of games) - media-pool/factorio → media-pool/games/factorio (child of games) - media-pool/openttd → media-pool/games/openttd (child of games) - Individual game quotas removed; single 1T quota set on media-pool/games - Removed stale legacy /media-pool/jellyfin etc. from HP /etc/exports - Updated pvs.yaml section headers to reflect new ZFS dataset names Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
This commit is contained in:
parent
e1a482c500
commit
12b62bea00
1 changed files with 351 additions and 0 deletions
351
deployment/storage/ha-pvs/pvs.yaml
Normal file
351
deployment/storage/ha-pvs/pvs.yaml
Normal file
|
|
@ -0,0 +1,351 @@
|
|||
---
|
||||
# HA Persistent Volumes — Dell NFS primary via keepalived VIP 192.168.2.252
|
||||
# On Dell failure, VIP moves to HP which serves identical paths via rsync mirror
|
||||
# All PVs use reclaimPolicy: Retain to protect data
|
||||
|
||||
# ==================== MEDIA (Jellyfin) — ZFS: media-pool/media ====================
|
||||
apiVersion: v1
|
||||
kind: PersistentVolume
|
||||
metadata:
|
||||
name: jellyfin-media-pv
|
||||
spec:
|
||||
capacity:
|
||||
storage: 650Gi
|
||||
accessModes: [ReadWriteOnce]
|
||||
persistentVolumeReclaimPolicy: Retain
|
||||
storageClassName: ""
|
||||
nfs:
|
||||
server: 192.168.2.252
|
||||
path: /data/media/media
|
||||
claimRef:
|
||||
namespace: media
|
||||
name: jellyfin-media-v2-pvc
|
||||
---
|
||||
apiVersion: v1
|
||||
kind: PersistentVolume
|
||||
metadata:
|
||||
name: jellyfin-config-pv
|
||||
spec:
|
||||
capacity:
|
||||
storage: 10Gi
|
||||
accessModes: [ReadWriteOnce]
|
||||
persistentVolumeReclaimPolicy: Retain
|
||||
storageClassName: ""
|
||||
nfs:
|
||||
server: 192.168.2.252
|
||||
path: /data/media/jellyfin-config
|
||||
claimRef:
|
||||
namespace: media
|
||||
name: jellyfin-config-v2-pvc
|
||||
---
|
||||
apiVersion: v1
|
||||
kind: PersistentVolume
|
||||
metadata:
|
||||
name: jellyfin-cache-pv
|
||||
spec:
|
||||
capacity:
|
||||
storage: 10Gi
|
||||
accessModes: [ReadWriteOnce]
|
||||
persistentVolumeReclaimPolicy: Retain
|
||||
storageClassName: ""
|
||||
nfs:
|
||||
server: 192.168.2.252
|
||||
path: /data/media/jellyfin-cache
|
||||
claimRef:
|
||||
namespace: media
|
||||
name: jellyfin-cache-v2-pvc
|
||||
---
|
||||
# ==================== PHOTOS (Immich) — ZFS: media-pool/photos ====================
|
||||
apiVersion: v1
|
||||
kind: PersistentVolume
|
||||
metadata:
|
||||
name: immich-library-pv
|
||||
spec:
|
||||
capacity:
|
||||
storage: 290Gi
|
||||
accessModes: [ReadWriteOnce]
|
||||
persistentVolumeReclaimPolicy: Retain
|
||||
storageClassName: ""
|
||||
nfs:
|
||||
server: 192.168.2.252
|
||||
path: /data/photos/immich-library
|
||||
claimRef:
|
||||
namespace: media
|
||||
name: immich-library-v2-pvc
|
||||
---
|
||||
apiVersion: v1
|
||||
kind: PersistentVolume
|
||||
metadata:
|
||||
name: immich-db-pv
|
||||
spec:
|
||||
capacity:
|
||||
storage: 20Gi
|
||||
accessModes: [ReadWriteOnce]
|
||||
persistentVolumeReclaimPolicy: Retain
|
||||
storageClassName: ""
|
||||
nfs:
|
||||
server: 192.168.2.252
|
||||
path: /data/photos/immich-db
|
||||
claimRef:
|
||||
namespace: media
|
||||
name: immich-db-v2-pvc
|
||||
---
|
||||
apiVersion: v1
|
||||
kind: PersistentVolume
|
||||
metadata:
|
||||
name: immich-ml-cache-pv
|
||||
spec:
|
||||
capacity:
|
||||
storage: 20Gi
|
||||
accessModes: [ReadWriteOnce]
|
||||
persistentVolumeReclaimPolicy: Retain
|
||||
storageClassName: ""
|
||||
nfs:
|
||||
server: 192.168.2.252
|
||||
path: /data/photos/immich-ml-cache
|
||||
claimRef:
|
||||
namespace: media
|
||||
name: immich-ml-cache-v2-pvc
|
||||
---
|
||||
apiVersion: v1
|
||||
kind: PersistentVolume
|
||||
metadata:
|
||||
name: immich-valkey-pv
|
||||
spec:
|
||||
capacity:
|
||||
storage: 1Gi
|
||||
accessModes: [ReadWriteOnce]
|
||||
persistentVolumeReclaimPolicy: Retain
|
||||
storageClassName: ""
|
||||
nfs:
|
||||
server: 192.168.2.252
|
||||
path: /data/photos/immich-valkey
|
||||
claimRef:
|
||||
namespace: media
|
||||
name: immich-valkey-v2-pvc
|
||||
---
|
||||
# ==================== STORAGE (OwnCloud) ====================
|
||||
apiVersion: v1
|
||||
kind: PersistentVolume
|
||||
metadata:
|
||||
name: owncloud-files-pv
|
||||
spec:
|
||||
capacity:
|
||||
storage: 190Gi
|
||||
accessModes: [ReadWriteOnce]
|
||||
persistentVolumeReclaimPolicy: Retain
|
||||
storageClassName: ""
|
||||
nfs:
|
||||
server: 192.168.2.252
|
||||
path: /data/owncloud/owncloud-files
|
||||
claimRef:
|
||||
namespace: storage
|
||||
name: owncloud-files-v2-pvc
|
||||
---
|
||||
apiVersion: v1
|
||||
kind: PersistentVolume
|
||||
metadata:
|
||||
name: owncloud-mariadb-pv
|
||||
spec:
|
||||
capacity:
|
||||
storage: 5Gi
|
||||
accessModes: [ReadWriteOnce]
|
||||
persistentVolumeReclaimPolicy: Retain
|
||||
storageClassName: ""
|
||||
nfs:
|
||||
server: 192.168.2.252
|
||||
path: /data/owncloud/mariadb
|
||||
claimRef:
|
||||
namespace: storage
|
||||
name: owncloud-mariadb-v2-pvc
|
||||
---
|
||||
apiVersion: v1
|
||||
kind: PersistentVolume
|
||||
metadata:
|
||||
name: owncloud-redis-pv
|
||||
spec:
|
||||
capacity:
|
||||
storage: 1Gi
|
||||
accessModes: [ReadWriteOnce]
|
||||
persistentVolumeReclaimPolicy: Retain
|
||||
storageClassName: ""
|
||||
nfs:
|
||||
server: 192.168.2.252
|
||||
path: /data/owncloud/redis
|
||||
claimRef:
|
||||
namespace: storage
|
||||
name: owncloud-redis-v2-pvc
|
||||
---
|
||||
# ==================== GAMES (Minecraft) ====================
|
||||
apiVersion: v1
|
||||
kind: PersistentVolume
|
||||
metadata:
|
||||
name: minecraft-home-pv
|
||||
spec:
|
||||
capacity:
|
||||
storage: 10Gi
|
||||
accessModes: [ReadWriteOnce]
|
||||
persistentVolumeReclaimPolicy: Retain
|
||||
storageClassName: ""
|
||||
nfs:
|
||||
server: 192.168.2.252
|
||||
path: /data/games/minecraft/home
|
||||
claimRef:
|
||||
namespace: games
|
||||
name: minecraft-home-v2-pvc
|
||||
---
|
||||
apiVersion: v1
|
||||
kind: PersistentVolume
|
||||
metadata:
|
||||
name: minecraft-cheats-pv
|
||||
spec:
|
||||
capacity:
|
||||
storage: 10Gi
|
||||
accessModes: [ReadWriteOnce]
|
||||
persistentVolumeReclaimPolicy: Retain
|
||||
storageClassName: ""
|
||||
nfs:
|
||||
server: 192.168.2.252
|
||||
path: /data/games/minecraft/cheats
|
||||
claimRef:
|
||||
namespace: games
|
||||
name: minecraft-cheats-v2-pvc
|
||||
---
|
||||
apiVersion: v1
|
||||
kind: PersistentVolume
|
||||
metadata:
|
||||
name: minecraft-creative-pv
|
||||
spec:
|
||||
capacity:
|
||||
storage: 10Gi
|
||||
accessModes: [ReadWriteOnce]
|
||||
persistentVolumeReclaimPolicy: Retain
|
||||
storageClassName: ""
|
||||
nfs:
|
||||
server: 192.168.2.252
|
||||
path: /data/games/minecraft/creative
|
||||
claimRef:
|
||||
namespace: games
|
||||
name: minecraft-creative-v2-pvc
|
||||
---
|
||||
apiVersion: v1
|
||||
kind: PersistentVolume
|
||||
metadata:
|
||||
name: minecraft-johannes-pv
|
||||
spec:
|
||||
capacity:
|
||||
storage: 10Gi
|
||||
accessModes: [ReadWriteOnce]
|
||||
persistentVolumeReclaimPolicy: Retain
|
||||
storageClassName: ""
|
||||
nfs:
|
||||
server: 192.168.2.252
|
||||
path: /data/games/minecraft/johannes
|
||||
claimRef:
|
||||
namespace: games
|
||||
name: minecraft-johannes-v2-pvc
|
||||
---
|
||||
apiVersion: v1
|
||||
kind: PersistentVolume
|
||||
metadata:
|
||||
name: minecraft-noah-pv
|
||||
spec:
|
||||
capacity:
|
||||
storage: 10Gi
|
||||
accessModes: [ReadWriteOnce]
|
||||
persistentVolumeReclaimPolicy: Retain
|
||||
storageClassName: ""
|
||||
nfs:
|
||||
server: 192.168.2.252
|
||||
path: /data/games/minecraft/noah
|
||||
claimRef:
|
||||
namespace: games
|
||||
name: minecraft-noah-v2-pvc
|
||||
---
|
||||
# ==================== GAMES (Factorio / OpenTTD) ====================
|
||||
apiVersion: v1
|
||||
kind: PersistentVolume
|
||||
metadata:
|
||||
name: factorio-alone-pv
|
||||
spec:
|
||||
capacity:
|
||||
storage: 5Gi
|
||||
accessModes: [ReadWriteOnce]
|
||||
persistentVolumeReclaimPolicy: Retain
|
||||
storageClassName: ""
|
||||
nfs:
|
||||
server: 192.168.2.252
|
||||
path: /data/games/factorio/alone
|
||||
claimRef:
|
||||
namespace: games
|
||||
name: factorio-alone-v2-pvc
|
||||
---
|
||||
apiVersion: v1
|
||||
kind: PersistentVolume
|
||||
metadata:
|
||||
name: openttd-pv
|
||||
spec:
|
||||
capacity:
|
||||
storage: 2Gi
|
||||
accessModes: [ReadWriteOnce]
|
||||
persistentVolumeReclaimPolicy: Retain
|
||||
storageClassName: ""
|
||||
nfs:
|
||||
server: 192.168.2.252
|
||||
path: /data/games/openttd/main
|
||||
claimRef:
|
||||
namespace: games
|
||||
name: openttd-v2-pvc
|
||||
---
|
||||
# ==================== INFRASTRUCTURE ====================
|
||||
apiVersion: v1
|
||||
kind: PersistentVolume
|
||||
metadata:
|
||||
name: general-db-pv
|
||||
spec:
|
||||
capacity:
|
||||
storage: 10Gi
|
||||
accessModes: [ReadWriteOnce]
|
||||
persistentVolumeReclaimPolicy: Retain
|
||||
storageClassName: ""
|
||||
nfs:
|
||||
server: 192.168.2.252
|
||||
path: /data/infra/general-db
|
||||
claimRef:
|
||||
namespace: infrastructure
|
||||
name: general-db-v2-pvc
|
||||
---
|
||||
apiVersion: v1
|
||||
kind: PersistentVolume
|
||||
metadata:
|
||||
name: speedtest-tracker-pv
|
||||
spec:
|
||||
capacity:
|
||||
storage: 1Gi
|
||||
accessModes: [ReadWriteOnce]
|
||||
persistentVolumeReclaimPolicy: Retain
|
||||
storageClassName: ""
|
||||
nfs:
|
||||
server: 192.168.2.252
|
||||
path: /data/infra/speedtest
|
||||
claimRef:
|
||||
namespace: infrastructure
|
||||
name: speedtest-tracker-v2-pvc
|
||||
---
|
||||
# ==================== IOT ====================
|
||||
apiVersion: v1
|
||||
kind: PersistentVolume
|
||||
metadata:
|
||||
name: iot-db-pv
|
||||
spec:
|
||||
capacity:
|
||||
storage: 10Gi
|
||||
accessModes: [ReadWriteOnce]
|
||||
persistentVolumeReclaimPolicy: Retain
|
||||
storageClassName: ""
|
||||
nfs:
|
||||
server: 192.168.2.252
|
||||
path: /data/infra/iot-db
|
||||
claimRef:
|
||||
namespace: iot
|
||||
name: iot-db-v2-pvc
|
||||
Loading…
Add table
Reference in a new issue