Je viens de recevoir un serveur Dell PowerEdge R310 (docs, specs) et aimerai y mettre plusieurs machines dessus. Une solution : la virtualisation.
Étant donné mon budget (proche de zéro), j'ai testé la solution gratuite de VMWare ESXi. Le support du matériel est assez impressionnant : la machine a été complètement reconnue et j'ai même retrouvé toutes les valeurs de tous les capteurs. Par contre, il semblerait qu'il faille absolument gérer tout ça depuis MS-Windows ⇒ trop lourd (démarrage d'une machine virtuelle Windows sur mon poste Linux pour pouvoir gérer une solution basée sur Linux !). En plus ce n'est pas une solution libre même si gratuite. Enfin, même si je n'ai pas trop cherché, j'ai l'impression qu'on ne peut pas se connecter sur une machine virtuelle depuis la console du serveur, ce qui peut être utile en cas de problème réseau notamment.
Du coup, je me rabats sur une solution que j'utilise depuis 4 ans sans aucun problème : Xen. J'avais écarté Xen dans un premier temps car j'ai pas été fichu d'installer une distribution Debian sur le R310 : le matériel n'était vraiment pas bien supporté notamment la carte RAID H700 (docs). Coup de bol, c'est supporté depuis quelques mois.
J'ai fait l'impasse sur KVM (Kernel-based Virtual Machine) qui, si j'ai bien compris, fait tourner une machine virtuelle dans un processus, car je n'ai pas trop le temps de tester et ça me semble un peu léger pour faire tourner plusieurs serveurs (je me trompe peut-être).
Note : cette doc contient probablement des erreurs. N'hésitez pas à m'en faire part (clarky CHEZ tuxfamily POINT org) pour que je puisse corriger.
Rien de bien exceptionnel : on télécharge l'ISO netinstall ici par exemple (même plus besoin d'installer en stable et mettre à jour ensuite).
À l'installation, rien de bien compliqué. J'ai créé un /
de 40Go + 1 peu de swap + le reste (~1To) qui sera monté en /vserver
où seront enregistrés les disques de mes machines virtuelles.
N'hésitez pas à aller consulter aussi le site de Dell sur le support Linux
on installe libsmbios-bin
qui va nous permettre de récupérer quelques infos utiles.
root@mabecane:~# getSystemId Libsmbios: 2.0.3 System ID: 0x02A3 Service Tag: HVMVS4J Express Service Code: 38918185507 Product Name: PowerEdge R310 BIOS Version: 1.5.2 Vendor: Dell Inc. Is Dell: 1
Je vais récupérer la version de BIOS correspondant à mon système (System ID donné + haut) qui m'intéresse sur http://linux.dell.com/repo/firmware/bios-hdrs/ ⇒ c'était trop simple, ces $*%#! de chez Dell ne proposent plus de mises-à-jour depuis l'été dernier.
Je vais récupérer l'exécutable pour Window$ (DELLBIOSUPDATE.EXE) contenant la ROM sur le site support de Dell et en extraire le bios (bios.hdr) à l'aide de Wine.
wine DELLBIOSUPDATE.EXE -writehdrfile -nopause
On charge le module permettant de mettre à jour le BIOS et on vérifie qu'il est bien chargé :
root@mabecane:~# modprobe dell_rbu root@mabecane:~# lsmod|grep dell dell_rbu 4711 0
On met à jour avec le fichier récemment téléchargé :
dellBiosUpdate -u -f bios.hdr
Le flash du BIOS se fera au prochain redémarrage.
Comme précisé au début, c'est une Dell Perc H700 (fabriquée par LSI).
Je n'ai pas trouvé d'outil libre pour gérer cette carte, je me tourne donc vers MegaRAID de LSI (proprio, peu documenté, mais qui marche).
Une page qui m'a été d'une grande utilité (merci à son rédacteur) :
Je récupère sur ce site et j'installe les paquets megacli
(le soft de LSI packagé) ainsi que megaclisas-status
(qui me permettra de surveiller le RAID).
La commande qui me servira le plus :
megacli -AdpAllInfo -aAll
⇒ la page mentionnée plus haut donnera beaucoup plus de détails sur ce qu'on peut faire avec megacli
: par exemple créer, reconstruire un RAID …
Il faut savoir que Dell propose son outil OpenManage qui donne pas mal d'infos sur la machine (entre autres). J'ai testé et c'est, à mon goût, une usine à gaz dont je n'ai nul besoin.
Au cas où, pour l'installer, on récupère la version Ubuntu ici, on installe les 2 paquets Ubuntu :
et on lit la doc (rien de bien méchant : on rajoute les sources et on installe à coup d'apt-get/aptitude
).
On pourra aussi trouver des infos sur la mailing-list Linux Poweredge
Je regarde déjà quelle version j'ai :
root@mabecane:~# megacli -AdpAllInfo -aAll|grep "FW Package Build" FW Package Build: 12.0.1-0091
Je vais récupérer le firmware “pour Windows” (si si ! Il y a aussi une version RedHat autoextractible mais le script a foiré et j'ai pas eu envie d'aller regarder) chez Dell.
Je décompresse pour récupérer la ROM :
root@mabecane:~# unzip -e DELL_PERC-H700-ADAPTER_A06_R285988.exe Archive: DELL_PERC-H700-ADAPTER_A06_R285988.exe inflating: FW1046A.rom inflating: MegaFl.exe inflating: Nocheck.bat inflating: Update.bat inflating: XGREP.COM
Je flashe (c'est un peu long : pas de stress) :
root@mabecane:~# megacli -AdpFwFlash -f FW1046A.rom -aALL
je vérifie que ça a bien été mis à jour :
root@mabecane:~# megacli -AdpAllInfo -aAll|grep "FW Package Build" FW Package Build: 12.10.0-0025
⇒ nickel, je suis passé de la v12.0.1-0091 à la v12.10.0-0025
Je viens de me plonger dans l'utilisation de la carte iDRAC6 (merci Patrick de me mettre la pression !). À ce que j'en ai compris, ça sert + ou - à prendre la main sur la machine ainsi que récupérer ses infos de “santé” (alim, ventilos, températures, …) à l'aide de l'interface IPMI
Elle permet aussi si on le configure par son interface web, de rediriger le port série du serveur vers une console accessible en SSH. En redirigeant l'affichage du BIOS et de la distrib vers ce port série on peut voir l'affichage de la console même sans accès physique au serveur.
1ère chose à faire : activation et configuration de cette carte depuis le BIOS (CTRL+E pour y accéder, cf aussi la doc Dell) ⇒ on lui donne une autre adresse IP que celle(s) de(s) l'OS, on lui indique un mot de passe, … Apparemment ça peut aussi remonter des alertes sur une autre machine … je verrai plus tard.
Ensuite, j'installe ipmitool
sur ma station et je teste pour voir ce que ça donne :
#ipmitool -H @IP_DRAC -U root -P PASSWORD sdr Temp | -66 degrees C | ok Temp | 33 degrees C | ok Temp | 34 degrees C | ok Ambient Temp | 30 degrees C | ok Ambient Temp | 30 degrees C | ok Temp | 37 degrees C | ok Ambient Temp | 21 degrees C | ok Planar Temp | 32 degrees C | ok ... FAN MOD 1A RPM | 5160 RPM | ok ... FAN MOD 5B RPM | 3360 RPM | ok ... Current 1 | 0.20 Amps | ok Current 2 | 0.28 Amps | ok Voltage 1 | 236 Volts | ok Voltage 2 | 236 Volts | ok System Level | 140 Watts | ok Power Optimized | 0x01 | ok
Ça marche, mais il y a beaucoup d'infos, et pas toujours pertinentes (je ne crois pas trop aux -66°C annoncés en 1ère ligne : j'imagine qu'il s'agit d'un capteur manquant).
Quelques commandes :
ipmitool -H @IP_DRAC -U root -P PASSWORD power off|on
ipmitool -H @IP_DRAC -U root -P PASSWORD sel list
Voir la page de manuel pour plus d'infos.
ça se passe sur la page suivante.