-- mode: rst --
-- coding: utf-8 --
Installation et utilisation d’une baie de disque DELL MD3200 sous Debian Squeeze
Ce documént décrit l’installation de l’utilisation d’une baie de disque MD3200
sous Debian GNU/Linux Squeeze. (Fonctionne aussi sous Lenny)
Téléchargement des outils à partir du CDROM DELL
Le mieux, c’est de construire un mirroir du CDROM, afin de ne plus en avoir besoin
plus tard.
dd if=/dev/cdrom of=md3200.iso bs=1024k
Ou alors un rsync, peu importe, il faut récupérer les données qui sont dessus.
Ce qui nous intéresse surtout c’est le fichier dans mdsm / SMIA-LINUX*.bin
Installation des outils MD SM
Executer le programme SMIA-LINUX-*.bin
bash SMIA*
Faire une installation complète.
Voici ce qui doit s’afficher
===============================================================================
Installation terminée
---------------------
Félicitations. PowerVault Modular Disk Storage Manager a été installé avec
succès dans :
/opt/dell/mdstoragemanager
Extraction des archives rpm
Dell installe les outils rpm dans /opt/dell/mdstoragemanager/, on va les décompresser,
pour récupérer ce qui nous intéresse, et installer les outils.
apt-get install alien
cd /opt/dell/mdstoragemanager
alien -t -c *.rpm
Ensuite, on extrait les fichier tarball générés par alien, et on va installer
le nécessaire.
mkdir SMagent; tar -C SMagent -xvf SMagent*.tgz
mkdir SMclient; tar -C SMclient -xvf SMclient*.tgz
mkdir SMruntime; tar -C SMruntime -xvf SMruntime*.tgz
mkdir SMutil; tar -C SMutil -xvf SMutil*.tgz
Analyse des scripts RPM et des différent packages
SMruntime
predoinst.sh
Rien d’intéressant, juste des vérifications.
doinst.sh
Génère le fichier /var/opt/SM/LAUNCHER_ENV, nécessaire au fonctionnement de tous les autre scripts dell.
CE CHEMIN DOIT ÊTRE /var/opt/SM/LAUNCHER_ENV.
mkdir -p /var/opt/SM
chown root:root /var/opt/SM
chmod 755 /var/opt/SM
echo "BASEDIR=/opt/dell/mdstoragemanager" >/var/opt/SM/LAUNCHER_ENV
Le contenu du programme consiste en une JRE 1.6.0, donc on s’en fiche, on va installer openjdk a la place tout simplement.
Par contre, les binaire DELL sont compilés uniquement pour java 32 bits.
Il faut donc installer sur une machine x86_64 le java ia32 de SUN.
Machine i386:
apt-get install openjdk-6-jre
ln -s /usr/lib/jvm/java-6-openjdk/jre /opt/dell/mdstoragemanager/jre
Machine x86_64:
apt-get install ia32-sun-java6-bin
ln -s /usr/lib/jvm/ia32-java-6-sun/jre /opt/dell/mdstoragemanager/jre
SMutil
predoinst.sh
Rien d’intéressant, juste des vérifications
doinst.sh
Créer des nodes (sg*, sd*, …), pour gérer plein de disques.
Nous on est sous debian, ça marche bien avec udev, on oublie.
Le seul truc intéressant c’est le ln -s de l’executable SMdevices dans /usr/sbin.
Le script nécessite aussi bash, et non pas dash, comme c’est le cas dans Debian Squeeze.
On prendra soin de modifier le script pour y mettre /bin/bash plutot que /bin/sh dans le sheebang.
Une fois fait,
rsync -a /opt/dell/mdstoragemanager/SMutil/opt/ /opt/
sed -i 's,#!/bin/sh,#!/bin/bash,' /opt/dell/mdstoragemanager/util/SMdevices
ln -s /opt/dell/mdstoragemanager/util/SMdevices /usr/sbin
SMclient
predoinst.sh
Des vérifications
doinst.sh
La c’est plus copieux. Installation des binaires dans /usr/bin, etc/init.d & co.
On va faire court, voici une version compacte pour debian
apt-get install x11-utils xauth
rsync -a /opt/dell/mdstoragemanager/SMclient/var/opt/ /var/opt/
rsync -a /opt/dell/mdstoragemanager/SMclient/opt/ /opt/
ln -s /opt/dell/mdstoragemanager/client/SMclient /usr/bin
ln -s /opt/dell/mdstoragemanager/client/SMcli /usr/bin
ln -s /opt/dell/mdstoragemanager/client/SMmonitor /etc/init.d
sed -i 's,#!/bin/sh,#!/bin/bash,' /etc/init.d/SMmonitor /usr/bin/SMcli /usr/bin/SMclient
update-rc.d SMmonitor defaults 99
SMagent
predoinst.sh
Des vérificatiosn
doinst.sh
Même chose que SMutil,
par contre, un script udev doit être placé dans le rules.d pour permettre
a SMagent d’avoir les évènements de branchement/débranchement de la baie (Monitoring des devices Xport)
rsync -a /opt/dell/mdstoragemanager/SMagent/opt/ /opt/
rsync -a /opt/dell/mdstoragemanager/SMagent/etc/udev/rules.d/ /etc/udev/rules.d/
ln -s /opt/dell/mdstoragemanager/agent/SMagent /etc/init.d
sed -i 's,#!/bin/sh,#!/bin/bash,' /etc/init.d/SMagent
update-rc.d SMagent defaults 99
/etc/init.d/udev restart
Test de installation
Première chose, démarrer SMmonitor, et SMagent
/etc/init.d/SMmonitor start
/etc/init.d/SMagent start
ssh -X root@lamachine 'SMclient'
et magie!
Mise en place du multipath
Prérequis
apt-get install multipath-tools kpartx
/etc/multipath.conf
defaults { flush_on_last_del no user_friendly_names yes } blacklist { device { vendor Dell.* product Universal.* } device { vendor Dell.* product Virtual.* } device { vendor DELL product RD1000 } device { vendor DELL product "PERC 6/i" } # System disk device { vendor ATA product * } # System disk device { vendor SEAGATE product * } } devices { device { vendor "DELL" product "MD32xx" #path_grouping_policy group_by_prio prio rdac polling_interval 5 path_checker rdac path_selector "round-robin 0" hardware_handler "1 rdac" failback immediate #features "2 pg_init_retries 50" no_path_retry 30 #rr_min_io 100 prio_callout "/sbin/mpath_prio_rdac /dev/%n" getuid_callout "/lib/udev/scsi_id --whitelisted --device=/dev/%n" } } multipaths { multipath { device { vendor DELL product MD32xx } } }
Il faut redémarrer multipathd après avoir modifié ce fichier.
/etc/init.d/multipath-tools restart
Test du mutlipath
cbmf1:~# multipath -ll mpath2 (36782bcb0001de90b000003724da3fca8) dm-0 DELL,MD32xx size=837G features='1 queue_if_no_path' hwhandler='1 rdac' wp=rw |-+- policy='round-robin 0' prio=6 status=active | `- 1:0:0:0 sdd 8:48 active ready running `-+- policy='round-robin 0' prio=1 status=enabled `- 2:0:0:0 sde 8:64 active ghost running