Beryl::CLI::Reboot
Sous-commande beryl reboot <host> [--soft|--hard] (étape H3) :
redémarre un host puis (optionnellement) déverrouille les pools
chiffrés et relance les services applicatifs.
Deux modes :
--soft (défaut) : par la connexion de beryl (compte connect_user,
rebond compris), shutdown -r now (FreeBSD) ou systemctl reboot
(Linux), par sudo -n hors root. Sécurise (le serveur synchronise
ses disques, ferme proprement les services). Échoue si SSH ou sudo
refuse.
--hard : power cycle via API hébergeur (équivalent bouton
power physique). Marche TOUJOURS, ne dépend pas de l'état du
système. Indispensable quand sshd ne répond plus (kernel panic,
freeze) et qu'on n'a pas d'IPMI/KVM.
Après reboot, attend que la machine réponde avec un NOUVEL identifiant de
démarrage (boot_id / kern.boottime, preuve d'un vrai redémarrage), puis (si pools chiffrés déclarés)
enchaîne automatiquement avec un beryl unlock pour rouvrir les
datasets et redémarrer les services.
Constants
Identifiant du démarrage en cours : boot_id (Linux), sinon
kern.boottime (FreeBSD). Il change à chaque démarrage : c'est la
preuve qu'un redémarrage a VRAIMENT eu lieu (un sshd qui répond ne
prouve rien). Enveloppé dans sh -c : le shell de connexion peut être
csh, qui lit mal les redirections.
Class methods
Ce que montre une tentative, pour l'affichage pendant l'attente.
Commande qui lance le redémarrage en arrière-plan (la session SSH rend
la main avant que le système ne s'arrête) : systemctl reboot sous
Linux, shutdown -r now sur FreeBSD, par sudo -n hors root.
Redémarré : la machine répond, avec un identifiant de démarrage différent de celui relevé avant (ou, s'il était inconnu, n'importe lequel).