cciss(4) Device Drivers Manual cciss(4) NOM cciss - Pilote de peripherique bloc Smart Array de HP SYNOPSIS modprobe cciss [ cciss_allow_hpsa=1 ] DESCRIPTION Note : ce pilote obsolete a ete retire dans Linux 4.14, car il a ete remplace par le pilote hpsa(4) dans les noyaux plus recents. cciss est un pilote de peripherique bloc pour les anciens controleurs RAID Smart Array d'HP. Options cciss_allow_hpsa=1 : cette option empeche le pilote cciss d'essayer de faire fonctionner un controleur qui pourrait etre gere par le pilote hpsa(4). En d'autre termes, cela signifie que le pilote cciss est alors restreint avec cette option aux controleurs 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 Materiel 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 Details de configuration Pour configurer les controleurs HP Smart Array, utilisez l'utilitaire de configuration (hpacuxe(8) ou bien hpacucli(8)) ou l'utilitaire de configuration hors-ligne sur ROM, lance au demarrage depuis l'option << ROM >> du Smart Array. FICHIERS Noeuds de peripheriques La convention de nommage des peripheriques est la suivante : Numeros majeurs : 104 cciss0 105 cciss1 106 cciss2 105 cciss3 108 cciss4 109 cciss5 110 cciss6 111 cciss7 Numeros mineurs : b7 b6 b5 b4 b3 b2 b1 b0 |----+----| |----+----| | | | +-------- identifiant partition (0=periph. entier, 1-15 partition) | +-------------------- numero du volume logique La convention de nommage de peripherique est : /dev/cciss/c0d0 Controleur 0, disque 0, peripherique entier /dev/cciss/c0d0p1 Controleur 0, disque 0, partition 1 /dev/cciss/c0d0p2 Controleur 0, disque 0, partition 2 /dev/cciss/c0d0p3 Controleur 0, disque 0, partition 3 /dev/cciss/c1d1 Controleur 1, disque 1, peripherique entier /dev/cciss/c1d1p1 Controleur 1, disque 1, partition 1 /dev/cciss/c1d1p2 Controleur 1, disque 1, partition 2 /dev/cciss/c1d1p3 Controleur 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 controleur. 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 modele indique sur la page 0 de SCSI INQUIRY pour le lecteur logique Y du controleur X. /sys/bus/pci/devices/dev/ccissX/cXdY/rev Affiche la revision indiquee sur la page 0 de SCSI INQUIRY pour le lecteur logique Y du controleur X. /sys/bus/pci/devices/dev/ccissX/cXdY/unique_id Affiche le numero de serie indique sur la page 83 de SCSI INQUIRY pour le lecteur logique Y du controleur X. /sys/bus/pci/devices/dev/ccissX/cXdY/fournisseur Affiche le fournisseur indique sur la page 0 de SCSI INQUIRY pour le lecteur logique Y du controleur 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 Apres ecriture dans ce fichier, le pilote analyse de nouveau le controleur a la recherche de lecteurs logiques dont l'etat a change (nouveaux, retires ou modifies). /sys/bus/pci/devices/dev/ccissX/resettable Si le fichier contient la valeur 1, cela signifie que le parametre du noyau << reset_devices=1 >> (utilise par kdump) est pris en compte par le controleur. S'il contient la valeur 0, cela signifie que le parametre du noyau << reset_devices=1 >> n'est pas pris en compte. Certains modeles de Smart Array ne sont pas capables de prendre en compte ce parametre. /sys/bus/pci/devices/dev/ccissX/cXdY/lunid Affiche l'identifiant d'unite logique (<< LUN ID >>) sur 8 octets pour representer le lecteur logique Y du controleur X. /sys/bus/pci/devices/dev/ccissX/cXdY/raid_level Affiche le niveau RAID du lecteur logique Y du controleur X. /sys/bus/pci/devices/dev/ccissX/cXdY/usage_count Affiche le comptage d'utilisation (nombre d'ouvertures) du lecteur logique Y du controleur X. Lecteur de bande SCSI et prise en charge du changeur de support. Les peripheriques SCSI a acces sequentiel et les peripheriques de changement de support sont pris en charge, et les noeuds de peripheriques idoines sont automatiquement crees (p. ex. /dev/st0, /dev/st1, etc. ; consultez st(4) pour plus de details). 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 controleur Smart Array 5xxx. De plus, notez que le pilote n'engagera pas le coeur SCSI a l'initialisation. Le pilote ne doit pas etre regle pour engager dynamiquement le coeur SCSI au moyen de l'entree /proc, qui est creee en tant que /proc/driver/cciss/cciss* par la partie << bloc >> du pilote pendant l'execution. En effet, a l'initialisation du pilote, le coeur SCSI peut ne pas etre encore initialise (car il s'agit d'un pilote de peripherique bloc) et essayer de l'enregistrer avec le coeur SCSI dans ce cas pourrait causer un plantage. La meilleure facon de le faire est d'utiliser un script d'initialisation (typiquement dans /etc/init.d, mais cela peut dependre de la distribution). Par exemple : for x in /proc/driver/cciss/cciss[0-9]* do echo "Engager le coeur SCSI" > $x done Une fois le coeur SCSI engage par le pilote, il ne peut etre desengage (sauf en retirant le pilote, s'il est lie sous forme d'un module). Notez aussi que si aucun peripherique a acces sequentiel ou changeur de support n'est detecte, le coeur SCSI ne sera pas engage par l'action du script ci-dessus. Prise en charge du branchement a chaud de lecteurs de bande SCSI Le branchement a chaud des lecteurs de bande SCSI est pris en charge, avec quelques mises en garde. Le pilote cciss doit etre informe des changements apportes au bus SCSI. Cela peut etre realise en utilisant le systeme de fichiers /proc. Par exemple : echo "rescan" > /proc/scsi/cciss0/1 Cela fait faire au pilote les actions suivantes : (1) Interroger le controleur au sujet des changements intervenus sur les bus SCSI physiques ou l'interface FC-AL. (2) Prendre note de tout peripherique a acces sequentiel ou changeur de support ajoute ou retire. Le pilote affichera des messages indiquant quels peripheriques ont ete ajoutes ou retirees, ainsi que les controleur, bus, cible et numero d'unite logique utilises pour acceder a chacun de ces peripheriques. Le pilote previent ensuite la couche intermediaire SCSI de ces changements. Notez que la convention de nommage des entrees du systeme de fichiers /proc contient un numero en plus du nom du pilote (p. ex. << cciss0 >> au lieu du simple << cciss >> attendu). Remarque : seul les peripheriques a acces sequentiel et les changeurs de support sont presentes par le pilote cciss comme des peripheriques SCSI a la couche intermediaire SCSI. Precisement, les disques physiques SCSI ne sont pas presentes a la couche intermediaire SCSI. Les seuls peripheriques de disque presentes au noyau sont les lecteurs logiques que le controleur Array construit a partir de regions sur les lecteurs physiques. Les lecteurs logiques sont presentes a la couche << bloc >> (et non a la couche intermediaire SCSI). Il est important que le pilote empeche le noyau d'acceder directement aux lecteurs physiques, puisque ces lecteurs sont utilises par le controleur pour construire les lecteurs logiques. Gestion des erreurs SCSI pour les lecteurs de bande et les changeurs de support La couche intermediaire SCSI de Linux fournit un protocole de gestion d'erreurs, qui est initialise des qu'une commande SCSI echoue apres un certain laps de temps (qui peut dependre de la commande). Le pilote cciss participe a ce protocole dans une certaine mesure. Le protocole normal comprend quatre etapes : (1) D'abord, le peripherique est prie d'interrompre la commande. (2) Si cela ne fonctionne pas, le peripherique est reinitialise. (3) Si cela ne fonctionne pas, le bus SCSI est reinitialise. (4) Si cela ne fonctionne pas, le controleur hote du bus est reinitialise. Le pilote cciss est un pilote pour peripherique bloc, ainsi qu'un pilote SCSI et seuls les lecteurs de bande et les changeurs de support sont presentes a la couche intermediaire SCSI. De plus, contrairement a d'autres pilotes SCSI plus simples, les operations d'entree et sortie sur le disque continuent du cote bloc pendant le processus de reparation d'erreur. C'est pourquoi le pilote cciss implemente seulement les deux premieres actions : interrompre la commande, et reinitialiser le peripherique. Notez aussi que la plupart des lecteurs de bande ne vont pas cooperer lors de l'interruption de commandes, et parfois meme ne vont pas obeir a la commande de reinitialisation, meme s'ils le feront dans la majorite des cas. Si la commande ne peut etre interrompue et le peripherique ne peut etre reinitialise, le peripherique sera place hors-ligne. Dans le cas ou la gestion des erreurs est declenchee et un lecteur de bande est reinitialise correctement ou la commande qui differee est interrompue correctement, le lecteur de bande peut quand meme ne pas permettre les operations d'entree-sortie de continuer tant qu'une commande qui positionnera la bande a une position connue ne sera pas executee. Typiquement, vous devez rembobiner la bande (en executant mt -f /dev/st0 rewind par exemple), avant que les operations d'entree-sorties puissent reprendre sur un lecteur de bande reinitialise. VOIR AUSSI hpsa(4), cciss_vol_status(8), hpacucli(8), hpacuxe(8) , les fichiers source du noyau Linux Documentation/blockdev/cciss.txt et Documentation/ABI/testing/sysfs-bus-pci-devices-cciss TRADUCTION La traduction francaise de cette page de manuel a ete creee par Christophe Blaess , Stephan Rafin , Thierry Vignaud , Francois Micaux, Alain Portal , Jean-Philippe Guerard , Jean-Luc Coulon (f5ibh) , Julien Cristau , Thomas Huriaux , Nicolas Francois , Florentin Duneau , Simon Paillard , Denis Barbier , David Prevot , Cedric Boutillier , Frederic Hantrais et Jean-Pierre Giraud Cette traduction est une documentation libre ; veuillez vous reporter a la GNU General Public License version 3 concernant les conditions de copie et de distribution. Il n'y a aucune RESPONSABILITE LEGALE. Si vous decouvrez un bogue dans la traduction de cette page de manuel, veuillez envoyer un message a . Pages du manuel de Linux 6.06 31 octobre 2023 cciss(4)