Admin Linux » Blog Archive » Installation Debian sur DELL R710, R410, RXXX

Comment installer Debian sur un serveur DELL R710 ou RXXX ?

Menu

* Introduction

* Carte réseau « Broadcom Corporation NetXtreme II »

* Charger le firmware pour l’installation

* Installer le firmware sur le futur système

* Le contrôleur PERC H700, H200 (HXXX)

* Préparation du futur noyau

* Préparation de l’installation

* Fin de préparation à l’installation

* Installation de la machine

* Installation du kernel personnalisé

* MegaCli : Manager le contrôleur RAID

Powered by SEO TOC 1.7.3

Introduction

Plusieurs problèmes peuvent se poser lors d’une installation de Debian sur les nouveaux serveurs DELL. D’une part, les noyaux Debian ne supportent pas les interfaces réseaux “Broadcom NetXtreme II” choisies par DELL (problèmes de licences du firmware bnx2) d’autre part, pour ceux qui auraient choisi un contrôleur hardware PERC H700, ou plus généralement PERC HXXX (qui sont en fait des contrôleurs LSI) le kernel Debian ne reconnaît pas ce matériel rendant impossible l’accès aux disques ce qui, vous en conviendrez, pose rapidement problème lors de l’installation d’un OS. La carte est reconnue à partir des noyaux 2.6.33.

Note concernant les contrôleurs SAS H700 HXXX : Ces contôleur sont maintenant reconnus depuis les CD d’installation officiels DEBIAN. Si votre controleur n’est pas reconnu, commencez par graver la dernière ISO disponible depuis le site DEBIAN http://www.debian.org/CD/netinst/.

L’installation décrite ici a été réalisée depuis une iso format carte de visite (« Buisness CARD »).

L’installation nécessite, en plus des outils habituels :

*

une clé USB (une petite devrait suffire) ;

*

une machine connectée au web et disposant au moins de l’archiveur « ar » (format d’archivage des paquets Debian) ;

* un accès physique au serveur.

En outre, les utilisateurs de PERC HXXX devrons avoir configuré le RAID hébergeant leur système manuellement (< Ctrl > + R pour configurer le RAID au démarrage).

Carte réseau « Broadcom Corporation NetXtreme II »

Charger le firmware pour l’installation

Lorsque vous démarrez l’installation de votre Debian, les problèmes interviennent dès la détection des interfaces réseaux qui se solde par un écran du type :

Tout est dit dans sur cet écran : « The missing firmware files are: bnx2-XX-Y.Z.T.fw » et le système propose de le récupérer sur un disque amovible.

Téléchargez, depuis une machine connectée au réseau, le paquet Debian contenant ce fichier en allant directement sur « http://www.debian.org/distrib/packages#search_contents », puis effectuez une recherche sur le contenu des paquets (recherchez le fichier que l’installeur vous signale comme manquant) :

Choisissez le paquet contenant le fichier recherché :

il n’existe qu’un paquet pour toutes les architectures (c’est un firmware, un binaire généralement fourni par le constructeur…), l’architecture sélectionnée est « all » (en bas de page sur le site…) :

enfin téléchargez le paquet depuis le miroir le plus proche de chez vous…

Une fois le paquet téléchargé, décompressez le :

fhh@mafalda ~ $ mkdir tmp/bnx2

fhh@mafalda ~ $ cd tmp/bnx2/

fhh@mafalda ~/tmp/bnx2 $ ar xv ~/Download/firmware-bnx2_0.26_all.deb

x – debian-binary

x – control.tar.gz

x – data.tar.gz

fhh@mafalda ~/tmp/bnx2 $ tar xf data.tar.gz

fhh@mafalda ~/tmp/bnx2 $ ls lib/firmware/

bnx2 bnx2-06-4.0.5.fw bnx2-06-4.6.16.fw bnx2-09-4.0.5.fw bnx2-09-4.6.15.fw

… et récupérez le fichier demandé (le « bnx2-XX-Y.Z.T.fw » qui se trouve dans « ./lib/firmware/ » du répertoire où vous venez de décompresser le paquet Debian) et placez le sur une clé USB.

Introduisez la clé USB sur laquelle vous venez de déposer le firmware « BNX2 » sur la machine en cour d’installation et validez le chargement du firmware depuis un média amovible.

La suite de la configuration réseau se déroule ensuite classiquement.

Installer le firmware sur le futur système

Avant de redémarrer votre système, vous devrez vous assurer que le paquet « firmware-bnx2_X.XX_all.deb  » est bien installé sur votre système. Pour ce faire, ouvrez un shell depuis le menu d’installation :

L’écran suivant vous informe que vous devrez taper « exit » pour sortir du shell et revenir au menu d’installation. Selectionnez « Continue ».

Dans le shell, « chrootez » vous dans votre nouvel environnement Debian :

~ # chroot /target /bin/bash

root@srv:/#

… et installez le paquet :

root@srv:/# aptitude install firmware-bnx2

 

root@srv:/# exit

exit

~ # exit

Votre futur système intègre désormais le firmware de vos cartes réseau.

Le contrôleur PERC H700, H200 (HXXX)

Second problème pour le déploiement de votre Debian, le contrôleur PERC HXXX n’est reconnu qu’à partir de noyaux >= au 2.6.33 or les kernel Debian plafonne pour l’heure au kernels 2.6.32-X.

Vous devrez donc utiliser, sur votre futur système un kernel personnalisé ou compiler les modules adapté à ce matériel et les ajouter à votre kernel Debian. Attention : Si vous choisissez de compiler des modules pour votre système, vous devrez le faire à chaque mise a jour de noyau Debian.

Pour ceux qui choisissent de compiler un kernel personnalisé, ce qui est sans doute le meilleur chose a faire, vous pouvez créer un paquet à partir de la configuration par défaut de Debian (en utilisant le fichier « /boot/config-< version de votre kernel > ») adapté par un « make oldconfig ».

Préparation du futur noyau

L’idéal, et le plus simple, est de partir d’une Debian fonctionnelle sur laquelle vous installerez les packages « kernel-package » et « ncurses-dev » fournissant tous les outils nécessaires à la compilation et la création d’un pakaging de kernel Debian :

root@mafalda:~# aptitude update

root@mafalda:~# aptitude install kernel-package ncurses-dev

… et configurez « make-kpkg » (l’outils qui construira le package Debian) via le fichier « /etc/kernel-pkg.conf » :

root@mafalda:~# cat /etc/kernel-pkg.conf

# The maintainer information.

maintainer := FHH

email := fhh@admin-linux.fr

Nous effectuerons ensuite quelque chose du genre :

root@mafalda:~# uname -a

Linux mafalda 2.6.32-5-amd64 #1 SMP Tue Jun 1 04:34:03 UTC 2010 x86_64 GNU/Linux

root@mafalda:~# cd /usr/src/

root@mafalda:/usr/src# wget -q http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.35.2.tar.bz2

root@mafalda:/usr/src# tar xf linux-2.6.35.2.tar.bz2

root@mafalda:/usr/src# cd linux-2.6.35.2

root@mafalda:/usr/src/linux-2.6.35.2# cp /boot/config-`uname -r` ./.config

root@mafalda:/usr/src/linux-2.6.35.2# make oldconfig

… et répondrons aux différentes questions. Si vous ne savez quoi répondre gardez les options par défaut…

Pour ceux qui souhaitent s’affranchir du « make oldconfig », vous pouvez télécharger ce fichier : config-2.6.35.2 qui fonctionne sur ce type de serveur et le copier dans vos sources sous « /usr/src/linux/.config ».

ATTENTION : Ce fichier est un simple « make oldconfig » avec toutes les options laissées par défaut à l’exception des drivers du contrôleur PERC qui sont intégrés.

Une fois le « make oldconfig » terminé, vous disposez d’une configuration kernel récente. Modifiez la via « make menuconfig » pour intégrer directement les drivers de votre contrôleur SATA/SAS dans le noyau (ceux qui aurraient téléchargé le fichier config-2.6.35.2 fourni sur le site peuvent sauter cet étape) :

root@mafalda:/usr/src/linux-2.6.35.2# make menuconfig

… qui nous amène à l’écran suivant :

Là activer le support de « LSI Logic New Generation RAID Device Drivers » sous :

Device Drivers —>

SCSI device support —>

{ * } SCSI device support

[ * ] SCSI low-level drivers —>

[ * ] LSI Logic New Generation RAID Device Drivers

< * > LSI Logic Management Module (New Driver)

< * > LSI Logic MegaRAID Driver (New Driver)

< * > LSI Logic Legacy MegaRAID Driver

< * > LSI Logic MegaRAID SAS RAID Module

< * > LSI MPT Fusion SAS 2.0 Device Driver

Vous pouvez effectuer toutes les modifications qui vous semblent pertinente pour votre nouveau noyau (désactivation du WIFI, du son, etc…).

Une fois terminé sortez du menu de configuration du noyau et lancez le packaging :

*** End of Linux kernel configuration.

*** Execute ‘make’ to build the kernel or try ‘make help’.

 

root@mafalda:/usr/src/linux-2.6.35.2# make-kpkg clean

root@mafalda:/usr/src/linux-2.6.35.2# fakeroot make-kpkg –initrd –revision=01.`date + »%Y%m%d »` kernel_image modules_image

Et là, c’est long… Le système compile votre kernel personnalisé, ses modules et crée une archive Debian…

Préparation de l’installation

Pendant que votre kernel est en pleine compilation, nous pouvons préparer l’installation de la machine… Comme dit précédemment, le contrôleur n’étant pas reconnus, vous ne pouvez, depuis les cd d’installation de Debian, accéder à vos disques… donc vous ne pouvez rien installer.

Par chance, LSI Logic, le constructeur du contrôleur SAS met à la disposition des Debianniste une version compilé du driver de ce matériel pour le kernel de l’installeur Debian. Rendez vous sur le site LSI (http://www.lsi.com) puis  » Support and Downloads » puis cliquez sur « Download drivers, firmware, BIOS ». Dans le menu déroulant « Select a Specific Product » choisissez « MegaRAID SAS 9260-8i » qui vous emmène à la page des documentations de cette carte.

REMARQUE : Toute les carte « MegaRAID SAS 9260-XXX » utilisent le même drivers alors pas de panique prenez celui qui vous conviens.

Cliquez sur l’onglet « Support and Downloads » pour trouver une longue liste de distrib et d’OS dans le tableau « Driver ».

Un « < Ctrl+F > debian » emmènera votre browser web directement sur la case « Debian 5.04 (MegaRAID Release 4.5) » que vous vous empresserez de télécharger (cliquez sur le lien et acceptez la licence…).

Si vous ne souhaitez pas visiter le site LSI (je comprendrai…) vous pouvez aussi directement cliquer ce lien : http://www.lsi.com/DistributionSystem/AssetDocument/Debian5_0_4_4_30.zip ou l’utiliser depuis « wget »…

Profitez de ce passage sur les pages de LSI pour récupérer l’utilitaire « MEGACLI » qui vous permettra de manager votre contrôleur RAID. Il ce trouve dans le tableau « Miscellaneous ». Cliquez sur le lien nommé « MegaCLI – Linux (MegaRAID Release 4.5) ». Comme pour le driver, acceptez le contrat de licence pour charger l’archive… ou cliquer sur ce lien : http://www.lsi.com/DistributionSystem/AssetDocument/8.00.23_Linux_CLI.zip. La dernière partie de ce post revient sur le déploiement de cet outil.

INTERLUDE… Pendant ce temps, sur un terminal, votre noyau compile toujours…

Rendez vous maintenant dans le répertoire de téléchargement du drivers « Debian 5.04 (MegaRAID Release 4.5) » et décompressez le fichier :

fhh@mafalda ~ $ cd Téléchargements/

fhh@mafalda ~/Téléchargements $ wget -q http://www.lsi.com/DistributionSystem/AssetDocument/Debian5_0_4_4_30.zip

fhh@mafalda ~/Téléchargements $ unzip Debian5_0_4_4_30.zip

Archive: Debian5_0_4_4_30.zip

inflating: megaraid_sas-v00.00.04.30_k2.6.26-2-amd64.gz

inflating: megaraid_sas-v00.00.04.30-src.gz

inflating: Debian5_0_4_4_30.txt

inflating: megaraid_sas-v00.00.04.30_k2.6.26-2-686.gz

Enfin décompressez le « gz » (qui est en fait un « tar.gz » mais bon, ils fournissent déjà les drivers alors…) correspondant à votre architecture :

fhh@mafalda ~/Téléchargements $ tar xvf megaraid_sas-v00.00.04.30_k2.6.26-2-amd64.gz

Debian5.04-AMD64-install.txt

initrd.img-2.6.26-2-amd64

megaraid_sas.ko

NOTE : Si votre version de tar refuse la décompression, renommez « megaraid_sas-v00.00.04.30_k2.6.26-2-amd64.gz » en megaraid_sas-v00.00.04.30_k2.6.26-2-amd64.tar.gz ».

Copiez a présent le fichier « megaraid_sas.ko » sur votre clé USB (celle sur laquelle vous aurrez déja copier le fichier bnx2-XX-Y.Z.T.fw par exemple… 😉 ).

Fin de préparation à l’installation

La dernière chose à mettre sur votre clé USB « spéciale Dell RXXX servers » est ??? hé bien oui, votre kernel packagé que make-kpkg aura soigneusement déposé dans votre « /usr/src »…

Copiez donc le fichier « /usr/src/linux-image-2.6.35.2_01.’la date’_amd64.deb » sur la clé USB (avec « megaraid_sas.ko » et « bnx2-XX-Y.Z.T.fw »).

Vous disposez maintenant de tous les éléments nécessaires à l’installation de votre serveur.

Installation de la machine

Maintenant tous semble facile…

* le réseau sera rapidement reconnu (voir plus haut) ;

* nous disposons des drivers du contrôleur RAID ;

* nous disposons du Kernel de notre futur système.

Ok. Mais attention tous de même… Lors de l’installation, si vous chargez le module du contrôleur SAS alors que votre clé USB est ENCORE connectée à votre machine, il y a un risque de mauvaise installation de GRUB… En effet, la clé sera SDA et le RAID ne sera que SDB !!!

Vous me répondrez : aucun danger !!! Debian utilise les UUID pour ça !

C’est vrai, mais dans le doute… 😉

Alors c’est parti pour l’installation…

Tous part pour le mieux, avec la méthode présentée plus haut en quelques secondes nous avons un système connecté au réseau.

Et là : STOP !

Utilisons notre drivers « MegaRAID SAS ». Tous comme pour installer le paquet « firmware-bnx2 » passez en mode console sur le cd d’installation ou plus simplement changez de console via « < Ctrl >< Alt >< F2 > » puis « Enter ».

Jetez un œil a « dmesg » pour voir a quel device est associé votre clé USB. Théoriquement, il s’agit de « /dev/sda » car, je vous le rappel, aucun disque du système n’est vu par le kernel pour le moment… Montez votre clé USB et copiez son contenu dans « /root » ou simplement le paquet de votre noyau et surtout le module « megaraid_sas.ko » avant de démonter la clé :

~ # mkdir /root/tmp

~ # mount -t vfat /dev/sda1 /root/tmp/

~ # cp /root/tmp/megaraid* /root/

~ # cp /root/tmp/linux-image*.deb /root/

~ # umount /root/tmp

Ceci fait, RETIREZ LA CLE USB DU SERVEUR !

Puis toujours en console chargez le module « megaraid_sas.ko » :

~ # insmod /root/megaraid_sas.ko

~ #

Lancez « dmesg » pour voir vos disques apparaître comme par magie…

Installation du kernel personnalisé

La suite de l’installation ce déroule ensuite classiquement mais, AVANT DE REDÉMARRER VOTRE MACHINE, vous devez une nouvelle fois accéder à la console pour déployer votre kernel personnalisé !

NOTE 1 : Lorsque le CD d’installation vous propose des noyaux à déployer, vous n’êtes pas obligé d’en choisir un. Sélectionnez simplement « NONE » car vous utiliserez le votre.

NOTE 2 : Si l’installation de grub pose problème, cela n’a rien a voir avec la procédure décrite ici. Rassurez vous, il râle, mais il est quand même installé ET fonctionnel.

Avant le redémarrage donc basculez une nouvelle fois en mode console (< Ctrl >< Alt >< F2 > par exemple), copiez le paquet contenant votre noyau dans « /target/usr/src » (qui est en fait le « /usr/src » de votre future système. « chrootez » Vous ensuite dans « /target » et, a grand coup de « dpkg » installez votre nouveau kernel. Ce qui donne en console depuis le cd d’installation :

~ # mv /root/linux-image*.deb /target/usr/src/

~ # chroot /target/ /bin/bash

root@srv:/# cd /usr/src

root@srv:/usr/src# dpkg -i linux-image-2.6.35.2_01.20100820_amd64.deb

Il ne reste enfin qu’à redémarrer votre système… rendez vous sur le menu d’installation (< Ctrl >< Alt >< F1 >) et lancez le redémarrage…

MegaCli : Manager le contrôleur RAID

Comme dit précédement, voir Préparation de l’installation, depuis le site LSI, vous pouvez télécharger le logiciel MegaCli. Ce logiciel vous permettra de contrôler la carte megaraid SAS.

Une fois le logiciel téléchargé, le déposer (ou le télécharger directement) sur votre serveur fraîchement installé et extraire le fichier « < Version >_Linux_CLI.zip » :

root@srv:~# mkdir -p tmp/megacli

root@srv:~# cd !$

cd tmp/megacli

root@srv:~/tmp/megacli# wget -q http://www.lsi.com/DistributionSystem/AssetDocument/8.00.23_Linux_CLI.zip

root@srv:~/tmp/megacli# unzip 8.00.23_Linux_CLI.zip

Archive: 8.00.23_Linux_CLI.zip

inflating: MegaCli-8.00.23-1.i386.rpm

inflating: Lib_Utils-1.00-08.noarch.rpm

inflating: readme.txt

inflating: 8_00_23_Linux_MegaCLI.txt

Comme vous pouvez le constater le logiciel est fournit au format RPM (de plus, compilé en statique). Les RPMs étant des binaires au même titre que les « .deb » un simple dé compactage des fichiers « .rpm » (logiciel et librairie) suffira à obtenir le soft :

root@srv:~/tmp/megacli# rpm2cpio Lib_Utils-1.00-08.noarch.rpm | cpio -idv

./opt/lsi/3rdpartylibs/LGPLLicenseV2.txt

./opt/lsi/3rdpartylibs/libsysfs.so.2.0.2

./opt/lsi/3rdpartylibs/src/sysfsutils-2.2.0.tar.gz

./opt/lsi/3rdpartylibs/x86_64/libsysfs.so.2.0.2

3389 blocks

root@srv:~/tmp/megacli# rpm2cpio MegaCli-8.00.23-1.i386.rpm | cpio -idv

./opt/MegaRAID/MegaCli/MegaCli

./opt/MegaRAID/MegaCli/MegaCli64

8003 blocks

L’installation ce termine par la copie des répertoires « ./opt/{lsi,MegaRAID} » dans « /opt/ », par l’adaptation des droits et l’ajout de « /opt/MegaRAID/MegaCli » au path de root :

root@srv:~/tmp/megacli# cp -r opt/{lsi,MegaRAID} /opt/

root@srv:~/tmp/megacli# chown -R root.root /opt/{lsi,MegaRAID}

root@srv:~/tmp/megacli# find /opt/lsi -type d -exec chmod 2700 {} \;

root@srv:~/tmp/megacli# find /opt/lsi -type f -exec chmod 600 {} \;

root@srv:~/tmp/megacli# find /opt/MegaRAID -type d -exec chmod 2700 {} \;

root@srv:~/tmp/megacli# find /opt/MegaRAID/ -type f -exec chmod 600 {} \;

root@srv:~/tmp/megacli# chmod u+x /opt/MegaRAID/MegaCli/MegaCli64 # ou MegaCli si vous êtes en 32 bits

root@srv:~/tmp/megacli# cat >> ~/.bashrc

 

export PATH= »${PATH}:/opt/MegaRAID/MegaCli »

root@srv:~/tmp/megacli# cd

root@srv:~# source .bashrc

root@srv:~# MegaCli64 -h

 

MegaCLI SAS RAID Management Tool Ver 8.00.23 May 17, 2010

 

Exit Code: 0x00

Vous pouvez maintenant utiliser cet utilitaire pour configurer, et vous informer sur l’état de vos disques.

viaAdmin Linux » Blog Archive » Installation Debian sur DELL R710, R410, RXXX.