17.2. Ajouter des Unités Logiques (LUN) attachées FCP
L'exemple suivant illustre comment ajouter un LUN FCP.
Note
Si exécuté sous z/VM, assurez-vous que l'adaptateur FCP est bien attaché à la machine virtuelle invitée z/VM. Pour les multiples chemins d'accès en environnement de production, il devrait y avoir au moins deux périphériques FCP sur deux adaptateurs physiques différents (CHPID). Par exemple :
CP ATTACH FC00 TO *
CP ATTACH FCD0 TO *
17.2.1. Activer dynamiquement un LUN FCP
Suivez ces étapes pour activer un LUN :
- Utilisez
cio_ignore
afin de supprimer l'adaptateur FCP de la liste des périphériques ignorés et pour le rendre visible à Linux :# cio_ignore -r device_number
Remplacez device_number par le numéro de périphérique de l'adaptateur FCP. Par exemple : - Pour mettre le périphérique de l'adaptateur FCP en ligne, utilisez la commande suivante :
# chccwdev -e fc00
- Vérifiez que le WWPN requis a été trouvé par le scan de port automatique du pilote de périphérique zfcp :
# ls -l /sys/bus/ccw/drivers/zfcp/0.0.fc00/ drwxr-xr-x. 3 root root 0 Apr 28 18:19 0x500507630040710b drwxr-xr-x. 3 root root 0 Apr 28 18:19 0x50050763050b073d drwxr-xr-x. 3 root root 0 Apr 28 18:19 0x500507630e060521 drwxr-xr-x. 3 root root 0 Apr 28 18:19 0x500507630e860521 -r--r--r--. 1 root root 4096 Apr 28 18:17 availability -r--r--r--. 1 root root 4096 Apr 28 18:19 card_version -rw-r--r--. 1 root root 4096 Apr 28 18:17 cmb_enable -r--r--r--. 1 root root 4096 Apr 28 18:17 cutype -r--r--r--. 1 root root 4096 Apr 28 18:17 devtype lrwxrwxrwx. 1 root root 0 Apr 28 18:17 driver -> ../../../../bus/ccw/drivers/zfcp -rw-r--r--. 1 root root 4096 Apr 28 18:17 failed -r--r--r--. 1 root root 4096 Apr 28 18:19 hardware_version drwxr-xr-x. 35 root root 0 Apr 28 18:17 host0 -r--r--r--. 1 root root 4096 Apr 28 18:17 in_recovery -r--r--r--. 1 root root 4096 Apr 28 18:19 lic_version -r--r--r--. 1 root root 4096 Apr 28 18:17 modalias -rw-r--r--. 1 root root 4096 Apr 28 18:17 online -r--r--r--. 1 root root 4096 Apr 28 18:19 peer_d_id -r--r--r--. 1 root root 4096 Apr 28 18:19 peer_wwnn -r--r--r--. 1 root root 4096 Apr 28 18:19 peer_wwpn --w-------. 1 root root 4096 Apr 28 18:19 port_remove --w-------. 1 root root 4096 Apr 28 18:19 port_rescan drwxr-xr-x. 2 root root 0 Apr 28 18:19 power -r--r--r--. 1 root root 4096 Apr 28 18:19 status lrwxrwxrwx. 1 root root 0 Apr 28 18:17 subsystem -> ../../../../bus/ccw -rw-r--r--. 1 root root 4096 Apr 28 18:17 uevent
- Activez le LUN FCP en l'ajoutant au port (WWPN) au travers duquel vous souhaiteriez accéder aux LUN :
# echo 0x4020400100000000 > /sys/bus/ccw/drivers/zfcp/0.0.fc00/0x50050763050b073d/unit_add
- Trouvez le nom du périphérique SCSI assigné :
# lszfcp -DV /sys/devices/css0/0.0.0015/0.0.fc00/0x50050763050b073d/0x4020400100000000 /sys/bus/ccw/drivers/zfcp/0.0.fc00/host0/rport-0:0-21/target0:0:21/0:0:21:1089355792
17.2.2. Activer des LUN FCP de manière persistante
Les instructions ci-dessus décrivent comment activer des LUN FCP dynamiquement sur un système en cours d'exécution. Cependant, de telles modifications ne sont pas persistantes et ne survivront pas aux redémarrages. La persistance des modifications que vous apportez à la configuration FCP de votre système Linux dépend de si les LUN FCP appartiennent au système de fichiers racine. Ceux qui sont requis par le système de fichiers racine doivent être activés au tout début du processus de démarrage par
initramfs
afin de pouvoir monter le système de fichiers racine. cio_ignore
est géré de manière transparente par les configurations persistantes de périphériques et il n'est pas nécessaire de libérer de périphériques de la liste Ignorer manuellement.
17.2.2.1. LUN FCP faisant partie du système de fichiers racine
/etc/zipl.conf
est le seul fichier que vous devrez modifier pour ajouter des LUN FCP qui font partie du système de fichiers racine, suivi par l'exécution de l'outil du chargeur de démarrage zipl. Il n'est plus nécessaire de recréer initramfs
.
Red Hat Enterprise Linux offre un paramètre permettant d'activer des LUN FCP au début du processus de démarrage :
rd_zfcp=
. La valeur est une liste séparée par des virgules contenant l'ID du bus périphérique, le WWPN en tant que nombre hexadécimal de 16 chiffres avec le préfixe 0x
, et le LUN FCP avec le préfixe 0x
et contenant des zéros à sa droite afin d'avoir 16 chiffres hexadécimaux.
L'exemple suivant de
zipl.conf
est pour un système utilisant des volumes physiques sur les partitions de deux LUN FCP pour un groupe de volumes LVM vg_devel1
qui contiendrait le volume logique lv_root
comme système de fichiers racine. Par souci de simplicité, ce exemple montre une configuration sans multiples chemins d'accès.
[defaultboot] default=linux target=/boot/ [linux] image=/boot/vmlinuz-2.6.32-19.el7.s390x ramdisk=/boot/initramfs-2.6.32-19.el7.s390x.img parameters="root=/dev/mapper/vg_devel1-lv_root rd.zfcp=0.0.fc00,0x5105074308c212e9,0x401040a000000000 rd.zfcp=0.0.fc00,0x5105074308c212e9,0x401040a100000000 rd_LVM_LV=vg_devel1/lv_root rd_NO_LUKS rd_NO_MD rd_NO_DM LANG=en_US.UTF-8 SYSFONT=latarcyrheb-sun16 KEYTABLE=us cio_ignore=all,!condev"
Pour ajouter un autre volume physique sur la partition d'un troisième LUN FCP avec pour ID de bus de périphérique 0.0.fc00, WWPN 0x5105074308c212e9 et LUN FCP 0x401040a300000000, ajoutez
rd_ZFCP=0.0.fc00,0x5105074308c212e9,0x401040a300000000
à la ligne des paramètres de votre noyau de démarrage dans zipl.conf
. Exemple :
[defaultboot]
default=linux
target=/boot/
[linux]
image=/boot/vmlinuz-2.6.32-19.el7.s390x
ramdisk=/boot/initramfs-2.6.32-19.el7.s390x.img
parameters="root=/dev/mapper/vg_devel1-lv_root
rd.zfcp=0.0.fc00,0x5105074308c212e9,0x401040a000000000
rd.zfcp=0.0.fc00,0x5105074308c212e9,0x401040a100000000
rd.zfcp=0.0.fc00,0x5105074308c212e9,0x401040a300000000
rd_LVM_LV=vg_devel1/lv_root rd_NO_LUKS rd_NO_MD rd_NO_DM LANG=en_US.UTF-8
SYSFONT=latarcyrheb-sun16 KEYTABLE=us cio_ignore=all,!condev"
Exécutez zipl pour appliquer les modifications apportées à
/etc/zipl.conf
pour le prochain démarrage IPL :
# zipl -V Using config file '/etc/zipl.conf' Target device information Device..........................: 08:00 Partition.......................: 08:01 Device name.....................: sda Device driver name..............: sd Type............................: disk partition Disk layout.....................: SCSI disk layout Geometry - start................: 2048 File system block size..........: 4096 Physical block size.............: 512 Device size in physical blocks..: 10074112 Building bootmap in '/boot/' Building menu 'rh-automatic-menu' Adding #1: IPL section 'linux' (default) kernel image......: /boot/vmlinuz-2.6.32-19.el7.s390x kernel parmline...: 'root=/dev/mapper/vg_devel1-lv_root rd.zfcp=0.0.fc00,0x5105074308c212e9,0x401040a000000000 rd.zfcp=0.0.fc00,0x5105074308c212e9,0x401040a100000000 rd.zfcp=0.0.fc00,0x5105074308c212e9,0x401040a300000000 rd_LVM_LV=vg_devel1/lv_root rd_NO_LUKS rd_NO_MD rd_NO_DM LANG=en_US.UTF-8 SYSFONT=latarcyrheb-sun16 KEYTABLE=us cio_ignore=all,!condev' initial ramdisk...: /boot/initramfs-2.6.32-19.el7.s390x.img component address: kernel image....: 0x00010000-0x007a21ff parmline........: 0x00001000-0x000011ff initial ramdisk.: 0x02000000-0x028f63ff internal loader.: 0x0000a000-0x0000a3ff Preparing boot device: sda. Detected SCSI PCBIOS disk layout. Writing SCSI master boot record. Syncing disks... Done.
17.2.2.2. LUN FCP faisant partie du système de fichiers racine
Les LUN FCP qui ne font pas partie du système de fichiers racine, tels que les disques de données, sont configurés de manière persistante dans le fichier
/etc/zfcp.conf
. Celui-ci contient un LUN FCP par ligne. Chaque ligne contient l'ID du bus périphérique de l'adaptateur FCP, le WWPN en tant que nombre hexadécimal de 16 chiffres avec le préfixe 0x
, et le LUN FCP avec le préfixe 0x
et des zéros sur la droite pour avoir 16 chiffres hexadécimaux, séparés par un espace ou une tabulation (tab). Les entrées dans le fichier /etc/zfcp.conf
sont activées et configurées par udev lorsqu'un adaptateur FCP est ajouté au système. Pendant le démarrage, tous les adaptateurs FCP visibles au système sont ajoutés et déclenchent udev.
Exemple d'extrait de contenu de
/etc/zfcp.conf
:
0.0.fc00 0x5105074308c212e9 0x401040a000000000 0.0.fc00 0x5105074308c212e9 0x401040a100000000 0.0.fc00 0x5105074308c212e9 0x401040a300000000 0.0.fcd0 0x5105074308c2aee9 0x401040a000000000 0.0.fcd0 0x5105074308c2aee9 0x401040a100000000 0.0.fcd0 0x5105074308c2aee9 0x401040a300000000
Les modifications de
/etc/zfcp.conf
ne prennent effet qu'après le redémarrage du système, ou après l'ajout dynamique d'un nouveau canal FCP en modifiant la configuration des E/S du système (par exemple, lorsqu'un canal est attaché sous z/VM). Alternativement, vous pouvez déclencher l'activation d'une nouvelle entrée dans /etc/zfcp.conf
pour un adaptateur FCP qui n'était pas actif au préalable, ce en exécutant les commandes suivantes :
- Utilisez
cio_ignore
afin de supprimer l'adaptateur FCP de la liste des périphériques ignorés et pour le rendre visible à Linux :# cio_ignore -r device_number
Remplacez device_number par le numéro de périphérique de l'adaptateur FCP. Par exemple :# cio_ignore -r fcfc
- Pour déclencher l'événement uevent qui active la modification, exécutez :
echo add > /sys/bus/ccw/devices/device-bus-ID/uevent
Par exemple :echo add > /sys/bus/ccw/devices/0.0.fcfc/uevent