17.3. Ajout d'un périphérique réseau
Les modules de pilote de périphérique réseau sont automatiquement chargés par udev.
Vous pouvez ajouter une interface réseau sur System z d'IBM de manière dynamique ou persistante.
- Dynamiquement
- Chargez le pilote de périphérique
- Supprimez les périphériques réseau de la liste des périphériques ignorés.
- Création du périphérique de groupe.
- Configuration du périphérique.
- Mise en ligne du périphérique.
- De manière persistante
- Création d'un script de configuration.
- Activez l'interface du périphérique.
Les sections suivantes offrent des informations de base sur chaque tâche de chaque pilote de périphérique réseau IBM System z. Section 17.3.1, « Ajout d'un périphérique
qeth » décrit comment ajouter un qeth à une instance existante de Red Hat Enterprise Linux. Section 17.3.2, « Ajout d'un périphérique LCS » décrit comment ajouter un périphérique lcs à une instance existante de Red Hat Enterprise Linux.
17.3.1. Ajout d'un périphérique qeth Copier lienLien copié sur presse-papiers!
Copier lienLien copié sur presse-papiers!
Le pilote de périphérique réseau
qeth prend en charge les fonctionnalités OSA-Express en mode QDIO des systèmes System z, HiperSockets, LAN invités z/VM, 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 : enccw bus_ID. L'ID de bus est composée de l'ID de sous-système de canal, d'un sous-canal set ID et du numéro de périphérique, par exemple enccw0.0.0a00.
17.3.1.1. Ajout dynamique d'un périphérique qeth Copier lienLien copié sur presse-papiers!
Copier lienLien copié sur presse-papiers!
Pour ajouter un périphérique
qeth de manière dynamique, procédez aux étapes suivantes :
- Déterminez si les modules de pilote de périphérique
qethsont chargés. L'exemple suivant montre des modulesqethchargés :Copy to Clipboard Copied! Toggle word wrap Toggle overflow Si la sortie de la commandelsmodmontre que les modulesqethne sont pas chargés, exécutez la commandemodprobepour les charger :modprobe qeth
# modprobe qethCopy to Clipboard Copied! Toggle word wrap Toggle overflow - Utilisez
cio_ignoreafin de supprimer les canaux réseau de la liste des périphériques ignorés et pour les rendre visibles à Linux :cio_ignore -r read_device_bus_id,write_device_bus_id,data_device_bus_id
# cio_ignore -r read_device_bus_id,write_device_bus_id,data_device_bus_idCopy to Clipboard Copied! Toggle word wrap Toggle overflow Remplacez read_device_bus_id, write_device_bus_id, data_device_bus_id par trois ID de bus de périphérique représentant un périphérique réseau. Par exemple, si read_device_bus_id est0.0.f500, le write_device_bus_id est0.0.f501et le data_device_bus_id est0.0.f502:cio_ignore -r 0.0.f500,0.0.f501,0.0.f502
# cio_ignore -r 0.0.f500,0.0.f501,0.0.f502Copy to Clipboard Copied! Toggle word wrap Toggle overflow - Veuillez utiliser lznetconf pour détecter et répertorier les configurations candidates des périphériques réseau :
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - Sélectionnez la configuration avec laquelle vous souhaitez travailler, puis utilisez znetconf pour appliquer la configuration et mettre le périphérique groupe configuré en ligne en tant que périphérique réseau.
znetconf -a f500
# znetconf -a f500 Scanning for network devices... Successfully configured device 0.0.f500 (enccw0.0.f500)Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 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
# znetconf -a f500 -o portname=myname Scanning for network devices... Successfully configured device 0.0.f500 (enccw0.0.f500)Copy to Clipboard Copied! Toggle word wrap Toggle overflow Vous pouvez maintenant continuer avec la configuration de l'interface réseauenccw0.0.f500.
Alternativement, vous pouvez utiliser les attributs
sysfs afin de paramétrer le périphérique en ligne comme suit :
- 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
# echo read_device_bus_id,write_device_bus_id,data_device_bus_id > /sys/bus/ccwgroup/drivers/qeth/groupCopy to Clipboard Copied! Toggle word wrap Toggle overflow Par exemple :echo 0.0.f500,0.0.f501,0.0.f502 > /sys/bus/ccwgroup/drivers/qeth/group
# echo 0.0.f500,0.0.f501,0.0.f502 > /sys/bus/ccwgroup/drivers/qeth/groupCopy to Clipboard Copied! Toggle word wrap Toggle overflow - Vérifiez ensuite que le périphérique de groupe
qetha été correctement créé en cherchant le canal de lecture :ls /sys/bus/ccwgroup/drivers/qeth/0.0.f500
# ls /sys/bus/ccwgroup/drivers/qeth/0.0.f500Copy to Clipboard Copied! Toggle word wrap Toggle overflow Vous pouvez également définir des paramètres et fonctions supplémentaires, selon la manière dont vous configurez votre système et les fonctions dont vous avez besoin. Par exemple :portnolayer2portname
- Mettez le périphérique en ligne en écrivant
1sur l'attributsysfsen ligne :echo 1 > /sys/bus/ccwgroup/drivers/qeth/0.0.f500/online
# echo 1 > /sys/bus/ccwgroup/drivers/qeth/0.0.f500/onlineCopy to Clipboard Copied! Toggle word wrap Toggle overflow - Puis vérifiez l'état du périphérique :
cat /sys/bus/ccwgroup/drivers/qeth/0.0.f500/online 1
# cat /sys/bus/ccwgroup/drivers/qeth/0.0.f500/online 1Copy to Clipboard Copied! Toggle word wrap Toggle overflow Une valeur de retour1indique que le périphérique est en ligne, tandis qu'une valeur de retour0indique que le périphérique est hors-ligne. - 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 enccw0.0.f500
# cat /sys/bus/ccwgroup/drivers/qeth/0.0.f500/if_name enccw0.0.f500Copy to Clipboard Copied! Toggle word wrap Toggle overflow Vous pouvez maintenant continuer avec la configuration de l'interface réseauenccw0.0.f500.La commande suivante du paquet s390utils affiche les paramètres les plus importants de votre périphériqueqeth:Copy to Clipboard Copied! Toggle word wrap Toggle overflow
17.3.1.2. Suppression dynamique d'un périphérique qeth Copier lienLien copié sur presse-papiers!
Copier lienLien copié sur presse-papiers!
Pour supprimer un périphérique
qeth utiliser znetconf. Par exemple :
- Utilisez
znetconfpour voir tous les périphériques réseau configurés :Copy to Clipboard Copied! Toggle word wrap Toggle overflow - Sélectionnez le périphérique réseau à supprimer et exécutez
znetconfafin de mettre le périphérique hors-ligne et de dégrouper le périphérique de groupeccw>.znetconf -r f500
# znetconf -r f500 Remove network device 0.0.f500 (0.0.f500,0.0.f501,0.0.f502)? Warning: this may affect network connectivity! Do you want to continue (y/n)?y Successfully removed device 0.0.f500 (enccw0.0.f500)Copy to Clipboard Copied! Toggle word wrap Toggle overflow - Vérifiez si la suppression a été effective :
znetconf -c Device IDs Type Card Type CHPID Drv. Name State -------------------------------------------------------------------------------------- 0.0.8036,0.0.8037,0.0.8038 1731/05 HiperSockets FB qeth hsi1 online 0.0.f5f0,0.0.f5f1,0.0.f5f2 1731/01 OSD_1000 76 qeth enccw0.0.09a0 online
znetconf -c Device IDs Type Card Type CHPID Drv. Name State -------------------------------------------------------------------------------------- 0.0.8036,0.0.8037,0.0.8038 1731/05 HiperSockets FB qeth hsi1 online 0.0.f5f0,0.0.f5f1,0.0.f5f2 1731/01 OSD_1000 76 qeth enccw0.0.09a0 onlineCopy to Clipboard Copied! Toggle word wrap Toggle overflow
17.3.1.3. Ajout persistant d'un périphérique qeth Copier lienLien copié sur presse-papiers!
Copier lienLien copié sur presse-papiers!
Pour rendre votre nouveau périphérique
qeth persistant, vous devrez créer le fichier de configuration pour votre nouvelle interface. Les fichiers de configuration des interfaces réseau se trouvent dans le répertoire /etc/sysconfig/network-scripts/.
Les fichiers de configuration réseau utilisent la convention de nommage
ifcfg-device, où device correspond à la valeur trouvée dans le fichier if_name du périphérique de groupe qeth créé auparavant. Dans cet exemple, il s'agit de eth1. L'utilitaire cio_ignore est géré de manière transparente pour les configurations persistantes de périphériques et vous n'aurez pas besoin de libérer de périphériques de la liste Ignorer manuellement.
S'il existe déjà un fichier de configuration du même type pour un autre périphérique, la solution la plus simple est de le copier sous le nouveau nom et de l'éditer :
cd /etc/sysconfig/network-scripts cp ifcfg-enccw0.0.09a0 ifcfg-enccw0.0.0600
# cd /etc/sysconfig/network-scripts
# cp ifcfg-enccw0.0.09a0 ifcfg-enccw0.0.0600
Pour connaître les ID de vos périphériques de réseau, utiliser lsqeth :
lsqeth -p
# 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 enccw0.0.09a0 Virt.NIC QDIO 0 sw always_q_2 n/a n/a 1 64
0.0.0600/0.0.0601/0.0.0602 x00 enccw0.0.0600 Virt.NIC QDIO 0 sw always_q_2 n/a n/a 1 64
Si vous ne possédez pas de périphérique similaire déjà défini, vous devez en créer un. Utilisez l'exemple de
/etc/sysconfig/network-scripts/ifcfg-0.0.09a0 comme modèle.
Éditez le nouveau fichier
ifcfg-0.0.0600 comme suit :
- Modifiez l'instruction
DEVICEafin de refléter le contenu du fichierif_namede votreccw. - Modifiez l'instruction
IPADDRafin de refléter l'adresse IP de votre nouvelle interface. - Modifiez l'instruction
NETMASKsi nécessaire. - Si vous souhaitez que votre nouvelle interface soit activée au démarrage, assurez-vous que
ONBOOTest réglé suryes. - Assurez-vous que l'instruction
SUBCHANNELScorrespond aux adresses matérielles de votre périphérique qeth. - Modifiez l'instruction
PORTNAMEou laissez-la de côté si elle n'est pas nécessaire à votre environnement. - Vous pouvez ajouter tout attribut
sysfsvalide et sa valeur au paramètreOPTIONS. L'installateur Red Hat Enterprise Linux utilise actuellement ceci afin de configurer le mode « layer » (layer2) et le numéro de port relatif (portno) des périphériquesqeth.Le défaut du pilote de périphériqueqethpour les périphériques OSA est maintenant le mode layer 2. Pour continuer d'utiliser les anciennes définitions d'ifcfgreposant sur le défaut du mode layer 3, ajoutezlayer2=0au paramètreOPTIONS.
/etc/sysconfig/network-scripts/ifcfg-0.0.0600
Les modifications apportées à un fichier
ifcfg ne peuvent prendre effet qu'après un redémarrage ou après l'ajout dynamique de nouveaux canaux de périphériques réseau en changeant la configuration d'E/S du système (par exemple, en attachant sous z/VM). Alternativement, vous pouvez aussi déclencher l'activation d'un fichier ifcfg pour les canaux réseau qui n'étaient pas actifs auparavant en exécutant les commandes suivantes :
- Utilisez
cio_ignoreafin de supprimer les canaux réseau de la liste des périphériques ignorés et pour les rendre visibles à Linux :cio_ignore -r read_device_bus_id,write_device_bus_id,data_device_bus_id
# cio_ignore -r read_device_bus_id,write_device_bus_id,data_device_bus_idCopy to Clipboard Copied! Toggle word wrap Toggle overflow Remplacez read_device_bus_id, write_device_bus_id, data_device_bus_id par trois ID de bus de périphérique représentant un périphérique réseau. Par exemple, si le read_device_bus_id est0.0.0600, le write_device_bus_id est0.0.0601et le data_device_bus_id est0.0.0602:cio_ignore -r 0.0.0600,0.0.0601,0.0.0602
# cio_ignore -r 0.0.0600,0.0.0601,0.0.0602Copy to Clipboard Copied! Toggle word wrap Toggle overflow - Pour déclencher l'événement uevent qui active la modification, exécutez :
echo add > /sys/bus/ccw/devices/read-channel/uevent
echo add > /sys/bus/ccw/devices/read-channel/ueventCopy to Clipboard Copied! Toggle word wrap Toggle overflow Par exemple :echo add > /sys/bus/ccw/devices/0.0.0600/uevent
echo add > /sys/bus/ccw/devices/0.0.0600/ueventCopy to Clipboard Copied! Toggle word wrap Toggle overflow - Vérifiez le statut du périphérique réseau :
lsqeth
# lsqethCopy to Clipboard Copied! Toggle word wrap Toggle overflow - Vous pouvez maintenant démarrer la nouvelle interface :
ifup enccw0.0.0600
# ifup enccw0.0.0600Copy to Clipboard Copied! Toggle word wrap Toggle overflow - Vérifiez le statut de l'interface :
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - Vérifiez le routage pour la nouvelle interface :
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - Vérifiez vos modifications à l'aide de la commande
pingpour envoyer un ping vers la passerelle ou vers un autre hôte sur le sous-réseau du nouveau périphérique :ping -c 1 192.168.70.8
# 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 msCopy to Clipboard Copied! Toggle word wrap Toggle overflow - Si les informations de route par défaut ont changées, vous devez également mettre à jour
/etc/sysconfig/network.
17.3.2. Ajout d'un périphérique LCS Copier lienLien copié sur presse-papiers!
Copier lienLien copié sur presse-papiers!
Le pilote de périphérique LAN channel station (ou LCS) prend en charge l'Ethernet 1000Base-T sur les fonctions OSA-Express2 et OSA-Express 3.
Le pilote de périphérique
LCS attribue le même nom d'interface aux périphériques Ethernet OSA_Express Fast et Gigabit Ethernet: enccw bus_ID. L'ID de bus est composée de l'ID de sous-système de canal, d'un sous-canal set ID et du numéro de périphérique, par exemple enccw0.0.0a00.
17.3.2.1. Ajout dynamique d'un périphérique LCS Copier lienLien copié sur presse-papiers!
Copier lienLien copié sur presse-papiers!
- Chargement du pilote de périphériques :
modprobe lcs
# modprobe lcsCopy to Clipboard Copied! Toggle word wrap Toggle overflow - Utilisez
cio_ignoreafin de supprimer les canaux réseau de la liste des périphériques ignorés et pour les rendre visibles à Linux :cio_ignore -r read_device_bus_id,write_device_bus_id
# cio_ignore -r read_device_bus_id,write_device_bus_idCopy to Clipboard Copied! Toggle word wrap Toggle overflow Remplacez read_device_bus_id et write_device_bus_id par les deux ID de bus de périphérique représentant un périphérique réseau. Par exemple :cio_ignore -r 0.0.09a0,0.0.09a1
# cio_ignore -r 0.0.09a0,0.0.09a1Copy to Clipboard Copied! Toggle word wrap Toggle overflow - Création du périphérique de groupe
echo read_device_bus_id,write_device_bus_id > /sys/bus/ccwgroup/drivers/lcs/group
# echo read_device_bus_id,write_device_bus_id > /sys/bus/ccwgroup/drivers/lcs/groupCopy to Clipboard Copied! Toggle word wrap Toggle overflow - Configurez le périphérique. Les cartes OSA peuvent fournir jusqu'à 16 ports pour un seul CHPID. Par défaut, le périphérique de groupe LCS utilise le port
0. Pour utiliser un autre port, exécutez une commande similaire à celle qui suit :echo portno > /sys/bus/ccwgroup/drivers/lcs/device_bus_id/portno
# echo portno > /sys/bus/ccwgroup/drivers/lcs/device_bus_id/portnoCopy to Clipboard Copied! Toggle word wrap Toggle overflow Remplacez portno par le numéro de port que vous souhaitez utiliser. - Mise en ligne du périphérique
echo 1 > /sys/bus/ccwgroup/drivers/lcs/read_device_bus_id/online
# echo 1 > /sys/bus/ccwgroup/drivers/lcs/read_device_bus_id/onlineCopy to Clipboard Copied! Toggle word wrap Toggle overflow - Pour trouver quel nom de périphérique réseau a été assigné, saisissez la commande suivante :
ls -l /sys/bus/ccwgroup/drivers/lcs/read_device_bus_ID/net/
# ls -l /sys/bus/ccwgroup/drivers/lcs/read_device_bus_ID/net/ drwxr-xr-x 4 root root 0 2010-04-22 16:54 enccw0.0.0600Copy to Clipboard Copied! Toggle word wrap Toggle overflow
17.3.2.2. Ajout persistant d'un périphérique LCS Copier lienLien copié sur presse-papiers!
Copier lienLien copié sur presse-papiers!
cio_ignore est géré de manière transparente pour les configurations persistantes de périphériques et vous n'avez pas besoin de libérer de périphériques de la liste Ignorer manuellement.
Pour ajouter un périphérique LCS de manière persistante, procédez aux étapes suivantes :
- Créer un script de configuration en tant que fichier dans
/etc/sysconfig/network-scripts/avec un nom commeifcfg-device, device correspondant à la valeur trouvée dans le fichierif_namedans le groupe de périphériquesqethcréé plus tôt, par exempleenccw0.0.09a0. Le fichier doit ressembler à ce qui suit :Copy to Clipboard Copied! Toggle word wrap Toggle overflow - Modifiez la valeur de
PORTNAMEafin de refléter le numéro du port LCS (portno) que vous souhaiteriez utiliser. Vous pouvez ajouter tout attribut sysfs lcs valide ainsi que sa valeur au paramètre optionnelOPTIONS. Voir la Section 17.3.1.3, « Ajout persistant d'un périphériqueqeth» pour connaître la syntaxe. - Définissez le paramètre
DEVICEcomme suit :DEVICE=enccwbus_ID
DEVICE=enccwbus_IDCopy to Clipboard Copied! Toggle word wrap Toggle overflow - Exécutez la commande
ifuppour activer le périphérique :ifup enccwbus_ID
# ifup enccwbus_IDCopy to Clipboard Copied! Toggle word wrap Toggle overflow
Les modifications apportées à un fichier
ifcfg ne prennent effet qu'après le redémarrage du système. Vous pouvez déclencher l'activation d'un fichier ifcfg pour des canaux de réseau en exécutant les commandes suivantes :
- Utilisez
cio_ignorepour supprimer l'adaptateur du périphérique réseau de la liste des périphériques ignorés et pour le rendre visible à Linux :cio_ignore -r read_device_bus_id,write_device_bus_id
# cio_ignore -r read_device_bus_id,write_device_bus_idCopy to Clipboard Copied! Toggle word wrap Toggle overflow Remplacez read_device_bus_id et write_device_bus_id par les ID de bus de périphérique du périphérique LCS. Par exemple :cio_ignore -r 0.0.09a0,0.0.09a1
# cio_ignore -r 0.0.09a0,0.0.09a1Copy to Clipboard Copied! Toggle word wrap Toggle overflow - Pour déclencher l'événement uevent qui active la modification, exécutez :
echo add > /sys/bus/ccw/devices/read-channel/uevent
echo add > /sys/bus/ccw/devices/read-channel/ueventCopy to Clipboard Copied! Toggle word wrap Toggle overflow Par exemple :echo add > /sys/bus/ccw/devices/0.0.09a0/uevent
echo add > /sys/bus/ccw/devices/0.0.09a0/ueventCopy to Clipboard Copied! Toggle word wrap Toggle overflow
17.3.3. Configurer un périphérique réseau System z pour un système de fichiers racine de réseau Copier lienLien copié sur presse-papiers!
Copier lienLien copié sur presse-papiers!
Pour ajouter un périphérique réseau requis pour pouvoir accéder au système de fichiers racine, vous n'avez qu'à changer les options de démarrage. Les options de démarrage peuvent être dans un fichier de paramètres (voir le Chapitre 18, Fichiers de paramètres et de configuration dans IBM System z), ou faire partie de
zipl.conf sur un DASD ou un LUN SCSI attaché via FCP préparé avec le chargeur de démarrage zipl. Il n'est pas nécessaire de recréer l'initramfs.
Dracut (qui succède à mkinitrd en offrant une fonctionnalité dans l'initramfs qui, à son tour, remplace initrd) fournit un paramètre de démarrage pour activer les périphériques réseau sur System z au début du processus de démarrage :
rd_znet=.
Comme entrée, ce paramètre accepte une liste, séparée des virgules, des ID de bus périphérique
NETTYPE (qeth, lcs, ctc), deux (lcs, ctc) ou trois (qeth), ainsi que des paramètres supplémentaires optionnels qui sont composés de paires clé-valeur correspondant aux attributs sysfs du périphérique réseau. Ce paramètre configure et active le matériel réseau System z. La configuration des adresses IP et d'autres spécifications de réseau fonctionne de la même manière que sur d'autres plateformes. Pour obtenir plus d'informations, consulter la documentation de dracut.
cio_ignore pour les canaux réseau est géré de manière transparente lors du 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:enccw0.0.09a0:none rd_NO_LUKS rd_NO_LVM rd_NO_MD rd_NO_DM LANG=en_US.UTF-8 SYSFONT=latarcyrheb-sun16 KEYTABLE=us
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:enccw0.0.09a0:none rd_NO_LUKS rd_NO_LVM rd_NO_MD rd_NO_DM LANG=en_US.UTF-8 SYSFONT=latarcyrheb-sun16 KEYTABLE=us