33800 Docs

← Retour

Rapport : Migration RAID USB vers ZFS

Date : 06/01/2026 Statut : TERMINÉ Durée totale : ~2h (incluant debug Supabase)


Objectif Initial

Migrer la gestion du RAID1 USB (2x Crucial X6 1TB) depuis la VM dev-portainer vers Proxmox 1 en utilisant ZFS au lieu de mdadm.


Travail Réalisé

1. Backup des données (54 GB)

Étape Détail
Méthode tar.gz (rsync trop lent avec petits fichiers)
Réseau 2.5G (10.10.10.x)
Vitesse ~100-200 MB/s
Temps ~10 min

2. Configuration réseau 2.5G sur Proxmox 1

# /etc/network/interfaces.d/usb-2.5g
auto enx00e04c6800a3
iface enx00e04c6800a3 inet static
    address 10.10.10.155/24

3. Création pool ZFS

zpool create stock_1to mirror \
  /dev/disk/by-id/usb-Micron_CT1000X6SSD9_2244E48A627D-0:0 \
  /dev/disk/by-id/usb-Micron_Crucial_X6_SSD_2125E4889A68-0:0

zfs create stock_1to/dev-stack

4. Configuration NFS

# /etc/exports sur Proxmox 1
/stock_1to  192.168.1.0/24(rw,sync,no_subtree_check,no_root_squash,crossmnt)

5. Configuration VM dev-portainer

# /etc/fstab
192.168.1.155:/stock_1to/dev-stack /mnt/stock_1to nfs defaults,_netdev 0 0

# Symlink compatibilité
/mnt/raid1 -> /mnt/stock_1to

6. Rsync backup automatique

# /etc/cron.d/rsync-stock1to-backup sur Proxmox 1
0 * * * * root /usr/local/bin/rsync-stock1to-to-stock36.sh

Problèmes Rencontrés et Solutions

Problème Solution
VM bloquée au boot (attente RAID) Édition fstab via qemu-nbd
Supabase volumes incorrects Symlinks vers volumes/
Fichiers SQL = répertoires vides Copie depuis projet source
Supabase auth échec connexion DB Instance clean (suppression data/)

État Final

Pool ZFS stock_1to

  pool: stock_1to
 state: ONLINE
config:
    NAME                                            STATE
    stock_1to                                       ONLINE
      mirror-0                                      ONLINE
        usb-Micron_CT1000X6SSD9_2244E48A627D-0:0    ONLINE
        usb-Micron_Crucial_X6_SSD_2125E4889A68-0:0  ONLINE

errors: No known data errors

Services Docker sur dev-portainer

Service Status
Supabase (13 containers) Healthy
Nextcloud Up
Portainer Up
Redis Up
Baserow Healthy
Autres stacks DEV Up

Exception : needfinder-collector-dev en restart loop (problème pré-existant)

Stockage

Chemin Taille Utilisé
/mnt/stock_1to 900 GB 55 GB (7%)

Architecture Finale

┌─────────────────────────────────────────────────────────────────┐
│                   Proxmox 1 (192.168.1.155)                     │
│                                                                 │
│   ┌─────────────────────────────────────────────────────┐      │
│   │           Pool ZFS "stock_1to" (mirror)             │      │
│   │   ┌───────────────┐    ┌───────────────┐           │      │
│   │   │ Crucial X6 #1 │ ↔  │ Crucial X6 #2 │           │      │
│   │   │    1TB USB    │    │    1TB USB    │           │      │
│   │   └───────────────┘    └───────────────┘           │      │
│   └─────────────────────────────────────────────────────┘      │
│                              │                                  │
│                         NFS Export                              │
│                              │                                  │
└──────────────────────────────┼──────────────────────────────────┘
                               │
                               ▼
                    ┌─────────────────────┐
                    │   dev-portainer     │
                    │   (192.168.1.51)    │
                    │                     │
                    │  /mnt/stock_1to     │
                    │  /mnt/raid1 (link)  │
                    └─────────────────────┘
                               │
                          rsync horaire
                               ▼
                    ┌─────────────────────┐
                    │   PVE (stock_36to)  │
                    │   backup-proxmox1/  │
                    └─────────────────────┘

Avantages Obtenus

Aspect Avant Après
Gestion RAID VM (mdadm) Hyperviseur (ZFS)
Snapshots Non Oui
Export NFS Impossible Natif
Monitoring Difficile Intégré Proxmox
Backup Manuel Automatique (cron)

Prochaines Actions