1.1 Fonctionnement général
Les cartes RAID fournies par DELL, en configuration SATA, sont des cartes PERC (fabriquant : LSI).
DELL fournit tous les outils pour superviser ses serveurs depuis des distributions RedHat ou Suse, mais ne certifie rien pour les autres distributions, et notamment Debian/Ubuntu. Toutefois, il est possible d’installer assez facilement (quoique...) un outil qui permet, depuis une interface web, de consulter l’état du serveur, voire de réaliser des opérations concernant les disques (ou autres).
Pour la supervision, il existe des programmes en ligne de commande qui permettent d’interroger le système, et notamment de suivre l’état de fonctionnement du raid. Un script bash peut être utilisé comme plugin pour Nagios, qui semble mieux fonctionner avec NRPE que le plugin megaraid, souvent utilisé.
1.2 Systèmes concernés
Installations réalisées avec Ubuntu 10.04 LTS, en version 32 bits et 64 bits. Les spécificités de la version 64 bits sont décrites dans le chapitre
La procédure a été (légèrement) adaptée à partir de ce site :
http://www.ccn.ucla.edu/users/jkyle/weblog/e14bd/Dell_Perc_5i_on_Ubuntu_64.html.
2.1 Installer libstdc++5
Le paquetage est considéré comme obsolète, mais nous en avons besoin... Téléchargez-le depuishttp://packages.debian.org/squeeze/..., et installez-le par la commande :
dpkg -i libstdc++5_3.3.6-20_i386.deb
2.2 Installer DellOmsa
Il s’agit de l’outil complet de gestion du serveur.
2.2.1 Rajouter le dépôt dans la configuration des sources
Éditez le fichier /etc/apt/sources.list, et rajoutez la ligne suivante :
deb ftp://ftp.sara.nl/pub/sara-omsa dell6 sara
Téléchargez la clé publique du dépôt depuis l’adresse suivante :
http://ftp.sara.nl/debian_sara.asc
et intégrez la clé dans apt :
apt-key add debian_sara.asc
2.2.2 Installer le paquetage
apt-get update
apt-get install dellomsa
2.2.3 Cas particulier pour Ubuntu 8.04
Si vous avez une version Ubuntu 8.04, il faut modifier le paquetage (opération décrite dans les notes de ce document : http://blog.admin-linux.org/administration/dell-openmanage-server-administrator-sur-une-ubuntu-804-server) :
wget ftp://ftp.sara.nl/pub/sara-omsa/dists/dell6/sara/binary-i386/dellomsa_6.0.1-10_i386.deb
root@asterix:/usr/local/src# cd /tmp/
root@asterix:/tmp# dpkg-deb -x /usr/local/src/dellomsa_6.0.1-10_i386.deb dellomsa_6.0.1-10_i386
root@asterix:/tmp# mkdir dellomsa_6.0.1-10_i386/DEBIAN
root@asterix:/tmp# dpkg -e /usr/local/src/dellomsa_6.0.1-10_i386.deb dellomsa_6.0.1-10_i386/DEBIAN/
root@asterix:/tmp# vi dellomsa_6.0.1-10_i386/DEBIAN/control
=> On modifie libsmbios2 en libsmbios1
root@asterix:/tmp# dpkg-deb -b dellomsa_6.0.1-10_i386
dpkg-deb : construction du paquet « dellomsa » dans « dellomsa_6.0.1-10_i386.deb ».
root@asterix:/tmp# dpkg -i dellomsa_6.0.1-10_i386.deb
2.2.4 Mettre à jour les bibliothèques
ldconfig
Si une erreur survient, par exemple /opt/dell/srvadmin/dataeng/bin/dsm_sa_datamgr32d : error while loading shared libraries : libdcsmil32.so.5 : cannot open shared object file : No such file or directory, téléchargez le script suivant :http://www.ccn.ucla.edu/users/jkyle/weblog/e14bd/attachments/239d0/dell_omsa.sh et placez-le dans le dosser /etc/init.d/ (rendez-le également exécutable : chmod +x).
Exécutez ce script :
/etc/init.d/dell_omsa.sh
puis lancez (le cas échéant) le serveur :
/etc/init.d/dataeng start
Normalement, vous devez maintenant pouvoir visualiser l’interface de gestion, en vous ouvrant la page web https://serveur:1311. Ne vous inquiétez pas si l’identification ne fonctionne pas pour le moment, nous verrons cela plus tard.
2.2.5 Activer le démarrage du service au démarrage du serveur
update-rc.d dsm_om_connsvc defaults
2.2.6 Activer l’identification
L’identification à l’outil de gestion utilise les modules pam. Vous pouvez visualiser la configuration demandée en consultant le fichier /etc/pam.d/omauth :
auth required /lib/security/pam_unix.so nullok
auth required /lib/security/pam_nologin.so
account required /lib/security/pam_unix.so nullok
Selon la configuration, il est possible que les bibliothèques pam_unix.so et pam_nologin.so ne sont pas dans /lib/security, mais dans /lib/i386-linux-gnu/security...
Créez alors un lien vers les deux bibliothèques ainsi :
cd /lib/security
ln -s /lib/i386-linux-gnu/security/pam_unix.so
ln -s /lib/i386-linux-gnu/security/pam_nologin.so
Maintenant, vous devez pouvoir vous connecter avec le login root dans l’interface de gestion.
2.3 Installer le plugin NAGIOS-NRPE check_omreport
2.3.1 Installer et configurer le plugin
om_report est un utilitaire en ligne de commande qui permet d’interroger l’état du serveur. Pour pouvoir l’utiliser depuis Nagios-nrpe, nous allons créer un programme bash qui va émuler le fonctionnement d’un plugin(Script récupéré depuis le sitehttp://wiki.tuxunix.com/index.php/Nagios_dédié) :
#!/bin/bash
SERVICE_NAME="raid hard sous linux"
OMREPORT="/usr/sbin/omreport"
CHECK_NAME=`$OMREPORT storage vdisk | grep ^State | cut -d ":" -f 2 | sed -e 's/^\ //'`
NB_VDISKS=`$OMREPORT storage vdisk | grep ^ID | wc -l | awk '{ print $1 }' | tr -d '\n'`
CUR_STATUS=0
STATUS=0;
CUR_TXT=""
CUR_VDISK=1
VALID=`echo $CHECK_NAME | tr -d "[:space:]"`
if [ -z $VALID ];
then
STATUS="3"
else
for i in $CHECK_NAME
{
i=`echo $i | tr -d '\n'`
if [ $i != "Ready" ];
then
let CUR_STATUS=CUR_STATUS+1
fi
CUR_TXT="$CUR_TXT Pile $CUR_VDISK $i - "
let CUR_VDISK=CUR_VDISK+1
}
fi
if [ $CUR_STATUS -eq 0 ];
then
STATUS=0;
else
STATUS=2;
fi
CHECK_NAME="Etat du RAID pour $NB_VDISKS pile(s): "$CUR_TXT
/bin/echo -e "$CHECK_NAME"
exit $STATUS
Installez-le dans le dossier /usr/lib/nagios/plugins, et rendez-le exécutable. Exécutez-le au moins une fois pour vérifier son bon fonctionnement :
/usr/lib/nagios/plugins/check_omreport
Etat du RAID pour 1 pile(s): Pile 1 Ready -
Maintenant, déclarez le plugin dans le fichier de configuration de NRPE /etc/nagios/nrpe.cfg :
command[check_omreport]=/usr/lib/nagios/plugins/check_omreport
et redémarrez le service :
service nagios-nrpe-server restart
2.3.2 Configurer le serveur Nagios
La configuration peut varier énormément selon les serveurs... Voici un exemple :
Éditez le fichier hostgroups.cfg, et créez un nouveau groupe :
define hostgroup{
hostgroup_name omreport
alias omreport
members serveur1,serveur2
}
Éditez le fichier des services services.cfg, et rajoutez un nouveau service :
define service {
use generic-service
hostgroup_name omreport
service_description check_omreport
is_volatile 0
check_period 24x7
max_check_attempts 3
normal_check_interval 5
retry_check_interval 1
contact_groups MSI
notifications_enabled 1
notification_interval 0
notification_period 24x7
notification_options c,r
check_command check_nrpe!check_omreport
}
Vérifiez la configuration de nagios :
nagios3 -v /etc/nagios3/nagios.cfg
et, si tout est ok, rechargez les paramètres :
service nagios3 reload
La plupart des outils sont des outils 32 bits : il va falloir en tenir compte pour l’installation... La procédure est quasiment identique, à ceci près que certaines opérations sont un peu plus complexes : il va falloir installer les bibliothèques 32 bits.
3.1 Installer les versions 32 bits des bibliothèques de base
apt-get install -f lib32ncurses5
apt-get install -f ia32-libs
3.2 Installer la bibliothèque libstdc++.so.5
Téléchargez la bibliothèque depuis http://packages.debian.org/squeeze/i386/libstdc++5/download
Surtout, n’installez-pas le paquet directement ! Deux solutions :
3.2.1 Depuis un poste de travail Linux
Ouvrez le fichier deb avec votre archiveur. Allez dans le sous-dossier /usr/lib, et recopiez le fichier libstdc++.so.5.0.7 dans le dossier /usr/lib32/
Créez ensuite le lien :
cd /usr/lib32
ln -s libstdc++.so.5.0.7 libstdc++.so.5
3.2.2 En dépaquetant le fichier
Extrayez le paquetage dans un dossier temporaire
dpkg-deb -x <libname> /tmp/lib32s
puis recopiez les fichiers présents dans usr/lib vers /usr/lib32/.
3.3 Installer DellOmsa
Téléchargez la version 64 bits de DellOmsa depuis ftp://ftp.sara.nl/pub/sara-omsa/dists/dell6/sara/binary-amd64/
Lancez l’installation du paquetage manuellement :
dpkg -i dellomsa_6.0.1-10_amd64.deb
L’installation va échouer : il vous manque des paquets... Lancez alors une réparation, qui va télécharger les paquets manquants :
apt-get install -f
Mettez à jour les bibliothèques en suivant la procédure décrite dans le paragraphe 2.2.4, Mettre à jour les bibliothèques, page 2.
3.4 Configurer l’identification
3.4.1 Récupérer les bibliothèques de base
Téléchargez le paquetage libpam-modules adapté à votre distribution (par exemple, depuishttp://pkgs.org/ubuntu-10.04/ubuntu-main-i386/libpam-modules_1.1.1-2ubuntu2_i386.deb.html).
Extrayez le paquetage comme précédemment pour la bibliothèque libstdc++.so.5, en recopiant :
lib/security/pam_unix.so et pam_nologin.so vers /lib32/security/
Vérifiez également que vous disposez bien des librairies libsepol.so et libselinux.so dans /lib32.
Exécutez la commande ldconfig pour que les nouvelles librairies soient bien prises en compte.
3.4.2 Mettre à jour le module pam
Éditez le fichier /etc/pam.d/omauth, et remplacez les accès aux bibliothèques d’identification par :
auth required /lib32/security/pam_unix.so nullok
auth required /lib32/security/pam_nologin.so
account required /lib32/security/pam_unix.so nullok
Le reste de l’installation est identique.