33800 Docs

← Retour

Upgrade RAM 32Go + Migration SATA HGST

Date : 03-01-2026 Status : En attente de validation


Objectifs

  1. RAM : Passer de 64 Go à 96 Go sur PVE (ajout 2x16 Go DDR4)
  2. SATA : Reconnecter les 5 disques HGST 12 To en SATA (actuellement USB)

Plan d'exécution

Phase 1 - Arrêt propre des services

# 1. Arrêter tous les containers Docker sur docker-prod
ssh gouroubleu@docker-prod.local "docker stop \$(docker ps -q)"

# 2. Démonter NFS sur les clients
ssh gouroubleu@docker-prod.local "sudo umount /mnt/stock_36to"
sudo umount /mnt/stock_36to

# 3. Arrêter NFS et SMB sur PVE
ssh gouroubleu@pve.local "sudo systemctl stop nfs-kernel-server"
ssh gouroubleu@pve.local "sudo systemctl stop smbd"

# 4. Exporter le pool ZFS (CRITIQUE)
ssh gouroubleu@pve.local "sudo zpool export stock_36to"

# 5. Vérifier que le pool est exporté
ssh gouroubleu@pve.local "sudo zpool list"
# stock_36to ne doit plus apparaître, stock_8to reste

# 6. Éteindre PVE
ssh gouroubleu@pve.local "sudo shutdown now"

Phase 2 - Intervention physique (toi)

  1. Ouvrir le boîtier PVE
  2. Installer les 2x16 Go DDR4 dans les slots libres
  3. Débrancher les 5 câbles USB des disques HGST
  4. Connecter les 5 disques HGST en SATA sur la carte mère
  5. Vérifier les alimentations
  6. Refermer et rallumer

Phase 3 - Vérification et import

# 1. Vérifier la RAM détectée
ssh gouroubleu@pve.local "free -h"
# Doit afficher ~94-96 Go

# 2. Vérifier que les disques SATA sont détectés
ssh gouroubleu@pve.local "lsblk | grep -E 'sd[a-z].*11'"
# Les 5 HGST 12To doivent apparaître

# 3. Scanner et importer le pool ZFS
ssh gouroubleu@pve.local "sudo zpool import"
ssh gouroubleu@pve.local "sudo zpool import stock_36to"

# 4. Vérifier l'intégrité
ssh gouroubleu@pve.local "sudo zpool status stock_36to"
# Doit être ONLINE sans erreurs

Phase 4 - Reconfiguration ARC et redémarrage services

# 1. Configurer l'ARC ZFS (50 Go max, 30 Go min)
ssh gouroubleu@pve.local "echo 'options zfs zfs_arc_max=53687091200 zfs_arc_min=32212254720' | sudo tee /etc/modprobe.d/zfs.conf"

# 2. Appliquer immédiatement
ssh gouroubleu@pve.local "echo 53687091200 | sudo tee /sys/module/zfs/parameters/zfs_arc_max"
ssh gouroubleu@pve.local "echo 32212254720 | sudo tee /sys/module/zfs/parameters/zfs_arc_min"

# 3. Redémarrer NFS et SMB
ssh gouroubleu@pve.local "sudo systemctl start nfs-kernel-server"
ssh gouroubleu@pve.local "sudo systemctl start smbd"

# 4. Remonter NFS sur les clients
sudo mount /mnt/stock_36to
ssh gouroubleu@docker-prod.local "sudo mount /mnt/stock_36to"

# 5. Redémarrer Docker stacks
ssh gouroubleu@docker-prod.local "cd /mnt/stock_36to/data/33800-stack/docker/stacks/redis-prod && docker compose up -d"
ssh gouroubleu@docker-prod.local "cd /mnt/stock_36to/data/33800-stack/docker/stacks/supabase-prod && docker compose up -d"
ssh gouroubleu@docker-prod.local "cd /mnt/stock_36to/data/33800-stack/docker/stacks/monitoring && docker compose up -d"
ssh gouroubleu@docker-prod.local "cd /mnt/stock_36to/data/33800-stack/docker/stacks/notifications && docker compose up -d"
ssh gouroubleu@docker-prod.local "docker start hellocar-api-prod hellocar-public-prod hellocar-admin-prod"
ssh gouroubleu@docker-prod.local "docker start notif-logger yolo-api whisper-api"

Phase 5 - Vérification finale

# Script tout-en-un
echo "=== RAM ===" && \
ssh gouroubleu@pve.local "free -h | head -2" && \
echo "=== ARC ZFS ===" && \
ssh gouroubleu@pve.local "cat /proc/spl/kstat/zfs/arcstats | grep -E '^c_max|^c_min'" && \
echo "=== ZFS Pools ===" && \
ssh gouroubleu@pve.local "sudo zpool status stock_36to | head -15" && \
echo "=== NFS claude ===" && \
ls /mnt/stock_36to/data/33800-stack/ | head -3 && \
echo "=== Docker ===" && \
ssh gouroubleu@docker-prod.local "docker ps --format 'table {{.Names}}\t{{.Status}}' | head -10" && \
echo "=== Redis ===" && \
ssh gouroubleu@docker-prod.local "docker exec redis-prod redis-cli PING"

Checklist finale


Durée estimée

Total : ~35-40 min


Rollback si problème

Pool non trouvé

ssh gouroubleu@pve.local "sudo zpool import -d /dev/disk/by-id"
ssh gouroubleu@pve.local "ls -la /dev/disk/by-id/ | grep HGST"

RAM non détectée


En attente de validation pour lancer Phase 1