Beryl::CLI::RaidController
Pilotage d'un contrôleur RAID MATÉRIEL (MegaRAID, via storcli) DANS LE
RESCUE, avant bootstrap. Le rescue OVH ne fournit aucun outil contrôleur
→ on récupère storcli depuis storcli_url (cf. acme/infra-bin), puis
on liste / détruit / reconfigure les volumes.
DESTRUCTIF, mais en rescue (avant install) → 100 % rejouable. Après une
reconfiguration, on demande à l'opérateur de REBOOTER le rescue : les
disques se ré-énumèrent proprement, et un nouveau beryl scan voit le
résultat (JBOD = N disques bruts, ou le nouveau volume).
Les helpers de parsing / construction de commandes sont PURS (testables) ;
l'orchestration prend une SSH::Connection (le rescue).
Constants
Class methods
Nombre de contrôleurs d'après storcli show ctrlcount
(« Controller Count = N »).
Id du 1er contrôleur (on gère le cas mono-contrôleur, le commun) ; nil si storcli n'en voit aucun.
Slots des disques physiques vus par le CONTRÔLEUR (storcli), quel que soit ce que l'OS présente (volume = 1 disque OS, JBOD = N, « good » = 0). → permet de valider le niveau RAID sur le VRAI nombre de disques.
Télécharge storcli dans le rescue et vérifie qu'il s'exécute.
Slots des disques physiques d'après storcli /cX/eall/sall show :
la 1re colonne « EID:Slt » (ex. « 252:0 ») de chaque ligne disque.
Vrai si un contrôleur RAID matériel est présent sur le bus PCI — MÊME en JBOD (la carte reste un « RAID bus controller » côté lspci). Permet de proposer la (re)configuration même quand l'OS voit déjà des disques bruts (ex. carte déjà basculée en JBOD → on peut vouloir recréer un VD).
Traduit un niveau RAID numérique beryl en type storcli. Refuse les niveaux non gérés par une carte matérielle (ex. 7 = raidz3, ZFS only).
Recrée un volume matériel à raid_num sur les slots fournis (comptés
en amont par drive_slots). Séquence robuste depuis N'IMPORTE QUEL état
(JBOD, volume, ou « Unconfigured Good ») : delete VD → JBOD off → forcer
« good » → add vd. Sans la remise en « good » : « resources already in use ».
Bascule le contrôleur en JBOD (les disques physiques deviennent des disques bruts pour ZFS) : détruit les volumes puis active le JBOD.