cciss – Pilote de périphérique bloc Smart Array de HP
modprobe cciss [ cciss_allow_hpsa=1 ]
Note: This obsolete driver was removed in Linux 4.14, as it is superseded
by the
hpsa(4) driver in newer kernels.
cciss est un pilote de périphérique bloc pour les anciens
contrôleurs RAID Smart Array d'HP.
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
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
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.
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 |
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
- /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.
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.
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.
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é.
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
La traduction française de cette page de manuel a été
créée par Christophe Blaess
<
https://www.blaess.fr/christophe/>, Stéphan Rafin
<
[email protected]>, Thierry Vignaud
<
[email protected]>, François Micaux, Alain Portal
<
[email protected]>, Jean-Philippe Guérard
<
[email protected]>, Jean-Luc Coulon (f5ibh)
<
[email protected]>, Julien Cristau
<
[email protected]>, Thomas Huriaux <
[email protected]>,
Nicolas François <
[email protected]>, Florentin
Duneau <
[email protected]>, Simon Paillard
<
[email protected]>, Denis Barbier
<
[email protected]>, David Prévot <
[email protected]>,
Cédric Boutillier <
[email protected]>,
Frédéric Hantrais <
[email protected]> et Jean-Pierre
Giraud <
[email protected]>
Cette traduction est une documentation libre ; veuillez vous reporter
à la
GNU
General Public License version 3 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 à
[email protected]