Site perso de David ROBERT - [Accueil] [Informatique] [Electronique] [Guitare] english

Linux sur les serveurs Dell

Les informations sur cette page ont été écrites à l'époque des serveurs dell de 6ème génération (x6xx). Certaines informations sont donc obsolètes. Mais le contenu est quand même intéressant :-)

Sommaire

Généralités

Pour obtenir de l'information

Distributions supportées

Si vous souhaitez obtenir le support téléphonique de Dell concernant des problèmes liés au système d'exploitation, vous n'avez pas le choix, il faut acheter la Red Hat Advanced Linux chez Dell.

Cela ne veut pas dire que les autres distributions ne fonctionnent pas sur les Dell, simplement vous ne pourrez pas bénéficier du support téléphonique.

En lisant les archives des différentes mailing list, vous vous rendrez compte que toutes les distributions fonctionnent avec les serveurs Dell. C'est juste plus ou moins compliqué d'installer les outils d'administration Dell (monitoring Raid, monitoring matériel etc.). J'utilise des serveurs Dell en production avec la Red Hat 8.0 et Debian Woody.

Le support du RAID

Sur les serveur PowerEdge, il existe plusieurs modèles de cartes Raid. Les caractéristiques qui changent sont :

  • Fabriquant
    • Adaptec (driver aacraid)
    • LSI Logic (AMI) (driver megaraid)
  • Type de carte : Intégrée à la carte mère (nécessite clef d'activation) ou externe (carte PCI additionnelle)
  • Version SCSI supportée (Ultra3 SCSI, Ultra4 ..)
  • Nombre de Canaux SCSI supportés internes/externes

Le "problème" c'est que chez Dell, les cartes RAID s'appellent toutes PERC/Quelquechose :-). La page http://linux.dell.com/storage.shtml vous permet en fonction du modèle de vous y retrouver un peu.

Pour info, le chiffre après le PERC est la version SCSI, ainsi une PERC3/Di est une carte RAID Ultra3 (U160 SCSI). Après le / c'est une lettre : S pour single, D pour dual, Q pour Quad, ce qui correspond aux nombre de canaux SCSI supportés par la carte. Respectivement un, deux et quatres canaux 1. Pour résumer, une PERC4/DC Est une carte externe Ultra 4 (U320) Dual Channel. Ceci dit, à partir de cette unique référence, on ne connait pas le fabriquant ni la répartition des canaux (internes/externes).

[1]Notez bien qu'il n'est pas précisé si ces canaux sont internes ou externes. Il faut également préciser que canal interne ne veut pas forcément dire connecteur interne. Par exemple sur les PE 2650 (et 1650 je pense) les signaux entre le fond de panier disque et le chipset RAID sont directement routés sur la carte mère, il n'y a pas de nappes ni de connecteurs (ce qui est meilleur pour la circulation de l'air).

Installation de debian/woody sur serveur Dell

Testé sur un PE 6300 et PE 2600

Installation du système

Les nouvelles cartes RAID ne sont pas forcément prises en compte par les noyaux officiels.

Utiliser l'image d'installation sur : http://wiki.osuosl.org/display/LNX/Debian+on+Dell+Servers

Procéder à l'installation habituelle de la Debian

Utilisation d'un noyau debian

Une fois votre système installé, votre noyau est un 2.4.25-bf24. Vous ne voudrez probablement pas continuer à utiliser ce noyau : tous les drivers sont intégrés dans le noyau et non sous forme de module. De plus vous ne bénificiez pas des mises à jour par apt.

Tout aurait été parfait si on pouvait utiliser le noyau officiel woody (2.4.18). Hélas, j'ai été obligé d'utiliser un backport du noyau 2.4.26 pour pouvoir installer OpenManage/dellomsa-drivers (le module esm.o ne fonctionne pas avec la 2.4.18, a priori un patch Red Hat qui a été intégré placé dans les dernier 2.4)

Ajoutez dans le fichier /etc/apt/source.conf :

deb http://www.backports.org/debian stable kernel-image-2.4.26-i386
deb http://www.backports.org/debian stable kernel-source-2.4.26

Installez le noyau et les sources 2.4.26 :

# apt-get install kernel-image-2.4.26-1-686-smp kernel-source-2.4.26

Veillez a ce que lilo soit bien configuré, en particulier la ligne initrd=/initrd.img et rebooter.

Si l'interface réseau n'est pas reconnue

Le nouveau noyau est modulaire, il faut donc preciser au système quel est son driver. Dans mon cas, c'est e1000 (je l'avais identifié lors des premiers boot avec le noyau initial).

Modifier /etc/modutils/aliases :

alias eth0 e1000

Mettre à jour le fichier de modules

# update-modules

Relancer le réseau

# /etc/init.d/networking stop
# /etc/init.d/networking start

Récupérer l'archive lin_apps_a04.tar.gz en cherchant la référence R49828 sur dell support.

Convertir les .rpm en .deb en utilisant alien (apt-get install alien)

debian:~/delltools# alien -d Megamon-3.6-0.i386.rpm
megamon_3.6-1_i386.deb generated
debian:~/delltools# alien -d dellmgr-5.22-0.i386.rpm
dellmgr_5.22-1_i386.deb generated
debian:~/delltools# alien -d percsnmp-4.06-1.i386.rpm
percsnmp_4.06-2_i386.deb generated
debian:~/delltools# alien -d linflash-2.14-0.i386.rpm
linflash_2.14-1_i386.deb generated
debian:~/delltools# ls -l *deb
-rw-r--r--    1 root     root       287408 May 19 17:47 dellmgr_5.22-1_i386.deb
-rw-r--r--    1 root     root        17294 May 19 17:47 linflash_2.14-1_i386.deb
-rw-r--r--    1 root     root       408496 May 19 17:47 megamon_3.6-1_i386.deb
-rw-r--r--    1 root     root        73934 May 19 17:47 percsnmp_4.06-2_i386.deb

Installation de dellmgr

Installation du packet

# dpkg -i dellmgr_5.22-1_i386.deb

Pas de problèmes particuliers, se lance

# dellmgr

Installation de megamon (raidmon)

Installation du packet

# dpkg -i megamon_3.6-1_i386.deb

# ln -s /usr/sbin/MegaCt32 /usr/sbin/MegaCtrl
# rm /etc/rc.d/init.d/raidmon 

Installer le fichier raidmon compatible debian dans le repertoire /etc/init.d

Vous pouvez spécifier une liste d'emails destinataire des rapports de raidmon via le fichier : /var/log/raidmon.lst

Installation de openmanage

OpenManage complet est constitué de trois fichiers d'installation :

  • dellomsa-drivers_4.120-3925_i386.deb : Les drivers d'accès à l'Embedded System Management (esm)
  • dellomsa_4.120-3925_i386.deb : Les démons
  • server-administrator-1.4.0a.tar.gz : Logiciel d'exploitation : en ligne de commande (omreport, omconfig etc.) et web pour consulter / paramétrer openmanage Il doit exister une version plus récente, mais une documentation existe pour installer cette archive sous debian.

Installation des drivers

Le driver est compilé automatiquement lors de l'installation du package. Les sources du noyau doivent être disponibles ainsi que le fichier BEEPBEEP il est donc nécessaire de faire un make dep.

# cd /usr/src
# tar xvjf kernel-source-2.4.26.tar.bz2
# ln -s kernel-source-2.4.26 linux-2.4
# ln -s kernel-source-2.4.26 linux
# cd linux-2.4
# cp /boot/config-2.4.26-1-686-smp .config
# make oldconfig
# make dep

# dpkg -i dellomsa-drivers_4.120-3925_i386.deb
Selecting previously deselected package dellomsa-drivers.
(Reading database ... 23497 files and directories currently installed.)
Unpacking dellomsa-drivers (from dellomsa-drivers_4.120-3925_i386.deb) ...
Setting up dellomsa-drivers (4.120-3925) ...
 
Building device driver for running kernel:                 [OK]
 
Loading Server Administrator Device Drivers:               [OK]
 
Please read the license agreement located at:
/usr/lib/dell/openmanage/omsa/LICENSE-DRIVERS
 
dellomsa-drivers-4.120-3924.i386.rpm: Upgrade was SUCCESSFUL!

Arrêt du driver : /etc/init.d/dellomsaesm stop
Démarrage du driver : /etc/init.d/dellomsaesm start

Installation des démons

Les fichiers d'init de dellomsa nécessitent la présence d'un répertoire

# mkdir /var/lock/subsys

# dpkg -i dellomsa_4.120-3925_i386.deb
Selecting previously deselected package dellomsa.
(Reading database ... 23749 files and directories currently installed.)
Unpacking dellomsa (from dellomsa_4.120-3925_i386.deb) ...
Setting up dellomsa (4.120-3925) ...
 System startup links for /etc/init.d/snmpd already exist.
 
Shutting down SNMP agent because of configuration changes...
Stopping network management services: snmpd snmptrapd.
 
Please read the license agreement located at:
/usr/lib/dell/openmanage/omsa/LICENSE
 
If you wish to change the default password for SNMP Set operations,
run the following utility:
dcinuser32
 
To start Server Administrator Instrumentation, reboot or
enter the following command:
dellomsa start
 
dellomsa-4.120-3924.i386.rpm: Upgrade was SUCCESSFUL!

Arrêt des démons : /etc/init.d/dellomsa stop Démarrage des démons : /etc/init.d/dellomsa start

Installation de server administrator

Suivre les directives à partir de la section 4 sur : http://www.cs.uni-magdeburg.de/~aschultz/dell/sa-1.4.0a.txt

Je déconseille l'étape 12, le serveur Web ne doit être lancé que lorsque l'on en a vraiment besoin car c'est une usine à gaz. De plus il n'a pas été possible de l'arrêter correctement, des kill -9 pour chaque processus ou un reboot a été nécessaire.

Utilisation / Exploitation

megamon

Ce démon contrôle l'état du sous-système disque. Il envoie un mail au démarrage et en cas de problème (disque défaillant etc.) Le démon envoie un mail à l'utilisateur root. Il est toutefois possible de spécifier une liste de destinataire via le fichier /var/log/raidmon.lst

Ce démon ajouter 0.20 à la charge de la machine. Selon dell cette charge n'est pas réelle.

Arrêt du service :

# /etc/init.d/raidmon stop

Démarrage du service :

# /etc/init.d/raidmon start

openmanage

Permet de logger et d'éventuellement lancer des actions sur des évennements (ouverture de chassis, dégradation redondance d'alim..) Permet également de visualiser les information, via snmp ou via les outils lignes de commande ou web.

A priori tout ce qui peut être fait par l'interface web peut être fait par la ligne de commande. Je vais alors décrire la ligne de commande.

Consultation des informations

Voir le journal des évennements matériels

# omreport system esmlog

Voir la liste des actions définies sur évennements :

# omreport system alertaction

Consultation de l'état matériel

# omreport chassis
# omreport chassis fans
# omreport chassis pwrsupplies
# omreport chassis temps
...

Paramétrage des actions

Configure l'execution du programme /bin/true en cas d'intrusion

# omconfig system alertaction event=intrusion execappath="/bin/true"

Exemple pour renvoyer tous les evenements par mail :

omconfig system alertaction event=powersupply execappath="/usr/local/bin/mail.sh 'Alimentation : Perte de la redondance'" beep=true
omconfig system alertaction event=tempwarn execappath="/usr/local/bin/mail.sh 'temperature warning'" beep=true
omconfig system alertaction event=tempfail execappath="/usr/local/bin/mail.sh 'temperature failure'" beep=true
omconfig system alertaction event=fanwarn execappath="/usr/local/bin/mail.sh 'fan speed warning'" beep=true
omconfig system alertaction event=fanfail execappath="/usr/local/bin/mail.sh 'fan speed failure'" beep=true
omconfig system alertaction event=voltwarn execappath="/usr/local/bin/mail.sh 'voltage warning'" beep=true
omconfig system alertaction event=voltfail execappath="/usr/local/bin/mail.sh 'voltage failure'" beep=true
omconfig system alertaction event=currentwarn execappath="/usr/local/bin/mail.sh 'current warning'" beep=true
omconfig system alertaction event=currentfail execappath="/usr/local/bin/mail.sh 'current failure'" beep=true
omconfig system alertaction event=intrusion execappath="/usr/local/bin/mail.sh 'chassis intrusion'" beep=true
omconfig system alertaction event=redundegrad execappath="/usr/local/bin/mail.sh 'redundancy degraded'" beep=true
omconfig system alertaction event=redunlost execappath="/usr/local/bin/mail.sh 'redundancy lost'" beep=true
omconfig system alertaction event=memprefail execappath="/usr/local/bin/mail.sh 'memory pre-failure'" beep=true
omconfig system alertaction event=memfail execappath="/usr/local/bin/mail.sh 'memory failure'" beep=true

mail.sh :

#!/bin/sh
 
mail -s "$*" poulailler@ombrepixel.com <<BONJOUR
Ceci est un mail automatique qui vous previent que :
 
----------------------------------------------------
$*
----------------------------------------------------

Modification d'un seuil

Exemple de modification d'un seuil température :

# omconfig chassis temps index=3 maxwarnthresh=20

On peut retrouver la correspondance de l'index :

# omreport chassis temps

monitoring snmp

Il est possible de consulter l'ensemble des valeurs de monitoring via des requetes snmp. par exemple :

# snmpget -v 1 -c public 192.168.2.10 .1.3.6.1.4.1.674.10892.1.700.20.1.6.1.2
SNMPv2-SMI::enterprises.674.10892.1.700.20.1.6.1.1 = INTEGER: 310

Cette commande renvoie la température du CPU1. On peut trouver des exemples de définitions OID sur : http://web.csma.biz/resources.dellpedge.shtml Attention, cette liste n'est pas forcément juste.

Pour cela, le démon snmp doit être lancé sur le serveur, ainsi que la configuration smux (elle doit être réalisée lors de l'installation du paquet).

Sous débian, il n'est pas possible d'accéder en standard aux mibs car snmpd est en mode paranoid. Vous pouvez le passer en mode readonly, mais attention à la sécurité. Tout le monde pourra accéder à toutes les valeurs fournies par snmpd. ::

In standard debian /etc/snmp/snmpd.conf , change these lines to:
...
#       sec.name  source          community
#com2sec paranoid  default         public
com2sec readonly  default         mycom
#com2sec readwrite default         private
...