<!doctype Linuxdoc system>

<article>

<title> Linux DPT Hardware RAID HAWTO </title>

<author> Version originale : Ram Samudrala <tt>(me@ram.org)</tt> 
Version française : Nicolas Jadot <tt>(njadot@etu.info.unicaen.fr)</tt>
</author>
<date>v1.1,  15 Décmebre 1997</date>
<abstract>
Comment configurer un matériel RAID sous Linux
</abstract>

<toc>

<sect> Introduction

<p> Ce document décrit comment configurer un matériel RAID SCSI, en se
focalisant principalement sur les adaptateurs internes d'origine
DPT, bien que les principes appliqués ici soient assez généraux. </p>

<p> Utilisez les informations ci-dessous à vos risques et
périls. L'auteur (NDT : et le traducteur) dénient toute responsabilité
concernant ce que le lecteur pourra faire après avoir lu ce
document. La version la plus récente de ce HOWTO sera toujours
disponible à l'adresse <htmlurl
url="http://www.ram.org/computing/linux/dpt_raid.html"
name="http://www.ram.org/computing/linux/dpt&lowbar;raid.html">. </p>

</sect>

<sect> Contr&ocirc;leurs supportés

<p> Le seul contr&ocirc;leur RAID actuellement bien supporté ( c.à.d.  un
contr&ocirc;leur pour lequel il existe un pilote sous Linux) est celui
fabriqué par la société <url url="http://www.dpt.com"
name="DPT">. Cependant, il existe d'autres contr&ocirc;leurs internes
(NDT : <em/host-based/, contr&ocirc;leur installé sur la carte-mère, à
l'intérieur de la machine) et externes (NDT : <em/scsi-to-scsi/,
contr&ocirc;leurs connectés sur une cha&icirc;ne SCSI existante ; on
pourrait également dire additionnels)
<!-- NJ : Ces explications peuvent etre approximatives, j'encourage
vivement toute personne plus au courant que moi à me signaler toute
errreur -->
pouvant fonctionner sous Linux. Ceci inclut les contr&ocirc;leurs
produits par <url url="http://www.syred.com" name="Syred">, <url
url="http://www.icp-vortex.com" name="ICP-Vortex">, et <url
url="http://www.bus-logic.com" name="BusLogic">. De plus, il existe de
nombreux contr&ocirc;leurs additionnels. Consultez la page <url
url="http://linas.org/linux/raid.html" name="RAID solutions for Linux
"> pour plus d'informations. </p>

<p> Si, dans l'avenir, de nouveaux modèles sont supportés, je ferai de
mon mieux afin d'inclure ces informations dans ce document. </p>

<sect> Quel matériel vaut-il mieux utiliser ?

<p> Connaissant ces données <!-- ?! : Given all these options -->,
vous devez, si vous cherchez une solution RAID, réflechir à deux fois à
ce que vous voulez. En fonction de ce que vous voulez faire, et du
niveau de redondance(NDT : ceci est une traduction un peu libre de
RAID level), certaines cartes seront meilleures que d'autres. Les
adaptateurs externes peuvent par exemple ne pas &ecirc;tre aussi adaptés que
les contr&ocirc;leurs internes (consultez <url
url="http://www.dpt.com/hstvscsi.html" name="DPT comparison between
host-based and SCSI-to-SCSI adapters"> pour en connaitre les raisons).
Michael Neuffer (<htmlurl url="mailto:neuffer@kralle.zdv.uni-mainz.de"
name="neuffer@kralle.zdv.uni-mainz.de">), auteur du pilote EATA-DMA,
discute de tout cela sur sa page <url
url="http://www.uni-mainz.de/~neuffer/scsi/" name="Linux High
Performance SCSI and RAID page">. </p>

<p> Pour les besoins de ce document, je considererai que vous ne
disposez que d'un système Linux en ordre de marche. Cependant, notez
que je n'ai fait l'essai que du contr&ocirc;leur DPT Smartcache VI
PM2144UW, avec la tour fournie par DPT (SmartRAID tower), et
que je n'ai pas l'expérience d'une autre configuration. Les choses peuvent
donc &ecirc;tre différentes pour votre configuration. </p> </sect>

<sect> Installation

<sect1> Installer et configurer le matériel

<p> Reportez-vous aux manuel d'instructions pour installer votre carte
et vos disques. Pour le matériel DPT, comme il n'existe pas encore de
gestionnaire de stockage <!-- ?! : storage manager --> pour Linux,
vous devez créer un disque formatté MS-DOS avec le système dessus
(généralement gr&acirc;ce à la commande "format &bsol;s" à l'invite
MS-DOS ). Vous utiliserez également le gestionnaire de stockage 
<!-- ?! : Cf plus haut --> DPT pour MS-DOS, dont vous devriez faire 
une copie de sauvegarde par mesure de précaution. </p>

<p> Une fois le matériel en place, démarrez en utilisant le disque
système DOS. Remplacez le disque DOS par le gestionnaire de
stockage. Et lancez celui-ci avec la commande :

<tscreen><verb>
a:\ dptmgr
</verb></tscreen>

Attendez une minute et vous obtiendrez un sympathique menu
d'options. Configurez l'ensemble des disques comme matériel RAID
(unité logique unique <!-- ?! : single logical array -->). Choisissez
 "other"(NDT : autre(s)) comme système d'exploitation. </p>

<p> Le gestionnaire de stockage MS-DOS est beaucoup plus facile à
utiliser à la souris, et donc vous devriez avoir un gestionnaire de
souris sur le premier disque système que vous créerez. </p>

<p> Techniquement, il devrait &ecirc;tre possible de lancer le
gestionnaire de stockage de SCO sous Linux, mais cela pourrait vous
apporter plus de soucis que de facilités. Il est probablement bien
mieux de lancer le gestionnaire MS-DOS sous Linux. </p>

</sect1>

<sect1> Configurer le noyau

<p> Vous devrez configurer le noyau en activant le support SCSI ainsi
que le gestionnaire de périphérique approprié. Voyez <url
url="http://sunsite.unc.edu/mdw/HOWTO/Kernel-HOWTO.html" name="Kernel
HOWTO">(NDT : <url url="http://www.freenix.fr/linux/HOWTO/Kernel-HOWTO.html" name="Kernel
HOWTO"> en fran&ccedil;ais) pour toute 
information relative à la compilation du noyau. Une fois que vous
aurez choisi "yes" pour activer le support SCSI,
sélectionnez, dans la section concernant les gestionnaires bas-niveau,
celui de votre choix (EATA-DMA pour la majorité des cartes compatibles
EATA-DMA (DPT), EATA-PIO  pour les très vieilles PM2001 et PM2012A de
DPT). La plupart des pilotes, ainsi que le pilote EATA-DMA, devrait
&ecirc;tre disponible dans les versions récentes du noyau. </p>

<p> Une fois que vous avez compilé le noyau, relancez la machine, et
si vous avez tout configuré correctement, vous devriez voir le pilote
considérer l'unité RAID comme un unique disque SCSI. Si vous utilisez
RAID-5, vous constaterez que la taille de l'unité correspond aux deux
tiers de l'espace total de stockage. Les messages que vous verrez
lors du démarrage devraient ressembler à :

<tscreen><verb>
EATA (Extended Attachment) driver version: 2.59b
developed in co-operation with DPT
(c) 1993-96 Michael Neuffer, mike@i-Connect.Net
Registered HBAs:
HBA no. Boardtype    Revis  EATA Bus  BaseIO IRQ DMA Ch ID Pr QS  S/G IS
scsi0 : PM2144UW     v07L.Y 2.0c PCI  0xef90  11 BMST 1  7  N  64 252 Y
scsi0 : EATA (Extended Attachment) HBA driver
scsi : 1 host.
  Vendor: DPT       Model: RAID-5            Rev: 07LY
  Type:   Direct-Access                      ANSI SCSI revision: 02
Detected scsi disk sda at scsi0, channel 0, id 8, lun 0
scsi0: queue depth for target 8 on channel 0 set to 64
scsi : detected 1 SCSI disk total.
SCSI device sda: hdwr sector= 512 bytes. Sectors= 35591040 [17378 MB] [17.4 GB]
</verb></tscreen>

(La sortie ci-dessus correspond à une configuration comportant un seul
contr&ocirc;leur DPT, configuré en RAID-5, avec trois disques de 9Go
chacun.) </p>

</sect1>

</sect>

<sect> Utilisation

<sect1> fdisk, mke2fs, mount, etc.

<p> Vous pouvez désormais utiliser votre unité RAID comme un disque
normal. Le première chose que vous aurez à faire sera de partitionner
le disque (en utilisant fdisk). Vous devrez ensuite créer un système
de fichiers ext2. Ceci se fait par la commande :

<tscreen><verb>
% mkfs -t ext2 /dev/sdxN
</verb></tscreen>

où /dev/sdxN est le nom de votre partition SCSI. Une fois ceci fait,
vous pourrez monter les partitions et les utiliser comme vous le
feriez pour tout autre disque (incluant l'ajout d'entrées dans le fichier
/etc/fstab).</p>

</sect1>

<sect1> Echange à chaud

<p> Nous avons d'abord tenté un échange à chaud(L'échange à chaud
(hotswapping) consiste en le remplacement d'une unité de l'ensemble
RAID alors que l'ordinateur est en fonctionnement) en retirant puis en
remettant un disque dans la boîte/tour fournie par DPT (que vous
pouvez acheter moyennant supplément). Avant que nous ayons pu mener
l'opération à son terme, un des disques est tombé en panne ( pendant
que j'écris ces lignes, la sonnerie commence à me rendre dingue
). Malgré cette panne de l'un des disques, toutes les données stockées
sur l'unité RAID sont accessibles. </p>

<p> Au lieu de remplacer le disque, nous avons machinalement
remis la m&ecirc;me unité. L'unité s'est reconstruite 
<!-- ?! : rebuilt itself --> et tout semble &ecirc;tre parfait. Durant
tout le temps de la panne, ainsi que durant la reconstruction, toutes
les données sont restées accessibles. Malgré tout, si un autre disque
était tombé en panne, nous aurions eu des sérieux problèmes. </p>

</sect1>

<sect1> Performances

<p> Ici sont retranscrites les sorties du programme Bonnie, sur un
2144UW avec une condiguration de 9x3=17Go <!-- NJ : le calcul semble -->
-- faux ! -->
<!-- MH : n'est-pas du au fait que seuls 2/3 de l'espace physique restent utiliables ? -->
RAID-5. L'unité RAID est connectée à une machine biprocesseurs Pentium
Pro avec Linux 2.0.32. Pour comparer, les résultats de Bonnie sur les
disques IDE de cette machine sont aussi indiqués.

<tscreen><verb>
           -------Sequential Output-------- ---Sequential Input--  --Random--            
           -Per Char- --Block--- -Rewrite-- -Per Char- --Block---  --Seeks---            
        MB K/sec %CPU K/sec %CPU K/sec %CPU K/sec %CPU K/sec %CPU   /sec  %CPU 
RAID   100  9210 96.8  1613  5.9   717  5.8  3797 36.1 90931 96.8 4648.2 159.2 
IDE    100  3277 32.0  6325 23.5  2627 18.3  4818 44.8 59697 88.0  575.9  16.3
</verb></tscreen>

Il est clair que l'unité RAID est performante pour les lectures et
écritures de blocs (malgré la dégradation des performances en écriture
due à l'utilisation du RAID-5), mais n'est pas très bonne pour ce qui est des
réécritures séquentielles. </p>

</sect1>

</sect>

<sect> Caractéristiques du pilote DPT RAID

<p> Cette section décrit quelques-unes des commandes disponibles sous
Linux pour vérifier la configuration RAID. De nouveau, m&ecirc;me s'il
est fait référence au pilote eata&lowbar;dma, ceci peut &ecirc;tre utilisé
pour la vérification d'autres pilotes. </p>

<p> Pour voir la configuration de votre pilote, tapez :

<tscreen><verb>
% cat /proc/scsi/eata_dma/N
</verb></tscreen>

où N est l'identificateur du contr&ocirc;leur. Vous devriez obtenir
quelque chose comme :

<tscreen><verb>
EATA (Extended Attachment) driver version: 2.59b
queued commands:         353969
processed interrupts:    353969

scsi0 : HBA PM2144UW
Firmware revision: v07L.Y
Hardware Configuration:
IRQ: 11, level triggered
DMA: BUSMASTER
CPU: MC68020 20MHz
Base IO : 0xef90
Host Bus: PCI
SCSI Bus: WIDE Speed: 10MB/sec.
SCSI channel expansion Module: not present
SmartRAID hardware: present.
    Type: integrated
    Max array groups:              7
    Max drives per RAID 0 array:   7
    Max drives per RAID 3/5 array: 7
Cache Module: present.
</verb></tscreen>
<tscreen><verb>
    Type: 0
    Bank0: 16MB without ECC
    Bank1: 0MB without ECC
    Bank2: 0MB without ECC
    Bank3: 0MB without ECC
Timer Mod.: present
NVRAM     : present
SmartROM  : enabled
Alarm     : on
Host&lt;-&gt;Disk command statistics:
         Reads:      Writes:
    1k:           0            0
    2k:           0            0
    4k:           0            0
    8k:           0            0
   16k:           0            0
   32k:           0            0
   64k:           0            0
  128k:           0            0
  256k:           0            0
  512k:           0            0
 1024k:           0            0
&gt;1024k:           0            0
Sum   :           0            0
</verb></tscreen>
</p>

<p> Pour obtenir les statistiques des commandes avancées, tapez :

<tscreen><verb>
% echo "eata_dma latency" > /proc/scsi/eata_dma/N
</verb></tscreen>
</p>

<p> Ensuite, vous pouvez faire :

<tscreen><verb>
% cat /proc/scsi/eata_dma/N
</verb></tscreen>

pour obtenir des statistiques plus détaillées. </p>

<p> Pour désactiver les statistiques avancées, tapez :

<tscreen><verb>
% echo "eata_dma nolatency" > /proc/scsi/eata_dma/N
</verb></tscreen>
</p>

</sect>

<sect> En cas de problème...

<sect1> Aucune unité SCSI n'est détectée lors du démarrage

<p> Ceci peut avoir de multiples causes, mais c'est probablement que
le pilote addéquat n'a pas été configuré dans le noyau. Vérifiez et
assurez-vous que le pilote (EATA-DMA pour la plupart des cartes DPT)
est configuré. </p>

</sect1>

<sect1> La configuration RAID est visible comme N disques différents

<p> Le RAID n'a pas été configuré correctement. Si vous utilisez un
gestionnaire de stockage DPT, vous devez configurer les disques RAID
comme une seule unité logique. Michael Neuffer (<htmlurl
url="mailto:neuffer@kralle.zdv.uni-mainz.de"
name="neuffer@kralle.zdv.uni-mainz.de">) écrit "Quand vous configurez
le contr&ocirc;leur avec le SM démarrez-le avec le paramètre /FWO
et/ou sélectionnez Solaris comme système d'exploitation. Cela
configurera l'unité pour &ecirc;tre controlée en interne par le
contr&ocirc;leur."</p>

</sect1>

<sect1> Si rien ne marche...

<p> Relisez le SCSI-HOWTO. Vérifiez le câblage et les
terminaisons. Essayez une machine différente si vous en avez la
possibilité. La cause la plus commune de problèmes avec les unités et
les pilotes SCSI est un matériel défectueux ou mal
configuré. Finalement, vous pouvez écrire dans les forums de
discussion ou m'envoyer un courrier électronique
(NDT : à l'auteur, pas au traducteur...), et je ferai de mon mieux
pour vous aider. </p>

</sect1>

</sect>

<sect> Références <label id="references">

<p> Les documents suivants vous seront très utiles lorsque vous
configurerez une unité RAID :
<itemize>
<item> <url url="http://www.dpt.com/techno.html" name="DPT RAID Primer and other RAID/SCSI-related documents">
<item> <url url="http://www.uni-mainz.de/~neuffer/scsi/dpt/index.html" name="EATA-DMA homepage">
<item> <url url="http://sunsite.unc.edu/mdw/HOWTO/Disk-HOWTO.html" name="Linux Disk HOWTO">
<item> <url url="http://sunsite.unc.edu/mdw/HOWTO/Kernel-HOWTO.html" name="Linux Kernel HOWTO">
<item> <url url="http://sunsite.unc.edu/mdw/HOWTO/SCSI-HOWTO.html" name="Linux SCSI HOWTO">
<item> <url url="http://linas.org/linux/raid.html" name="RAID Solutions for Linux">
</itemize>
</p>

</sect>

<sect> Remerciements 

<p> Les personnes suivantes m'ont beaucoup aidé pour la réalisation de cet HOWTO
:

<itemize>
<item> Boris Fain (<htmlurl url="mailto:fain@zen.stanford.edu" name="fain@zen.stanford.edu">)
<item> Jos Vos (<htmlurl url="mailto:jos@xos.nl" name="jos@xos.nl">)
<item> Michael Neuffer (<htmlurl url="mailto:neuffer@kralle.zdv.uni-mainz.de" name="neuffer@kralle.zdv.uni-mainz.de">)
<item> Ralph Wallace (<htmlurl url="mailto:rwallace@rwallace.interaccess.com" name="rwallace@rwallace.interaccess.com">)
<item> Russell Brown (<htmlurl url="mailto:russell@lutton.lls.com " name="russell@lutton.lls.com">)
<item> Syunsuke Ogata (<htmlurl url="mailto:Syunsuke_Ogata@appear.ne.jp" name="Syunsuke&lowbar;Ogata@appear.ne.jp">)
</itemize>
</p>

</sect>


 
</article>