cciss(4)

NOM
cciss – Pilote de périphérique bloc Smart Array de HP

SYNOPSIS
modprobe cciss [ cciss_allow_hpsa=1 ]

DESCRIPTION
Note : ce pilote obsolète a été retiré dans Linux 4.14, car il a été remplacé par le pilote hpsa(4) dans les noyaux plus récents.

cciss est un pilote de périphérique bloc pour les anciens contrôleurs RAID Smart Array d'HP.

  Options
cciss_allow_hpsa=1 : cette option empêche le pilote cciss d'essayer de faire fonctionner un contrôleur qui pourrait être géré par le pilote hpsa(4). En d'autre termes, cela signifie que le pilote cciss est alors restreint avec cette option aux contrôleurs suivants :

    Smart Array 5300
    Smart Array 5i
    Smart Array 532
    Smart Array 5312
    Smart Array 641
    Smart Array 642
    Smart Array 6400
    Smart Array 6400 EM
    Smart Array 6i
    Smart Array P600
    Smart Array P400i
    Smart Array E200i
    Smart Array E200
    Smart Array E200i
    Smart Array E200i
    Smart Array E200i
    Smart Array E500

  Matériel pris en charge
Le pilote cciss prend en charge les cartes Smart Array suivantes :

    Smart Array 5300
    Smart Array 5i
    Smart Array 532
    Smart Array 5312
    Smart Array 641
    Smart Array 642
    Smart Array 6400
    Smart Array 6400 U320 Expansion Module
    Smart Array 6i
    Smart Array P600
    Smart Array P800
    Smart Array E400
    Smart Array P400i
    Smart Array E200
    Smart Array E200i
    Smart Array E500
    Smart Array P700m
    Smart Array P212
    Smart Array P410
    Smart Array P410i
    Smart Array P411
    Smart Array P812
    Smart Array P712m
    Smart Array P711m

  Détails de configuration
Pour configurer les contrôleurs HP Smart Array, utilisez l'utilitaire de configuration (hpacuxe(8) ou bien hpacucli(8)) ou l'utilitaire de configuration hors-ligne sur ROM, lancé au démarrage depuis l'option « ROM » du Smart Array.

FICHIERS

  Nœuds de périphériques
La convention de nommage des périphériques est la suivante :

Numéros majeurs :

    104 | cciss0
    105 | cciss1
    106 | cciss2
    105 | cciss3
    108 | cciss4
    109 | cciss5
    110 | cciss6
    111 | cciss7

Numéros mineurs :

        b7 b6 b5 b4 b3 b2 b1 b0
        |----+----| |----+----|
             |           |
             |           +-------- identifiant partition (0=périph. entier, 1-15 partition)
             |
             +-------------------- numéro du volume logique

La convention de nommage de périphérique est :
/dev/cciss/c0d0 | Contrôleur 0, disque 0, périphérique entier
/dev/cciss/c0d0p1 | Contrôleur 0, disque 0, partition 1
/dev/cciss/c0d0p2 | Contrôleur 0, disque 0, partition 2
/dev/cciss/c0d0p3 | Contrôleur 0, disque 0, partition 3
/dev/cciss/c1d1 | Contrôleur 1, disque 1, périphérique entier
/dev/cciss/c1d1p1 | Contrôleur 1, disque 1, partition 1
/dev/cciss/c1d1p2 | Contrôleur 1, disque 1, partition 2
/dev/cciss/c1d1p3 | Contrôleur 1, disque 1, partition 3

  Fichiers dans /proc
Les fichiers /proc/driver/cciss/cciss[0-9]+ contiennent des informations au sujet de la configuration de chaque contrôleur. Par exemple :

    $ cd /proc/driver/cciss;
    $ ls -l;
    total 0
    -rw-r--r-- 1 root root 0 2010-09-10 10:38 cciss0
    -rw-r--r-- 1 root root 0 2010-09-10 10:38 cciss1
    -rw-r--r-- 1 root root 0 2010-09-10 10:38 cciss2
    $ cat cciss2;
    cciss2: HP Smart Array P800 Controller
    Board ID: 0x3223103c
    Firmware Version: 7.14
    IRQ: 16
    Logical drives: 1
    Current Q depth: 0
    Current # commands on controller: 0
    Max Q depth since init: 1
    Max # commands on controller since init: 2
    Max SG entries since init: 32
    Sequential access devices: 0

    cciss/c2d0:   36.38GB       RAID 0

  Fichiers dans /sys

/sys/bus/pci/devices/dev/ccissX/cXdY/model
    Affiche le modèle indiqué sur la page 0 de SCSI INQUIRY pour le lecteur logique Y du contrôleur X.

/sys/bus/pci/devices/dev/ccissX/cXdY/rev
    Affiche la révision indiquée sur la page 0 de SCSI INQUIRY pour le lecteur logique Y du contrôleur X.

/sys/bus/pci/devices/dev/ccissX/cXdY/unique_id
    Affiche le numéro de série indiqué sur la page 83 de SCSI INQUIRY pour le lecteur logique Y du contrôleur X.

/sys/bus/pci/devices/dev/ccissX/cXdY/fournisseur
    Affiche le fournisseur indiqué sur la page 0 de SCSI INQUIRY pour le lecteur logique Y du contrôleur X.

/sys/bus/pci/devices/dev/ccissX/cXdY/block:cciss!cXdY
    Lien symbolique vers /sys/block/cciss!cXdY.

/sys/bus/pci/devices/dev/ccissX/rescan
    Après écriture dans ce fichier, le pilote analyse de nouveau le contrôleur à la recherche de lecteurs logiques dont l'état a changé (nouveaux, retirés ou modifiés).

/sys/bus/pci/devices/dev/ccissX/resettable
    Si le fichier contient la valeur 1, cela signifie que le paramètre du noyau « reset_devices=1 » (utilisé par kdump) est pris en compte par le contrôleur. S'il contient la valeur 0, cela signifie que le paramètre du noyau « reset_devices=1 » n'est pas pris en compte. Certains modèles de Smart Array ne sont pas capables de prendre en compte ce paramètre.

/sys/bus/pci/devices/dev/ccissX/cXdY/lunid
    Affiche l'identifiant d'unité logique (« LUN ID ») sur 8 octets pour représenter le lecteur logique Y du contrôleur X.

/sys/bus/pci/devices/dev/ccissX/cXdY/raid_level
    Affiche le niveau RAID du lecteur logique Y du contrôleur X.

/sys/bus/pci/devices/dev/ccissX/cXdY/usage_count
    Affiche le comptage d'utilisation (nombre d'ouvertures) du lecteur logique Y du contrôleur X.

  Lecteur de bande SCSI et prise en charge du changeur de support.
Les périphériques SCSI à accès séquentiel et les périphériques de changement de support sont pris en charge, et les nœuds de périphériques idoines sont automatiquement créés (p. ex. /dev/st0, /dev/st1, etc. ; consultez st(4) pour plus de détails). Vous devez activer « SCSI tape drive support for Smart Array 5xxx » et « SCSI support » dans votre configuration du noyau pour pouvoir utiliser des lecteurs de bande SCSI avec votre contrôleur Smart Array 5xxx.

De plus, notez que le pilote n'engagera pas le cœur SCSI à l'initialisation. Le pilote ne doit pas être réglé pour engager dynamiquement le cœur SCSI au moyen de l'entrée /proc, qui est créée en tant que /proc/driver/cciss/cciss* par la partie « bloc » du pilote pendant l'exécution. En effet, à l'initialisation du pilote, le cœur SCSI peut ne pas être encore initialisé (car il s'agit d'un pilote de périphérique bloc) et essayer de l'enregistrer avec le cœur SCSI dans ce cas pourrait causer un plantage. La meilleure façon de le faire est d'utiliser un script d'initialisation (typiquement dans /etc/init.d, mais cela peut dépendre de la distribution). Par exemple :

    for x in /proc/driver/cciss/cciss[0-9]*
    do
        echo "Engager le cœur SCSI" > $x
    done

Une fois le cœur SCSI engagé par le pilote, il ne peut être désengagé (sauf en retirant le pilote, s'il est lié sous forme d'un module).

Notez aussi que si aucun périphérique à accès séquentiel ou changeur de support n'est détecté, le cœur SCSI ne sera pas engagé par l'action du script ci-dessus.

  Prise en charge du branchement à chaud de lecteurs de bande SCSI
Le branchement à chaud des lecteurs de bande SCSI est pris en charge, avec quelques mises en garde. Le pilote cciss doit être informé des changements apportés au bus SCSI. Cela peut être réalisé en utilisant le système de fichiers /proc. Par exemple :

    echo "rescan" > /proc/scsi/cciss0/1

Cela fait faire au pilote les actions suivantes :

    (1) Interroger le contrôleur au sujet des changements intervenus sur les bus SCSI physiques ou l’interface FC-AL.

    (2) Prendre note de tout périphérique à accès séquentiel ou changeur de support ajouté ou retiré.

Le pilote affichera des messages indiquant quels périphériques ont été ajoutés ou retirées, ainsi que les contrôleur, bus, cible et numéro d'unité logique utilisés pour accéder à chacun de ces périphériques. Le pilote prévient ensuite la couche intermédiaire SCSI de ces changements.

Notez que la convention de nommage des entrées du système de fichiers /proc contient un numéro en plus du nom du pilote (p. ex. « cciss0 » au lieu du simple « cciss » attendu).

Remarque : seul les périphériques à accès séquentiel et les changeurs de support sont présentés par le pilote cciss comme des périphériques SCSI à la couche intermédiaire SCSI. Précisément, les disques physiques SCSI ne sont pas présentés à la couche intermédiaire SCSI. Les seuls périphériques de disque présentés au noyau sont les lecteurs logiques que le contrôleur Array construit à partir de régions sur les lecteurs physiques. Les lecteurs logiques sont présentés à la couche « bloc » (et non à la couche intermédiaire SCSI). Il est important que le pilote empêche le noyau d'accéder directement aux lecteurs physiques, puisque ces lecteurs sont utilisés par le contrôleur pour construire les lecteurs logiques.

  Gestion des erreurs SCSI pour les lecteurs de bande et les changeurs de support
La couche intermédiaire SCSI de Linux fournit un protocole de gestion d'erreurs, qui est initialisé dès qu'une commande SCSI échoue après un certain laps de temps (qui peut dépendre de la commande). Le pilote cciss participe à ce protocole dans une certaine mesure. Le protocole normal comprend quatre étapes :

(1) D'abord, le périphérique est prié d'interrompre la commande.

(2) Si cela ne fonctionne pas, le périphérique est réinitialisé.

(3) Si cela ne fonctionne pas, le bus SCSI est réinitialisé.

(4) Si cela ne fonctionne pas, le contrôleur hôte du bus est réinitialisé.

Le pilote cciss est un pilote pour périphérique bloc, ainsi qu'un pilote SCSI et seuls les lecteurs de bande et les changeurs de support sont présentés à la couche intermédiaire SCSI. De plus, contrairement à d'autres pilotes SCSI plus simples, les opérations d'entrée et sortie sur le disque continuent du côté bloc pendant le processus de réparation d'erreur. C'est pourquoi le pilote cciss implémente seulement les deux premières actions : interrompre la commande, et réinitialiser le périphérique. Notez aussi que la plupart des lecteurs de bande ne vont pas coopérer lors de l'interruption de commandes, et parfois même ne vont pas obéir à la commande de réinitialisation, même s'ils le feront dans la majorité des cas. Si la commande ne peut être interrompue et le périphérique ne peut être réinitialisé, le périphérique sera placé hors-ligne.

Dans le cas où la gestion des erreurs est déclenchée et un lecteur de bande est réinitialisé correctement ou la commande qui différée est interrompue correctement, le lecteur de bande peut quand même ne pas permettre les opérations d'entrée-sortie de continuer tant qu'une commande qui positionnera la bande à une position connue ne sera pas exécutée. Typiquement, vous devez rembobiner la bande (en exécutant mt -f /dev/st0 rewind par exemple), avant que les opérations d'entrée-sorties puissent reprendre sur un lecteur de bande réinitialisé.

VOIR AUSSI
hpsa(4), cciss_vol_status(8), hpacucli(8), hpacuxe(8)

http://cciss.sf.net, les fichiers source du noyau Linux Documentation/blockdev/cciss.txt et Documentation/ABI/testing/sysfs-bus-pci-devices-cciss

TRADUCTION
La traduction française de cette page de manuel a été créée par Christophe Blaess <https://www.blaess.fr/christophe/>, Stéphan Rafin <stephan.rafin@laposte.net>, Thierry Vignaud <tvignaud@mandriva.com>, François Micaux, Alain Portal <aportal@univ-montp2.fr>, Jean-Philippe Guérard <fevrier@tigreraye.org>, Jean-Luc Coulon (f5ibh) <jean-luc.coulon@wanadoo.fr>, Julien Cristau <jcristau@debian.org>, Thomas Huriaux <thomas.huriaux@gmail.com>, Nicolas François <nicolas.francois@centraliens.net>, Florentin Duneau <fduneau@gmail.com>, Simon Paillard <simon.paillard@resel.enst-bretagne.fr>, Denis Barbier <barbier@debian.org>, David Prévot <david@tilapin.org>, Cédric Boutillier <cedric.boutillier@gmail.com>, Frédéric Hantrais <fhantrais@gmail.com> et Jean-Pierre Giraud <jean-pierregiraud@neuf.fr>

Cette traduction est une documentation libre ; veuillez vous reporter à la GNU General Public License version 3 (https://www.gnu.org/licenses/gpl-3.0.html) concernant les conditions de copie et de distribution. Il n'y a aucune RESPONSABILITÉ LÉGALE.

Si vous découvrez un bogue dans la traduction de cette page de manuel, veuillez envoyer un message à debian-l10n-french@lists.debian.org.