  Linux DPT Hardware RAID HAWTO
  Version originale : Ram Samudrala (me@ram.org) Version fran-
  caise : Nicolas Jadot (njadot@etu.info.unicaen.fr)
  v1.1,  15 Decmebre 1997

  Comment configurer un materiel RAID sous Linux

  11..  IInnttrroodduuccttiioonn

  Ce document decrit comment configurer un materiel  RAID  SCSI,  en  se
  focalisant  principalement sur les adaptateurs internes d'origine DPT,
  bien que les principes appliques ici soient assez generaux.

  Utilisez les informations ci-dessous a vos risques et perils. L'auteur
  (NDT  :  et  le traducteur) denient toute responsabilite concernant ce
  que le lecteur pourra faire apres avoir lu ce document. La version  la
  plus  recente  de  ce  HOWTO  sera  toujours  disponible  a  l'adresse
  http://www.ram.org/computing/linux/dpt_raid.html.

  22..  CCoonnttrroolleeuurrss ssuuppppoorrtteess

  Le seul controleur  RAID  actuellement  bien  supporte  (  c.a.d.   un
  controleur  pour  lequel  il  existe  un  pilote sous Linux) est celui
  fabrique par la societe DPT <http://www.dpt.com>. Cependant, il existe
  d'autres  controleurs  internes (NDT : _h_o_s_t_-_b_a_s_e_d, controleur installe
  sur la carte-mere, a l'interieur de la machine)  et  externes  (NDT  :
  _s_c_s_i_-_t_o_-_s_c_s_i, controleurs connectes sur une chaine SCSI existante ; on
  pourrait egalement dire additionnels) pouvant fonctionner sous  Linux.
  Ceci inclut les controleurs produits par Syred <http://www.syred.com>,
  ICP-Vortex <http://www.icp-vortex.com>, et  BusLogic  <http://www.bus-
  logic.com>.  De  plus, il existe de nombreux controleurs additionnels.
  Consultez     la     page      RAID      solutions      for      Linux
  <http://linas.org/linux/raid.html> pour plus d'informations.

  Si, dans l'avenir, de nouveaux modeles sont supportes, je ferai de mon
  mieux afin d'inclure ces informations dans ce document.

  33..  QQuueell mmaatteerriieell vvaauutt--iill mmiieeuuxx uuttiilliisseerr ??

  Connaissant ces donnees , vous devez, si vous  cherchez  une  solution
  RAID,  reflechir  a  deux fois a 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 etre aussi adaptes que les controleurs internes (consultez DPT
  comparison    between    host-based    and    SCSI-to-SCSI    adapters
  <http://www.dpt.com/hstvscsi.html>  pour  en  connaitre  les raisons).
  Michael Neuffer (neuffer@kralle.zdv.uni-mainz.de),  auteur  du  pilote
  EATA-DMA, discute de tout cela sur sa page Linux High Performance SCSI
  and RAID page <http://www.uni-mainz.de/~neuffer/scsi/>.

  Pour les besoins de ce document, je considererai que vous ne  disposez
  que  d'un  systeme  Linux  en ordre de marche. Cependant, notez que je
  n'ai fait l'essai que du controleur DPT Smartcache VI  PM2144UW,  avec
  la  tour  fournie  par  DPT  (SmartRAID  tower),  et  que  je n'ai pas
  l'experience d'une autre configuration. Les choses peuvent  donc  etre
  differentes pour votre configuration.

  44..  IInnssttaallllaattiioonn

  44..11..  IInnssttaalllleerr eett ccoonnffiigguurreerr llee mmaatteerriieell

  Reportez-vous  aux manuel d'instructions pour installer votre carte et
  vos disques. Pour le materiel DPT, comme il  n'existe  pas  encore  de
  gestionnaire  de  stockage   pour  Linux,  vous  devez creer un disque
  formatte MS-DOS avec  le  systeme  dessus  (generalement  grace  a  la
  commande "format \s" a l'invite MS-DOS ). Vous utiliserez egalement le
  gestionnaire de stockage DPT pour MS-DOS, dont vous devriez faire  une
  copie de sauvegarde par mesure de precaution.

  Une fois le materiel en place, demarrez en utilisant le disque systeme
  DOS. Remplacez le disque DOS  par  le  gestionnaire  de  stockage.  Et
  lancez celui-ci avec la commande :

       a:\ dptmgr

  Attendez  une minute et vous obtiendrez un sympathique menu d'options.
  Configurez l'ensemble des disques comme materiel RAID  (unite  logique
  unique   ).   Choisissez   "other"(NDT   :   autre(s))  comme  systeme
  d'exploitation.

  Le gestionnaire de stockage MS-DOS est beaucoup plus facile a utiliser
  a  la souris, et donc vous devriez avoir un gestionnaire de souris sur
  le premier disque systeme que vous creerez.

  Techniquement, il devrait etre possible de lancer le  gestionnaire  de
  stockage  de  SCO sous Linux, mais cela pourrait vous apporter plus de
  soucis que de facilites. Il est probablement bien mieux de  lancer  le
  gestionnaire MS-DOS sous Linux.

  44..22..  CCoonnffiigguurreerr llee nnooyyaauu

  Vous  devrez configurer le noyau en activant le support SCSI ainsi que
  le  gestionnaire  de  peripherique  approprie.  Voyez   Kernel   HOWTO
  <http://sunsite.unc.edu/mdw/HOWTO/Kernel-HOWTO.html>(NDT    :   Kernel
  HOWTO     <http://www.freenix.fr/linux/HOWTO/Kernel-HOWTO.html>     en
  francais)  pour  toute information relative a la compilation du noyau.
  Une fois que vous aurez choisi "yes" pour  activer  le  support  SCSI,
  selectionnez, dans la section concernant les gestionnaires bas-niveau,
  celui de votre choix (EATA-DMA pour la majorite des cartes compatibles
  EATA-DMA  (DPT), EATA-PIO  pour les tres vieilles PM2001 et PM2012A de
  DPT). La plupart des pilotes, ainsi que le  pilote  EATA-DMA,  devrait
  etre disponible dans les versions recentes du noyau.

  Une  fois  que  vous avez compile le noyau, relancez la machine, et si
  vous avez tout configure correctement, vous  devriez  voir  le  pilote
  considerer  l'unite RAID comme un unique disque SCSI. Si vous utilisez
  RAID-5, vous constaterez que la taille de l'unite correspond aux  deux
  tiers de l'espace total de stockage. Les messages que vous verrez lors
  du demarrage devraient ressembler a :

  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]

  (La sortie ci-dessus correspond a une configuration comportant un seul
  controleur  DPT,  configure  en  RAID-5,  avec  trois  disques  de 9Go
  chacun.)

  55..  UUttiilliissaattiioonn

  55..11..  ffddiisskk,, mmkkee22ffss,, mmoouunntt,, eettcc..

  Vous pouvez desormais  utiliser  votre  unite  RAID  comme  un  disque
  normal.  Le premiere chose que vous aurez a faire sera de partitionner
  le disque (en utilisant fdisk). Vous devrez ensuite creer  un  systeme
  de fichiers ext2. Ceci se fait par la commande :

       % mkfs -t ext2 /dev/sdxN

  ou  /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'entrees dans le
  fichier /etc/fstab).

  55..22..  EEcchhaannggee aa cchhaauudd

  Nous  avons  d'abord  tente  un  echange  a  chaud(L'echange  a  chaud
  (hotswapping)  consiste  en  le remplacement d'une unite de l'ensemble
  RAID alors que l'ordinateur est en fonctionnement) en retirant puis en
  remettant  un  disque  dans  la  boite/tour  fournie par DPT (que vous
  pouvez acheter moyennant supplement). Avant que nous  ayons  pu  mener
  l'operation  a  son terme, un des disques est tombe en panne ( pendant
  que j'ecris ces lignes, la sonnerie commence a  me  rendre  dingue  ).
  Malgre  cette  panne  de l'un des disques, toutes les donnees stockees
  sur l'unite RAID sont accessibles.

  Au lieu de remplacer le disque, nous avons machinalement remis la meme
  unite.  L'unite s'est reconstruite et tout semble etre parfait. Durant
  tout le temps de la panne, ainsi que durant la reconstruction,  toutes
  les  donnees sont restees accessibles. Malgre tout, si un autre disque
  etait tombe en panne, nous aurions eu des serieux problemes.

  55..33..  PPeerrffoorrmmaanncceess

  Ici sont retranscrites les sorties du programme Bonnie, sur un  2144UW
  avec  une condiguration de 9x3=17Go -- faux ! --> RAID-5. L'unite RAID
  est connectee a une  machine  biprocesseurs  Pentium  Pro  avec  Linux
  2.0.32.  Pour comparer, les resultats de Bonnie sur les disques IDE de
  cette machine sont aussi indiques.

                  -------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

  Il est clair que l'unite RAID est performante  pour  les  lectures  et
  ecritures de blocs (malgre la degradation des performances en ecriture
  due a l'utilisation du RAID-5), mais n'est pas tres bonne pour ce  qui
  est des reecritures sequentielles.

  66..  CCaarraacctteerriissttiiqquueess dduu ppiilloottee DDPPTT RRAAIIDD

  Cette  section  decrit  quelques-unes  des  commandes disponibles sous
  Linux pour verifier la configuration RAID. De nouveau, meme  s'il  est
  fait  reference  au  pilote  eata_dma,  ceci peut etre utilise pour la
  verification d'autres pilotes.

  Pour voir la configuration de votre pilote, tapez :

       % cat /proc/scsi/eata_dma/N

  ou N est l'identificateur du controleur. Vous devriez obtenir  quelque
  chose comme :

       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.

      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<->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
  >1024k:           0            0
  Sum   :           0            0

  Pour obtenir les statistiques des commandes avancees, tapez :

       % echo "eata_dma latency" > /proc/scsi/eata_dma/N

  Ensuite, vous pouvez faire :

       % cat /proc/scsi/eata_dma/N

  pour obtenir des statistiques plus detaillees.

  Pour desactiver les statistiques avancees, tapez :

       % echo "eata_dma nolatency" > /proc/scsi/eata_dma/N

  77..  EEnn ccaass ddee pprroobblleemmee......

  77..11..  AAuuccuunnee uunniittee SSCCSSII nn''eesstt ddeetteecctteeee lloorrss dduu ddeemmaarrrraaggee

  Ceci  peut  avoir  de multiples causes, mais c'est probablement que le
  pilote addequat n'a pas ete  configure  dans  le  noyau.  Verifiez  et
  assurez-vous  que  le pilote (EATA-DMA pour la plupart des cartes DPT)
  est configure.

  77..22..  LLaa ccoonnffiigguurraattiioonn RRAAIIDD eesstt vviissiibbllee ccoommmmee NN ddiissqquueess ddiiffffeerreennttss

  Le  RAID  n'a  pas  ete  configure  correctement.  Si vous utilisez un
  gestionnaire de stockage DPT, vous devez configurer les  disques  RAID
  comme     une     seule     unite     logique.     Michael     Neuffer
  (neuffer@kralle.zdv.uni-mainz.de)  ecrit  "Quand  vous  configurez  le
  controleur  avec  le  SM  demarrez-le  avec  le  parametre  /FWO et/ou
  selectionnez Solaris comme systeme  d'exploitation.  Cela  configurera
  l'unite pour etre controlee en interne par le controleur."

  77..33..  SSii rriieenn nnee mmaarrcchhee......

  Relisez  le  SCSI-HOWTO.  Verifiez  le  cablage  et  les terminaisons.
  Essayez une machine differente si vous  en  avez  la  possibilite.  La
  cause la plus commune de problemes avec les unites et les pilotes SCSI
  est un materiel defectueux ou mal configure. Finalement,  vous  pouvez
  ecrire  dans  les  forums  de  discussion  ou  m'envoyer  un  courrier
  electronique (NDT : a l'auteur, pas au traducteur...), et je ferai  de
  mon mieux pour vous aider.

  88..  RReeffeerreenncceess

  Les   documents   suivants   vous  seront  tres  utiles  lorsque  vous
  configurerez une unite RAID :

  +o  DPT   RAID   Primer   and   other    RAID/SCSI-related    documents
     <http://www.dpt.com/techno.html>

  +o  EATA-DMA                  homepage                 <http://www.uni-
     mainz.de/~neuffer/scsi/dpt/index.html>

  +o  Linux Disk HOWTO <http://sunsite.unc.edu/mdw/HOWTO/Disk-HOWTO.html>

  +o  Linux    Kernel   HOWTO   <http://sunsite.unc.edu/mdw/HOWTO/Kernel-
     HOWTO.html>

  +o  Linux SCSI HOWTO <http://sunsite.unc.edu/mdw/HOWTO/SCSI-HOWTO.html>

  +o  RAID Solutions for Linux <http://linas.org/linux/raid.html>

  99..  RReemmeerrcciieemmeennttss

  Les personnes suivantes m'ont beaucoup aide pour la realisation de cet
  HOWTO :

  +o  Boris Fain (fain@zen.stanford.edu)

  +o  Jos Vos (jos@xos.nl)

  +o  Michael Neuffer (neuffer@kralle.zdv.uni-mainz.de)

  +o  Ralph Wallace (rwallace@rwallace.interaccess.com)

  +o  Russell Brown (russell@lutton.lls.com)

  +o  Syunsuke Ogata (Syunsuke_Ogata@appear.ne.jp)

