25.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 25.3.1, « Ajout d'un périphérique qeth » décrit comment ajouter un périphérique qeth à une instance existante de Red Hat Enterprise Linux. Section 25.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. Section 25.3.3, « Procéder au mappage des sous-canaux et des noms de périphériques réseau » décrit à quel point les noms de périphériques réseau sont persistants. Section 25.3.4, « Configurer un périphérique réseau System z pour un système de fichiers racine de réseau » décrit comment configurer un périphérique réseau à utiliser avec un système de fichiers du noyau uniquement accessible à partir du réseau.
25.3.1. Ajout d'un périphérique qeth
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.
Selon le type d'interface ajoutée, le pilote de périphérique qeth assigne l'un des noms d'interface de base suivants :
- hsin pour les périphériques HiperSocket
- ethn pour les fonctionnalités Ethernet
La valeur n est un entier qui identifie le périphérique de façon unique. n a la valeur
0
pour le premier périphérique de ce type, 1
pour le second et ainsi de suite.
25.3.1.1. Ajouter un périphérique qeth de manière dynamique
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 qeth sont chargés. L'exemple suivant montre des modules qeth chargés :
# lsmod | grep qeth qeth_l3 127056 9 qeth_l2 73008 3 ipv6 492872 155ip6t_REJECT,nf_conntrack_ipv6,qeth_l3 qeth 115808 2 qeth_l3,qeth_l2 qdio 68240 1 qeth ccwgroup 12112 2 qeth
Si la sortie de la commandelsmod
montre que les modules qeth ne sont pas chargés, exécutez la commandemodprobe
pour les charger :# modprobe qeth
- Utilisez la commande
cio_ignore
afin 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
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.f501
, et le data_device_bus_id est0.0.f502
:# cio_ignore -r 0.0.f500,0.0.f501,0.0.f502
- Veuillez utiliser la commande znetconf pour détecter et répertorier les configurations candidates des 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
- Sélectionnez la configuration avec laquelle vous souhaitez travaille, 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 Scanning for network devices... Successfully configured device 0.0.f500 (eth1)
- 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 (eth1)
Vous pouvez maintenant continuer avec la configuration de l'interface réseaueth1
.
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
Par exemple:# echo 0.0.f500,0.0.f501,0.0.f502 > /sys/bus/ccwgroup/drivers/qeth/group
- Vérifiez ensuite que le périphérique de groupe qeth a été correctement créé en cherchant le canal de lecture :
# ls /sys/bus/ccwgroup/drivers/qeth/0.0.f500
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 :portno
layer2
portname
Pour plus d'informations sur les paramètres supplémentaires, reportez-vous au chapitre sur le pilote de périphérique qeth dans Linux on System z Device Drivers, Features, and Commands on Red Hat Enterprise Linux 6. - Mettez le périphérique en ligne en écrivant 1 sur l'attibut sysfs en ligne :
# echo 1 > /sys/bus/ccwgroup/drivers/qeth/0.0.f500/online
- Puis vérifiez l'état du périphérique :
# cat /sys/bus/ccwgroup/drivers/qeth/0.0.f500/online
1
Une valeur de retour1
indique que le périphérique est en ligne, tandis qu'une valeur de retour0
indique 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
eth1
Vous pouvez maintenant continuer avec la configuration de l'interface réseaueth1
.La commande suivante du paquetage s390utils affiche les paramètres les plus importants de votre périphérique qeth :# lsqeth eth1 Device name : eth1 --------------------------------------------- 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
25.3.1.2. Suppression dynamique d'un périphérique qeth
Pour supprimer un périphérique qeth, utilisez l'outil znetconf. Par exemple :
- Utilisez la commande
znetconf
pour voir tous les périphériques réseau configurés :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 eth0 online 0.0.f500,0.0.f501,0.0.f502 1731/01 GuestLAN QDIO 00 qeth eth1 online
- Sélectionnez le périphérique réseau à supprimer et lancez
znetconf
afin de mettre le périphérique hors-ligne et de dégrouper le périphérique de groupe ccw.# 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 (eth1)
- 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 eth0 online
25.3.1.3. Ajout persistant d'un périphérique qeth
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
/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
. 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.
# cd /etc/sysconfig/network-scripts # cp ifcfg-eth0 ifcfg-eth1
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
ifcfg-eth0
comme modèle.
/etc/sysconfig/network-scripts/ifcfg-eth0
# IBM QETH DEVICE=eth0 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
Éditez le nouveau fichier ifcfg-eth1 comme suit :
- Modifiez l'instruction
DEVICE
afin de refléter le contenu du fichierif_name
de votre ccwgroup. - Modifiez l'instruction
IPADDR
afin de refléter l'adresse IP de votre nouvelle interface. - Modifiez l'instruction
NETMASK
si nécessaire. - Si vous souhaitez que votre nouvelle interface soit activée au démarrage, assurez-vous que
ONBOOT
est réglé suryes
. - Assurez-vous que l'instruction
SUBCHANNELS
correspond aux adresses matérielles de votre périphérique qeth. - Modifiez l'instruction
PORTNAME
ou laissez-la de côté si elle n'est pas nécessaire à votre environnement. - Vous pouvez ajouter tout attribut sysfs valide et sa valeur au paramètre
OPTIONS
. 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ériques qeth.Le défaut du pilote de périphérique qeth pour les périphériques OSA est maintenant le mode layer 2. Pour continuer d'utiliser les anciennes définitions d'ifcfg reposant sur le défaut du mode layer 3, ajoutezlayer2=0
au paramètreOPTIONS
.
/etc/sysconfig/network-scripts/ifcfg-eth1
# IBM QETH DEVICE=eth1 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 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 la commande
cio_ignore
afin 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
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.0601
, et le data_device_bus_id est0.0.0602
:# cio_ignore -r 0.0.0600,0.0.0601,0.0.0602
- 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
- Vérifiez le statut du périphérique réseau :
# lsqeth
- Vous pouvez maintenant démarrer la nouvelle interface :
# ifup eth1
- Vérifiez le statut de l'interface :
# ifconfig eth1 eth1 Link encap:Ethernet HWaddr 02:00:00:00:00:01 inet addr:192.168.70.87 Bcast:192.168.70.255 Mask:255.255.255.0 inet6 addr: fe80::ff:fe00:1/64 Scope:Link UP BROADCAST RUNNING NOARP MULTICAST MTU:1492 Metric:1 RX packets:23 errors:0 dropped:0 overruns:0 frame:0 TX packets:3 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:644 (644.0 b) TX bytes:264 (264.0 b)
- Vérifiez le routage pour la nouvelle interface :
# route Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 192.168.70.0 * 255.255.255.0 U 0 0 0 eth1 10.1.20.0 * 255.255.255.0 U 0 0 0 eth0 default 10.1.20.1 0.0.0.0 UG 0 0 0 eth0
- Vérifiez vos modifications a l'aide de la commande ping pour 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 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
- Si les informations de route par défaut ont changées, vous devez également mettre à jour
/etc/sysconfig/network
.