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
- [ ] Débugger generate.sh (notifications push)
- [ ] Fixer needfinder-collector-dev