Beryl::Config::Zpool
Traduction entre les niveaux RAID numériques (convention
utilisateur, parlante) et les modes ZFS (convention bsdinstall
ZFSBOOT_VDEV_TYPE). Philippe 22 avril 2026 : « Je préfère une
valeur de raid plutôt que la valeur FreeBSD qui n'est pas parlante ».
Mapping :
raid zfs min tolérance capacité usage ──── ───── ─── ──────────── ────────── ───────────────── 0 stripe 1 0 Σ(disques) perf max, backup 1 mirror 2 N-1 1 disque 2 disques, critique 5 raidz 3 1 Σ-1 3-5 disques 6 raidz2 4 2 Σ-2 6-8 disques 7 raidz3 5 3 Σ-3 8+ disques 10 mirror×N 4 1 par paire Σ/2 bases de données
Le cas 10 (miroirs de paires consécutives) : pools data, et pool boot
avec install_type: packages (script pkgbase, zpool create mirror… mirror…) ; bsdinstall (ZFSBOOT_VDEV_TYPE) ne gère qu'un type de vdev.
Constants
Nombre minimum de disques par mode. Validation au moment du bootstrap (Beryl::Config::Zpool.validate!).
Table de référence : valeur RAID (Int32) → mode ZFS (String).
Instance methods
Légende 0=stripe 1=mirror … des niveaux donnés.
Niveaux réalisables avec disks_count disques (mêmes règles que
validate!), dans l'ordre croissant. Sert à ne PROPOSER que ceux-là.
Valide la compatibilité entre le niveau RAID et le nombre de disques déclarés. Lève avec message explicite sinon.