Red Hat Training

A Red Hat training course is available for RHEL 8

Chapitre 12. Configuration d'une instance Linux sur IBM Z

Cette section décrit la plupart des tâches courantes d'installation de Red Hat Enterprise Linux sur IBM Z.

12.1. Ajouter des DASD

Les périphériques de stockage à accès direct (DASD) (Direct Access Storage Devices) sont un type de stockage couramment utilisé avec IBM Z. Vous trouverez des informations complémentaires sur le fonctionnement de ces périphériques de stockage à IBM Knowledge Center à l'adresse http://www-01.ibm.com/support/knowledgecenter/linuxonibm/com.ibm.linux.z.lgdd/lgdd_t_dasd_wrk.html.

L'exemple suivant illustre comment paramétrer un DASD en ligne, comment le formater, et comment rendre ces modifications persistantes.

Assurez-vous que le périphérique soit connecté ou lié au système Linux si vous exécutez sous z/VM.

CP ATTACH EB1C TO *

Pour lier un mini-disque auquel vous avez accès, effectuez par exemple :

CP LINK RHEL7X 4B2E 4B2E MR
DASD 4B2E LINKED R/W

12.2. Réglage dynamique des DASD en ligne

Pour paramétrer un DASD en ligne, suivez ces étapes :

  1. Utilisez l'utilitaire cio_ignore pour supprimer le DASD de la liste des périphériques ignorés et le rendre visible pour Linux :

    # cio_ignore -r device_number

    Remplacez device_number par le numéro d'appareil du DASD, par exemple :

    # cio_ignore -r 4b2e
  2. Paramétrez le périphérique en ligne. Utilisez une commande sous la forme suivante :

    # chccwdev -e device_number

    Remplacez device_number par le numéro d'appareil du DASD, par exemple :

    # chccwdev -e 4b2e

    Alternativement, vous pouvez paramétrer le périphérique en ligne avec des attributs sysfs :

    1. Utilisez la commande cd pour passer au répertoire /sys/ qui représente ce volume :

      # cd /sys/bus/ccw/drivers/dasd-eckd/0.0.4b2e/
      # ls -l
      total 0
      -r--r--r--  1 root root 4096 Aug 25 17:04 availability
      -rw-r--r--  1 root root 4096 Aug 25 17:04 cmb_enable
      -r--r--r--  1 root root 4096 Aug 25 17:04 cutype
      -rw-r--r--  1 root root 4096 Aug 25 17:04 detach_state
      -r--r--r--  1 root root 4096 Aug 25 17:04 devtype
      -r--r--r--  1 root root 4096 Aug 25 17:04 discipline
      -rw-r--r--  1 root root 4096 Aug 25 17:04 online
      -rw-r--r--  1 root root 4096 Aug 25 17:04 readonly
      -rw-r--r--  1 root root 4096 Aug 25 17:04 use_diag
    2. Vérifiez que le périphérique soit déjà en ligne :

      # cat online
      0
    3. S'il n'est pas en ligne, entrez la commande suivante pour le mettre en ligne :

      # echo 1 > online
      # cat online
      1
  3. Vérifiez le nœud de périphérique bloc d’accès :

    # ls -l
    total 0
    -r--r--r--  1 root root 4096 Aug 25 17:04 availability
    lrwxrwxrwx  1 root root    0 Aug 25 17:07 block -> ../../../../block/dasdb
    -rw-r--r--  1 root root 4096 Aug 25 17:04 cmb_enable
    -r--r--r--  1 root root 4096 Aug 25 17:04 cutype
    -rw-r--r--  1 root root 4096 Aug 25 17:04 detach_state
    -r--r--r--  1 root root 4096 Aug 25 17:04 devtype
    -r--r--r--  1 root root 4096 Aug 25 17:04 discipline
    -rw-r--r--  1 root root    0 Aug 25 17:04 online
    -rw-r--r--  1 root root 4096 Aug 25 17:04 readonly
    -rw-r--r--  1 root root 4096 Aug 25 17:04 use_diag

    Comme le montre cet exemple, le périphérique 4B2E est accédé en tant que /dev/dasdb.

Ces directives permettent d’installer un DASD en ligne pour la session en cours, mais il n’y aura pas persistance en cas de démarrage à nouveau. Pour savoir comment configurer un DASD en ligne de manière persistante, consultez la section Section 12.4, « Mise en ligne permanente des DASD en ligne ». Lorsque vous travaillez avec des DASD, utilisez les liens symboliques de périphérique persistant sous /dev/disk/by-path/.

12.3. Préparation d'un nouveau DASD avec formatage de bas niveau

Une fois le disque en ligne, retournez dans le répertoire /root et formatez le périphérique à bas niveau, ce qui n'est nécessaire qu'une seule fois pour un DASD pendant toute sa durée de vie :

# cd /root
# dasdfmt -b 4096 -d cdl -p /dev/disk/by-path/ccw-0.0.4b2e
Drive Geometry: 10017 Cylinders * 15 Heads =  150255 Tracks

I am going to format the device /dev/disk/by-path/ccw-0.0.4b2e in the following way:
Device number of device : 0x4b2e
Labelling device        : yes
Disk label              : VOL1
Disk identifier         : 0X4B2E
Extent start (trk no)   : 0
Extent end (trk no)     : 150254
Compatible Disk Layout  : yes
Blocksize               : 4096

--->> ATTENTION! <<---
All data of that device will be lost.
Type "yes" to continue, no will leave the disk untouched: yes
cyl    97 of  3338 |#----------------------------------------------|   2%

Lorsque la barre de progression atteint la fin et que le format est terminé, dasdfmt imprime la sortie suivante :

Rereading the partition table...
Exiting...

Maintenant, utilisez fdasd pour partitionner le DASD. Vous pouvez créer jusqu'à trois partitions sur un DASD, dans notre exemple, nous créons ici une partition couvrant tout le disque :

# fdasd -a /dev/disk/by-path/ccw-0.0.4b2e
reading volume label ..: VOL1
reading vtoc ..........: ok

auto-creating one partition for the whole disk...
writing volume label...
writing VTOC...
rereading partition table...

Une fois qu’un DASD (formaté de bas niveau) est en ligne, il peut être utilisé comme n’importe quel disque avec Linux. Par exemple, vous pouvez créer des systèmes de fichiers, des volumes physiques LVM, ou échanger de l'espace sur ses partitions, par exemple /dev/disk/by-path/ccw-0.0.4b2e-part1. N'utilisez jamais le périphérique DASD complet (dev/dasdb) pour autre chose que les commandes dasdfmt et fdasd. Si vous voulez utiliser le DASD complet, créez une partition couvrant le lecteur comme fdasd ci-dessus par exemple

Pour ajouter des disques supplémentaires plus tard sans endommager les entrées de disque existantes dans, par exemple, /etc/fstab, utilisez les liens symboliques de périphérique persistant sous /dev/disk/by-path/.

12.4. Mise en ligne permanente des DASD en ligne

Les instructions ci-dessus décrivent comment activer dynamiquement les DASD dans un système en cours d'exécution, mais ces changements ne sont pas persistants et ne survivent pas à un redémarrage, car les modifications apportées à la configuration DASD dans votre système Linux dépendent de l'appartenance des DASD au système de fichiers racine, qui doit être activé très tôt pendant le démarrage par les initramfs pour que le système de fichiers racine puisse être monté.

Les commandes cio_ignore sont gérées de manière transparente pour les configurations de périphériques persistants et vous n'avez pas besoin de libérer manuellement les périphériques de la liste des ignorés.

12.5. Les DASD qui font partie du système de fichiers racine

Le fichier que vous devez modifier pour ajouter les DASD qui font partie du système de fichiers racine a changé dans Red Hat Enterprise Linux 8 : au lieu de modifier le fichier /etc/zipl.conf, vous pouvez trouver le nouveau fichier à modifier et son emplacement en exécutant les commandes suivantes

# machine_id=$(cat /etc/machine-id)
# kernel_version=$(uname -r)
# ls /boot/loader/entries/$machine_id-$kernel_version.conf

Il y a une option de démarrage pour activer les DASD au début du processus de démarrage : rd.dasd=. Cette option prend en entrée une liste séparée par des virgules. La liste contient un ID de bus de périphérique et des paramètres supplémentaires optionnels composés de paires de valeurs clés qui correspondent aux attributs DASD sysfs.

Voici un exemple du fichier /boot/loader/entries/4ab74e52867b4f998e73e06cf23fd761-4.18.0-80.el8.s390x.conf pour un système qui utilise des volumes physiques sur les partitions de deux DASD pour un groupe de volumes LVM vg_devel1 qui contient un volume logique lv_root pour le système de fichiers racines.

Red Hat Enterprise Linux (4.18.0-80.el8.s390x) 8.0 (Ootpa)
version 4.18.0-80.el8.s390x
linux /boot/vmlinuz-4.18.0-80.el8.s390x
initrd /boot/initramfs-4.18.0-80.el8.s390x.img
options root=/dev/mapper/vg_devel1-lv_root crashkernel=auto rd.dasd=0.0.0200 rd.dasd=0.0.0207 rd.lvm.lv=vg_devel1/lv_root rd.lvm.lv=vg_devel1/lv_swap cio_ignore=all,!condev rd.znet=qeth,0.0.0a00,0.0.0a01,0.0.0a02,layer2=1,portno=0
id rhel-20181027190514-4.18.0-80.el8.s390x
grub_users $grub_users
grub_arg --unrestricted
grub_class kernel

Pour ajouter un autre volume physique sur une partition d'un troisième DASD avec l'ID de bus de périphérique 0.0.202b. Pour ce faire, ajoutez rd.dasd=0.0.202b à la ligne de paramètres de votre noyau de démarrage dans /boot/loader/entries/4ab74e52867b4f998e73e06cf23fd761-4.18.0-32.el8.s390x.conf:

Red Hat Enterprise Linux (4.18.0-80.el8.s390x) 8.0 (Ootpa)
version 4.18.0-80.el8.s390x
linux /boot/vmlinuz-4.18.0-80.el8.s390x
initrd /boot/initramfs-4.18.0-80.el8.s390x.img
options root=/dev/mapper/vg_devel1-lv_root crashkernel=auto rd.dasd=0.0.0200 rd.dasd=0.0.0207 rd.dasd=0.0.202b rd.lvm.lv=vg_devel1/lv_root rd.lvm.lv=vg_devel1/lv_swap cio_ignore=all,!condev rd.znet=qeth,0.0.0a00,0.0.0a01,0.0.0a02,layer2=1,portno=0
id rhel-20181027190514-4.18.0-80.el8.s390x
grub_users $grub_users
grub_arg --unrestricted
grub_class kernel
Avertissement

Assurez-vous que la longueur de la ligne de commande du noyau dans le fichier de configuration ne dépasse pas 896 octets. Sinon, le chargeur de démarrage ne peut pas être sauvegardé et l'installation échouera.

Exécutez zipl pour appliquer les modifications du fichier de configuration pour la prochaine IPL :

# zipl -V
Using config file '/etc/zipl.conf'
Using BLS config file '/boot/loader/entries/4ab74e52867b4f998e73e06cf23fd761-4.18.0-80.el8.s390x.conf'
Target device information
  Device..........................: 5e:00
  Partition.......................: 5e:01
  Device name.....................: dasda
  Device driver name..............: dasd
  DASD device number..............: 0201
  Type............................: disk partition
  Disk layout.....................: ECKD/compatible disk layout
  Geometry - heads................: 15
  Geometry - sectors..............: 12
  Geometry - cylinders............: 13356
  Geometry - start................: 24
  File system block size..........: 4096
  Physical block size.............: 4096
  Device size in physical blocks..: 262152
Building bootmap in '/boot'
Building menu 'zipl-automatic-menu'
Adding #1: IPL section '4.18.0-80.el8.s390x' (default)
  initial ramdisk...: /boot/initramfs-4.18.0-80.el8.s390x.img
  kernel image......: /boot/vmlinuz-4.18.0-80.el8.s390x
  kernel parmline...: 'root=/dev/mapper/vg_devel1-lv_root crashkernel=auto rd.dasd=0.0.0200 rd.dasd=0.0.0207 rd.dasd=0.0.202b rd.lvm.lv=vg_devel1/lv_root rd.lvm.lv=vg_devel1/lv_swap cio_ignore=all,!condev rd.znet=qeth,0.0.0a00,0.0.0a01,0.0.0a02,layer2=1,portno=0'
  component address:
    kernel image....: 0x00010000-0x0049afff
    parmline........: 0x0049b000-0x0049bfff
    initial ramdisk.: 0x004a0000-0x01a26fff
    internal loader.: 0x0000a000-0x0000cfff
Preparing boot menu
  Interactive prompt......: enabled
  Menu timeout............: 5 seconds
  Default configuration...: '4.18.0-80.el8.s390x'
Preparing boot device: dasda (0201).
Syncing disks...
Done.

12.6. Les LUN FCP qui font partie du système de fichiers racine

Le seul fichier que vous devez modifier pour ajouter des LUN FCP qui font partie du système de fichiers racine a été modifié dans Red Hat Enterprise Linux 8. Au lieu de modifier le fichier /etc/zipl.conf, le nouveau fichier à modifier et son emplacement peuvent être trouvés en exécutant les commandes suivantes :

# machine_id=$(cat /etc/machine-id)
# kernel_version=$(uname -r)
# ls /boot/loader/entries/$machine_id-$kernel_version.conf

Red Hat Enterprise Linux fournit un paramètre pour activer les 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 de périphérique, le WWPN comme nombre hexadécimal à 16 chiffres préfixé par 0x et le LUN FCP préfixé par 0x et rempli par des zéros à droite pour avoir 16 caractères hexadécimaux.

Voici un exemple du fichier /boot/loader/entries/4ab74e52867b4f998e73e06cf23fd761-4.18.0-80.el8.s390x.conf pour un système qui utilise des volumes physiques sur les partitions de deux LUN FCP pour un groupe de volumes LVM vg_devel1 qui contient un volume logique lv_root pour le système de fichiers racines. Par simplicité, cet exemple montre une configuration sans gestion multivoies.

Red Hat Enterprise Linux (4.18.0-32.el8.s390x) 8.0 (Ootpa)
version 4.18.0-32.el8.s390x
linux /boot/vmlinuz-4.18.0-32.el8.s390x
initrd /boot/initramfs-4.18.0-32.el8.s390x.img
options root=/dev/mapper/vg_devel1-lv_root crashkernel=auto rd.zfcp=0.0.fc00,0x5105074308c212e9,0x401040a000000000 rd.zfcp=0.0.fc00,0x5105074308c212e9,0x401040a100000000 rd.lvm.lv=vg_devel1/lv_root rd.lvm.lv=vg_devel1/lv_swap cio_ignore=all,!condev rd.znet=qeth,0.0.0a00,0.0.0a01,0.0.0a02,layer2=1,portno=0
id rhel-20181027190514-4.18.0-32.el8.s390x
grub_users $grub_users
grub_arg --unrestricted
grub_class kernel

Pour ajouter un autre volume physique sur une partition d'un troisième LUN FCP avec l'ID de bus de périphérique 0.0.fc00, WWPN 0x5105074308c212e9 et FCP LUN 0x401040a300000000, ajouter rd.zfcp=0.0.fc00,0x5105074308c212e9,0x401040a300000000 à la ligne de paramètres de votre noyau de démarrage (boot) dans /boot/loader/entries/4ab74e52867b4f998e73e06cf23fd761-4.18.0-32.el8.s390x.conf. Exemple :

Red Hat Enterprise Linux (4.18.0-32.el8.s390x) 8.0 (Ootpa)
version 4.18.0-32.el8.s390x
linux /boot/vmlinuz-4.18.0-32.el8.s390x
initrd /boot/initramfs-4.18.0-32.el8.s390x.img
options root=/dev/mapper/vg_devel1-lv_root crashkernel=auto 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.lvm.lv=vg_devel1/lv_swap cio_ignore=all,!condev rd.znet=qeth,0.0.0a00,0.0.0a01,0.0.0a02,layer2=1,portno=0
id rhel-20181027190514-4.18.0-32.el8.s390x
grub_users $grub_users
grub_arg --unrestricted
grub_class kernel
Avertissement

Assurez-vous que la longueur de la ligne de commande du noyau dans le fichier de configuration ne dépasse pas 896 octets. Sinon, le chargeur de démarrage ne peut pas être sauvegardé et l'installation échouera.

Exécutez zipl pour appliquer les modifications du fichier de configuration pour la prochaine IPL :

# zipl -V
Using config file '/etc/zipl.conf'
Using BLS config file '/boot/loader/entries/4ab74e52867b4f998e73e06cf23fd761-4.18.0-32.el8.s390x.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 '4.18.0-32.el8.s390x' (default)
kernel image......: /boot/vmlinuz-4.18.0-32.el8.s390x
kernel parmline...: 'root=/dev/mapper/vg_devel1-lv_root crashkernel=auto 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.lvm.lv=vg_devel1/lv_swap cio_ignore=all,!condev rd.znet=qeth,0.0.0a00,0.0.0a01,0.0.0a02,layer2=1,portno=0'
initial ramdisk...: /boot/initramfs-4.18.0-32.el8.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.

12.7. Ajout d'un périphérique qeth

Le pilote de périphérique réseau qeth prend en charge les fonctions IBM Z OSA-Express en mode QDIO, HiperSockets, z/VM guest LAN, et z/VM VSWITCH.

Le pilote de périphérique qeth attribue le même nom d'interface aux périphériques Ethernet et Hipersockets : encbus_ID. l'ID de bus est composé de l'ID de sous-système de canal, de l'ID de jeu de sous-canaux et du numéro de périphérique, et ne contient ni zéros ni points de début. Par exemple, enca00 pour un périphérique dont l'ID est 0.0.0a00.

12.8. Ajout dynamique d'un dispositif qeth

Pour ajouter dynamiquement un périphérique qeth, procédez comme suit :

  1. Déterminez si les modules du pilote de périphérique qeth sont chargés. L'exemple suivant montre les modules qeth chargés :

    # lsmod | grep qeth
    qeth_l3                69632  0
    qeth_l2                49152  1
    qeth                  131072  2 qeth_l3,qeth_l2
    qdio                   65536  3 qeth,qeth_l3,qeth_l2
    ccwgroup               20480  1 qeth

    Si la sortie de la commande lsmod montre que les modules qeth ne sont pas chargés, lancez la commande modprobe pour les charger :

    # modprobe qeth
  2. Utilisez l'utilitaire cio_ignore pour supprimer les canaux réseau de la liste des périphériques ignorés et les rendre visibles pour Linux :

    # cio_ignore -r read_device_bus_id,write_device_bus_id,data_device_bus_id

    Remplacer read_device_bus_id,write_device_bus_id,data_device_bus_id par trois ID de bus de périphériques représentant un périphérique de réseau. Par exemple, si le read_device_bus_id correspond à 0.0.f500, le write_device_bus_id sera 0.0.f501, et le data_device_bus_id sera 0.0.f502:

    # cio_ignore -r 0.0.f500,0.0.f501,0.0.f502
  3. Utilisez l'utilitaire znetconf pour détecter et lister les configurations candidates pour les périphériques réseau :

    # znetconf -u
    Scanning for network devices...
    Device IDs                 Type    Card Type      CHPID Drv.
    ------------------------------------------------------------
    0.0.f500,0.0.f501,0.0.f502 1731/01 OSA (QDIO)        00 qeth
    0.0.f503,0.0.f504,0.0.f505 1731/01 OSA (QDIO)        01 qeth
    0.0.0400,0.0.0401,0.0.0402 1731/05 HiperSockets      02 qeth
  4. Sélectionnez la configuration avec laquelle vous souhaitez travailler et utilisez znetconf pour appliquer la configuration et mettre en ligne le périphérique de groupe configuré en tant que périphérique réseau.

    # znetconf -a f500
    Scanning for network devices...
    Successfully configured device 0.0.f500 (encf500)
  5. Optionnellement, vous pouvez aussi passer des arguments configurés sur le périphérique groupe avant que celui-ci ne soit mis en ligne :

    # znetconf -a f500 -o portname=myname
    Scanning for network devices...
    Successfully configured device 0.0.f500 (encf500)

    Vous pouvez maintenant continuer à configurer l'interface réseau encf500.

Vous pouvez également utiliser les attributs sysfs pour configurer le périphérique en ligne comme suit :

  1. Créez un périphérique de groupe qeth :

    # echo read_device_bus_id,write_device_bus_id,data_device_bus_id > /sys/bus/ccwgroup/drivers/qeth/group

    Par exemple :

    # echo 0.0.f500,0.0.f501,0.0.f502 > /sys/bus/ccwgroup/drivers/qeth/group
  2. Ensuite, vérifiez que le périphérique du groupe qeth ait été créé correctement en recherchant le canal de lecture :

    # ls /sys/bus/ccwgroup/drivers/qeth/0.0.f500

    En option, vous pouvez définir des paramètres et des fonctions supplémentaires, selon la façon dont vous souhaitez configurer votre système et des fonctions dont vous aurez besoin, telles que :

    • portno
    • layer2
    • portname
  3. Mettre le périphérique en ligne en écrivant 1 dans l'attribut sysfs en ligne :

    # echo 1 > /sys/bus/ccwgroup/drivers/qeth/0.0.f500/online
  4. Puis vérifier l'état du périphérique :

    # cat /sys/bus/ccwgroup/drivers/qeth/0.0.f500/online
    											1

    Une valeur de retour de 1 indique que le périphérique est en ligne, tandis qu'une valeur de retour de 0 indique un dispositif hors ligne.

  5. Trouvez le nom de l'interface qui a été assignée au périphérique :

    # cat /sys/bus/ccwgroup/drivers/qeth/0.0.f500/if_name
    encf500

    Vous pouvez maintenant continuer à configurer l'interface réseau encf500.

    La commande suivante du paquet s390utils montre les réglages les plus importants de votre périphérique qeth :

    # lsqeth encf500
    Device name                     : encf500
    -------------------------------------------------
    card_type               : OSD_1000
    cdev0                   : 0.0.f500
    cdev1                   : 0.0.f501
    cdev2                   : 0.0.f502
    chpid                   : 76
    online                  : 1
    portname                : OSAPORT
    portno                  : 0
    state                   : UP (LAN ONLINE)
    priority_queueing       : always queue 0
    buffer_count            : 16
    layer2                  : 1
    isolation               : none

12.9. Ajout persistant d'un périphérique qeth

Pour rendre votre nouveau périphérique qeth persistant, vous devez créer le fichier de configuration de votre nouvelle interface. Les fichiers de configuration de l'interface réseau sont placés dans le répertoire /etc/sysconfig/network-scripts/.

Les fichiers de configuration réseau utilisent la convention d'appellation ifcfg-device, où device est la valeur trouvée dans le fichier if_name du périphérique du groupe qeth créé précédemment, par exemple enc9a0. Les commandes cio_ignore sont traitées de manière transparente pour les configurations de périphériques persistants et vous n'avez pas besoin de libérer manuellement les périphériques de la liste des ignorés.

Si un fichier de configuration pour un autre périphérique du même type existe déjà, la façon la plus simple d'ajouter le fichier de configuration est de le copier sous le nouveau nom et de le modifier :

# cd /etc/sysconfig/network-scripts
# cp ifcfg-enc9a0 ifcfg-enc600

Pour apprendre les ID de vos périphériques réseau, utilisez l'utilitaire lsqeth :

# lsqeth -p
devices                    CHPID interface        cardtype       port chksum prio-q'ing rtr4 rtr6 lay'2 cnt
-------------------------- ----- ---------------- -------------- ---- ------ ---------- ---- ---- ----- -----
0.0.09a0/0.0.09a1/0.0.09a2 x00   enc9a0    Virt.NIC QDIO  0    sw     always_q_2 n/a  n/a  1     64
0.0.0600/0.0.0601/0.0.0602 x00   enc600    Virt.NIC QDIO  0    sw     always_q_2 n/a  n/a  1     64

Si vous n'avez pas défini de périphérique similaire, vous devez créer un nouveau fichier. Utilisez cet exemple de /etc/sysconfig/network-scripts/ifcfg-0.0.09a0 comme modèle :

# IBM QETH
DEVICE=enc9a0
BOOTPROTO=static
IPADDR=10.12.20.136
NETMASK=255.255.255.0
ONBOOT=yes
NETTYPE=qeth
SUBCHANNELS=0.0.09a0,0.0.09a1,0.0.09a2
PORTNAME=OSAPORT
OPTIONS='layer2=1 portno=0'
MACADDR=02:00:00:23:65:1a
TYPE=Ethernet

Editez le nouveau fichier ifcfg-0.0.0.0600 comme suit :

  1. Modifiez l'énoncé du DEVICE pour refléter le contenu du fichier if_name de votre groupe ccw.
  2. Modifiez l’énoncé d’ IPADDR pour refléter l'adresse IP de votre nouvelle interface.
  3. Modifiez l'énoncé du NETMASK si nécessaire.
  4. Si la nouvelle interface doit être activée au démarrage, assurez-vous que ONBOOT est défini sur oui.
  5. Assurez-vous que l'énoncé de SUBCHANNELS correspond aux adresses matérielles de votre périphérique qeth.
  6. Modifiez l'énoncé de PORTNAME ou omettez-le si non nécessaire dans votre environnement.
  7. Vous pouvez ajouter n'importe quel attribut sysfs valide et sa valeur au paramètre OPTIONS. Le programme d'installation de Red Hat Enterprise Linux l'utilise actuellement pour configurer le mode layer (layer2) et le numéro de port relatif (portno) des périphériques qeth.

    Le pilote du périphérique qeth par défaut est maintenant le mode couche 2. Pour continuer à utiliser les anciennes définitions ifcfg qui s'appuient sur l'ancienne définition par défaut du mode couche 3, ajoutez layer2=0 au paramètre OPTIONS.

/etc/sysconfig/network-scripts/ifcfg-0.0.0600

# IBM QETH
DEVICE=enc600
BOOTPROTO=static
IPADDR=192.168.70.87
NETMASK=255.255.255.0
ONBOOT=yes
NETTYPE=qeth
SUBCHANNELS=0.0.0600,0.0.0601,0.0.0602
PORTNAME=OSAPORT
OPTIONS='layer2=1 portno=0'
MACADDR=02:00:00:b3:84:ef
TYPE=Ethernet

Les modifications d'un fichier ifcfg ne deviennent effectives qu'après un redémarrage du système ou après l'ajout dynamique de nouveaux canaux de périphériques réseau en modifiant la configuration des E/S du système (par exemple, attacher sous z/VM). Sinon, vous pouvez déclencher l’activation d’un fichier ifcfg pour des canaux de réseau qui n’étaient pas encore actifs, en exécutant les commandes suivantes :

  1. Utilisez l'utilitaire cio_ignore pour supprimer les canaux réseau de la liste des périphériques ignorés et les rendre visibles pour Linux :

    # cio_ignore -r read_device_bus_id,write_device_bus_id,data_device_bus_id

    Remplacer read_device_bus_id,write_device_bus_id,data_device_bus_id par les trois ID de bus de périphérique représentant un périphérique réseau. Par exemple, si read_device_bus_id est 0.0.0600, le write_device_bus_id est 0.0.0601, et le data_device_bus_id est 0.0.0602:

    #  cio_ignore -r 0.0.0600,0.0.0601,0.0.0602
  2. Pour déclencher l'événement uevent qui active la modification, exécutez :

    # echo add > /sys/bus/ccw/devices/read-channel/uevent

    Par exemple :

    # echo add > /sys/bus/ccw/devices/0.0.0600/uevent
  3. Vérifiez le statut du périphérique réseau :

    # lsqeth
  4. Vous pouvez maintenant démarrer la nouvelle interface :

    # ifup enc600
  5. Vérifiez le statut de l'interface :

    # ip addr show enc600
    3: enc600:  <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 3c:97:0e:51:38:17 brd ff:ff:ff:ff:ff:ff
    inet 10.85.1.245/24 brd 10.34.3.255 scope global dynamic enc600
    valid_lft 81487sec preferred_lft 81487sec
    inet6 1574:12:5:1185:3e97:eff:fe51:3817/64 scope global noprefixroute dynamic
    valid_lft 2591994sec preferred_lft 604794sec
    inet6 fe45::a455:eff:d078:3847/64 scope link
    valid_lft forever preferred_lft forever
  6. Vérifiez le routage pour la nouvelle interface :

    # ip route
    default via 10.85.1.245 dev enc600  proto static  metric 1024
    12.34.4.95/24 dev enp0s25  proto kernel  scope link  src 12.34.4.201
    12.38.4.128 via 12.38.19.254 dev enp0s25  proto dhcp  metric 1
    192.168.122.0/24 dev virbr0  proto kernel  scope link  src 192.168.122.1
  7. Vérifiez vos modifications en utilisant l'utilitaire ping pour pinger la passerelle ou un autre hôte sur le sous-réseau du nouveau périphérique :

    # ping -c 1 192.168.70.8
    PING 192.168.70.8 (192.168.70.8) 56(84) bytes of data.
    64 bytes from 192.168.70.8: icmp_seq=0 ttl=63 time=8.07 ms
  8. Si les informations d'itinéraire par défaut ont changé, vous devez également mettre à jour /etc/sysconfig/network en conséquence.

12.10. Configuration d'un périphérique réseau IBM Z pour le système de fichiers racine du réseau

Pour ajouter un périphérique réseau nécessaire pour accéder au système de fichiers racine, vous n'avez qu'à modifier les options de démarrage, qui peuvent se trouver dans un fichier de paramètres, mais le fichier /etc/zipl.conf ne contient plus les spécifications des enregistrements de démarrage. Le fichier à modifier peut être localisé en utilisant les commandes suivantes :

# machine_id=$(cat /etc/machine-id)
# kernel_version=$(uname -r)
# ls /boot/loader/entries/$machine_id-$kernel_version.conf

Il n'est pas nécessaire de recréer les initramfs.

Dracut, le successeur de mkinitrd qui fournit la fonctionnalité dans les initramfs qui remplace initrd, fournit un paramètre de démarrage pour activer les périphériques réseau sur IBM Z au début du processus de démarrage : rd.znet=.

En entrée, ce paramètre prend une liste séparée par des virgules du NETTYPE (qeth, lcs, ctc), deux (lcs, ctc) ou trois (qeth) ID de bus de périphériques, et des paramètres supplémentaires optionnels composés de paires de valeurs clés correspondant aux attributs système des périphériques réseau. Ce paramètre configure et active le matériel réseau IBM Z. La configuration des adresses IP et autres spécificités réseau fonctionne comme sur les autres plateformes. Voir la documentationdracut pour plus d’informations.

Les commandes cio_ignore pour les canaux réseau sont gérées de manière transparente au démarrage.

Exemple d'options de démarrage pour un système de fichiers racine accédé sur le réseau via NFS :

root=10.16.105.196:/nfs/nfs_root cio_ignore=all,!condev rd.znet=qeth,0.0.0a00,0.0.0a01,0.0.0a02,layer2=1,portno=0,portname=OSAPORT ip=10.16.105.197:10.16.105.196:10.16.111.254:255.255.248.0:nfs‑server.subdomain.domain:enc9a0:none rd_NO_LUKS rd_NO_LVM rd_NO_MD rd_NO_DM LANG=en_US.UTF-8 SYSFONT=latarcyrheb-sun16 KEYTABLE=us