17.3. Adición de un dispositivo de red
Los módulos de controlador de dispositivo de red son cargados automáticamente por udev.
Usted puede añadir una interfaz de red en IBM System z de forma dinámica o persistente.
- Dinámica
- Cargar el controlador de dispositivo:
- Remover los dispositivos de red desde la lista de dispositivos ignorados.
- Cree el grupo de dispositivo.
- Configure el dispositivo.
- Establezca el dispositivo en línea.
- Persistente
- Cree un script para la configuración.
- Activar la interfaz.
Las siguientes secciones ofrecen información básica de las tareas de cada uno de los controladores de dispositivos de redes de IBM System z. Sección 17.3.1, “Adición de un dispositivo
qeth
” describe cómo agregar un dispositivo qeth a una instancia existente de Red Hat Enterprise Linux. Sección 17.3.2, “Añadir un dispositivo LCS” describe cómo agregar un dispositivo lcs a una instancia existente de Red Hat Enterprise Linux.
17.3.1. Adición de un dispositivo qeth
El controlador de dispositivos de redes
qeth
es compatible con las funciones de OSA-Express de System z en el modo QDIO, HiperSockets, LAN guest de z/VM y VSWITCH de z/VM.
El controlador de dispositivos
qeth
asigna el mismo nombre de interfaz a los dispositivos de Ethernet e Hipersockets: enccw
ID_debus. El ID de bus se compone del ID del subsistema de canal, el ID del conjunto de subcanal y el número del dispositivo, por ejemplo enccw0.0.0a00
.
17.3.1.1. Adición dinámica de un dispositivo qeth
Para agregar dinámicamente un dispositivo
qeth
, siga estos pasos:
- Determine si los módulos del controlador de dispositivos
qeth
están cargados. El siguiente ejemplo muestra módulosqeth
cargados:# 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 el resultado del comandolsmod
muestra que los módulos deqeth
no está cargados, ejecute el comandomodprobe
para cargarlos:# modprobe qeth
- Use la utilidad
cio_ignore
para quitar los canales de red de la lista de dispositivos ignorados y volverlos visibles para Linux:# cio_ignore -r read_device_bus_id,write_device_bus_id,data_device_bus_id
Remplace read_device_bus_id,write_device_bus_id,data_device_bus_id por los ID de bus de dispositivo que representan un dispositivo de red. Por ejemplo, si el id_de_bus_de_dispositivo_de_lectura es0.0.f500
, el id_de_bus_de_dispositivo_de_escritura será0.0.f501
, y el id_de_bus_de_dispositivo_de_datos será0.0.f502
:# cio_ignore -r 0.0.f500,0.0.f501,0.0.f502
- Use la utilidad znetconf para detectar y enumerar las posibles configuraciones para los dispositivos de red:
# znetconf -u Buscando dispositivos de red... ID de dispositivo Tipo Tipo de tarjeta Contr. CHPID ------------------------------------------------------------ 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
- Seleccione la configuración con la que desea trabajar y use znetconf para aplicar la configuración y traer el dispositivo de grupo configurado en línea como un dispositivo de red.
# znetconf -a f500 Buscando dispositivos de red... Dispositivo 0.0.f500 (enccw0.0.f500) configurado correctamente
- También puede pasar argumentos que están configurados en el dispositivo de grupo antes de configurarlo en línea:
# znetconf -a f500 -o portname=myname Buscando dispositivos de red... Dispositivo 0.0.f500 (enccw0.0.f500) configurado correctamente
Ahora puede seguir configurando la interfaz de redenccw0.0.f500
.
Como alternativa, puede utilizar los atributos de
sysfs
para configurar el dispositivo online de la siguiente manera:
- Cree un dispositivo de grupo
qeth
:# echo read_device_bus_id,write_device_bus_id,data_device_bus_id > /sys/bus/ccwgroup/drivers/qeth/group
Por ejemplo:# echo 0.0.f500,0.0.f501,0.0.f502 > /sys/bus/ccwgroup/drivers/qeth/group
- Después, verifique que el dispositivo de grupo
qeth
se ha creado correctamente buscando el canal de lectura:# ls /sys/bus/ccwgroup/drivers/qeth/0.0.f500
Opcionalmente, puede configurar parámetros y funcionalidades adicionales, dependiendo de la forma en que esté configurando su sistema y de las funcionalidades requeridas, tales como:portno
layer2
portname
- Escriba
1
en el atributo onlinesysfs
para que el dispositivo esté online:# echo 1 > /sys/bus/ccwgroup/drivers/qeth/0.0.f500/online
- Luego verifique el estado del dispositivo:
# cat /sys/bus/ccwgroup/drivers/qeth/0.0.f500/online
1
Un valor de retorno1
indica que el dispositivo está en línea, mientras que un valor de retorno0
puede indicar que el dispositivo está desconectado. - Busque el nombre de interfaz que fue asignado al dispositivo:
# cat /sys/bus/ccwgroup/drivers/qeth/0.0.f500/if_name
enccw0.0.f500
Ahora puede seguir configurando la interfaz de redenccw0.0.f500
.El siguiente comando del paquete s390utils muestra los ajustes más importantes de su dispositivoqeth
:# lsqeth enccw0.0.f500 Device name : enccw0.0.f500 ------------------------------------------------- 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
17.3.1.2. Extracción dinámica de un dispositivo qeth
Para quitar un dispositivo
qeth
, use la utilidad znetconf. Por ejemplo:
- Use la utilidad
znetconf
para ver todos los dispositivos de red configurados:znetconf -c Device IDs Type Card Type CHPID Drv. Name \tState -------------------------------------------------------------------------------------- 0.0.8036,0.0.8037,0.0.8038 1731/05 HiperSockets FB qeth hsi1 \tonline 0.0.f5f0,0.0.f5f1,0.0.f5f2 1731/01 OSD_1000 76 qeth enccw0.0.09a0 online 0.0.f500,0.0.f501,0.0.f502 1731/01 GuestLAN QDIO 00 qeth enccw0.0.f500 online
- Seleccione el dispositivo de red que desea quitar y ejecute
znetconf
para desconectar el dispositivo y eliminar la agrupación del dispositivo de grupoccw
>.# znetconf -r f500 ¿Quitar el dispositivo de red 0.0.f500 (0.0.f500,0.0.f501,0.0.f502)? Aviso: ¡puede afectar a la conectividad de red! ¿Desea continuar (s/n)?s El dispositivo 0.0.f500 (enccw0.0.f500) se ha quitado correctamente
- Verifique el resultado de la remoción:
znetconf -c Device IDs Type Card Type CHPID Drv. Name \tState -------------------------------------------------------------------------------------- 0.0.8036,0.0.8037,0.0.8038 1731/05 HiperSockets FB qeth hsi1 \tonline 0.0.f5f0,0.0.f5f1,0.0.f5f2 1731/01 OSD_1000 76 qeth enccw0.0.09a0 online
17.3.1.3. Adición de un dispositivo qeth
de forma persistente
Para que su nuevo dispositivo
qeth
sea persistente, deberá crear un archivo de configuración para la nueva interfaz. Los archivos de configuración de la interfaz de red se encuentran en el directorio /etc/sysconfig/network-scripts/
.
Los archivos de configuración de red emplean la convención de nomenclatura
ifcfg-dispositivo
, donde dispositivo es el valor que se encuentra en el archivo if_name
del dispositivo de grupo qeth
creado anteriormente, por ejemplo enccw0.0.09a0
. Los comandos cio_ignore
se gestionan de forma transparente para configuraciones de dispositivo persistentes y no es necesario que quite manualmente los dispositivos de la lista de ignorados.
Si ya existe un archivo de configuración para otro dispositivo del mismo tipo, lo más sencillo es copiarlo al nuevo nombre y luego modificarlo:
# cd /etc/sysconfig/network-scripts # cp ifcfg-enccw0.0.09a0 ifcfg-enccw0.0.0600
Para conocer los ID de sus dispositivos de red, use la utilidad 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 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 no tiene un dispositivo parecido definido, deberá crear un archivo nuevo. Utilice este ejemplo de
/etc/sysconfig/network-scripts/ifcfg-0.0.09a0
como plantilla:
# IBM QETH DEVICE=enccw0.0.09a0 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
Modifique el nuevo archivo
ifcfg-0.0.0600
de la siguiente manera:
- Modifique la sentencia
DEVICE
para que refleje el contenido del archivoif_name
de su grupoccw
. - Modifique la sentencia
IPADDR
para reflejar la dirección IP de su nueva interfaz. - Modifique la sentencia
NETMASK
como sea necesario. - Si desea que su nueva interfaz sea activada en el momento de arranque, entonces asegúrese de que
ONBOOT
esté configurado ayes
. - Asegúrese de que la sentencia
SUBCHANNELS
coincida con las direcciones de hardware para su dispositivo qeth. - Modifique la sentencia
PORTNAME
o déjela por fuera si no se necesita en su entorno. - Puede agregar cualquier atributo de
sysfs
válido y su valor al parámetroOPTIONS
. El programa de instalación de Red Hat Enterprise Linux actualmente emplea esto para configurar el modo de capa (layer2
) y el número de puerto relativo (portno
) de los dispositivosqeth
.El controlador de dispositivosqeth
predeterminado para dispositivos OSA ahora está en el modo de capa 2. Para seguir usando definiciones antiguas deifcfg
que dependen del modo predeterminado de capa 3 anterior, agreguelayer2=0
al parámetroOPTION
S.
/etc/sysconfig/network-scripts/ifcfg-0.0.0600
# IBM QETH DEVICE=enccw0.0.0600 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
Los cambios a un archivo
ifcfg
solo se efectúan tras el reinicio del sistema o después de la adición de nuevos canales de dispositivos de red al cambiar la configuración de E/S del sistema (por ejemplo, conectados bajo z/VM). También, puede activar un archivo ifcfg
para canales de red que aún no estaban, mediante los siguientes comandos:
- Use la utilidad
cio_ignore
para quitar los canales de red de la lista de dispositivos ignorados y volverlos visibles para Linux:# cio_ignore -r read_device_bus_id,write_device_bus_id,data_device_bus_id
Remplace read_device_bus_id,write_device_bus_id,data_device_bus_id por los tres ID de bus de dispositivo que representan un dispositivo de red. Por ejemplo, si el read_device_bus_id es0.0.0600
, el write_device_bus_id es0.0.0601
, y el data_device_bus_id es0.0.0602
:# cio_ignore -r 0.0.0600,0.0.0601,0.0.0602
- Para activar el uevent que activa el cambio, ejecute:
echo add > /sys/bus/ccw/devices/read-channel/uevent
Por ejemplo:echo add > /sys/bus/ccw/devices/0.0.0600/uevent
- Verifique el estado del dispositivo de red:
# lsqeth
- Ahora puede iniciar la nueva interfaz:
# ifup enccw0.0.0600
- Verifique el estado de la interfaz:
# ifconfig enccw0.0.0600 enccw0.0.0600 Link encap:Ethernet HWaddr 02:00:00:00:00:01 \t inet addr:192.168.70.87 Bcast:192.168.70.255 Mask:255.255.255.0 \t inet6 addr: fe80::ff:fe00:1/64 Scope:Link \t UP BROADCAST RUNNING NOARP MULTICAST MTU:1492 Metric:1 \t RX packets:23 errors:0 dropped:0 overruns:0 frame:0 \t TX packets:3 errors:0 dropped:0 overruns:0 carrier:0 \t collisions:0 txqueuelen:1000 \t RX bytes:644 (644.0 b) TX bytes:264 (264.0 b)
- Verifique el enrutamiento para la nueva interfaz:
# 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 enccw0.0.0600 10.1.20.0 * 255.255.255.0 U 0 0 0 enccw0.0.09a0 default 10.1.20.1 0.0.0.0 UG 0 0 0 enccw0.0.09a0
- Verifique los cambios con la utilidad
ping
para comprobar la puerta de enlace u otro host en la subred del nuevo dispositivo:# ping -c 1 192.168.70.8 PING 192.168.70.8 (192.168.70.8) 56(84) bytes de datos. 64 bytes de 192.168.70.8: icmp_seq=0 ttl=63 time=8.07 ms
- Si la información de rutas predeterminadas ha cambiado, debe actualizar
/etc/sysconfig/network
de acuerdo con ello.
17.3.2. Añadir un dispositivo LCS
El controlador de dispositivo Estación de canal LAN (LCS) soporta 1000Base-T Ethernet en funcionalidades OSA-Express2 y OSA-Express 3.
El controlador de dispositivos
LCS
asigna el siguiente nombre de interfaz a los dispositivos de Ethernet rápido OSA-Express y Gigabit Ethernet: enccw
ID_debus. El ID de bus se compone del ID del subsistema de canal, el ID del conjunto de subcanal y el número del dispositivo, por ejemplo enccw0.0.0a00
.
17.3.2.1. Adición dinámica de un dispositivo LCS
- Cargar el controlador de dispositivo:
# modprobe lcs
- Use la utilidad
cio_ignore
para quitar los canales de red de la lista de dispositivos ignorados y volverlos visibles para Linux:# cio_ignore -r read_device_bus_id,write_device_bus_id
Remplace id_de _bus_de_dispositivo_de_lectura y id_de _bus_de_dispositivo_de_escritura por los dos ID de bus de dispositivo que representan un dispositivo de red. Por ejemplo:# cio_ignore -r 0.0.09a0,0.0.09a1
- 0Crear el grupo de dispositivo:
# echo read_device_bus_id,write_device_bus_id > /sys/bus/ccwgroup/drivers/lcs/group
- Configure el dispositivo. Las tarjetas OSA pueden proporcionar hasta 16 puertos para un único CHPID. Por defecto, el grupo de dispositivo LCS utiliza el puerto
0
. Para utilizar un puerto diferente, ejecute un comando similar al siguiente:# echo portno > /sys/bus/ccwgroup/drivers/lcs/device_bus_id/portno
Sustituya portno por el número de puerto que desee utilizar. - Establezca el dispositivo en línea:
# echo 1 > /sys/bus/ccwgroup/drivers/lcs/read_device_bus_id/online
- Para saber el nombre del dispositivo de red que ha sido asignado, ingrese el comando:
# 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.0600
17.3.2.2. Adición de un dispositivo LCS de forma persistente
Los comandos
cio_ignore
se gestionan de forma transparente para configuraciones de dispositivo persistentes y no es necesario que quite manualmente los dispositivos de la lista de ignorados.
Para añadir un dispositivo LCS de modo persistente, siga estos pasos:
- Cree un script de configuración como un archivo en
/etc/sysconfig/network-scripts/
con un nombre comoifcfg-dispositivo
, donde dispositivo es el valor que se encuentra en el archivoif_name
del dispositivo de grupoqeth
creado anteriormente, por ejemploenccw0.0.09a0
. El archivo debería tener un aspecto similar al siguiente:/etc/sysconfig/network-scripts/ifcfg-enccw0.0.09a0 # IBM LCS DEVICE=enccw0.0.09a0 BOOTPROTO=static IPADDR=10.12.20.136 NETMASK=255.255.255.0 ONBOOT=yes NETTYPE=lcs SUBCHANNELS=0.0.09a0,0.0.09a1 PORTNAME=0 OPTIONS='' TYPE=Ethernet
- Modifique el valor de
PORTNAME
para que refleje el número del puerto LCS (portno
) que desea utilizar. Puede agregar cualquier atributo de lcs sysfs y su valor al parámetro opcionalOPTIONS
. Para conocer la sintaxis, consulte Sección 17.3.1.3, “Adición de un dispositivoqeth
de forma persistente”. - Establezca el parámetro
DEVICE
así:DEVICE=enccwbus_ID
- Ejecute un comando
ifup
para activar el dispositivo:# ifup enccwbus_ID
Los cambios a un archivo
ifcfg
solo se hacen efectivos después de reiniciar el sistema. Puede activar el archivo ifcfg
para canales de red al ejecutar los siguientes comandos:
- Use la utilidad
cio_ignore
para quitar el adaptador del dispositivo LCS de la lista de dispositivos ignorados y volverlo visible para Linux:# cio_ignore -r read_device_bus_id,write_device_bus_id
Remplace read_device_bus_id y write_device_bus_id con los ID de bus de dispositivos del dispositivo LCS. Por ejemplo:# cio_ignore -r 0.0.09a0,0.0.09a1
- Para activar el uevent que activa el cambio, ejecute:
echo add > /sys/bus/ccw/devices/read-channel/uevent
Por ejemplo:echo add > /sys/bus/ccw/devices/0.0.09a0/uevent
17.3.3. Configuración de un dispositivo de red System z para un sistema de archivos raíz de red
Para agregar un dispositivo de red necesario para acceder al sistema de archivos raíz, solo tiene que cambiar las opciones de arranque. Las opciones de arranque pueden encontrarse en un archivo de parámetros (véase Capítulo 18, Archivos de parámetro y configuración en IBM System z) o formar parte de un
zipl.conf
en un DASD o LUN de SCSI conectada a FCP y preparada con el cargador de arranque zipl. No hace falta recrear initramfs.
Dracut, el sucesor de mkinitrd, que ofrece la funcionalidad de initramfs que a su vez sustituye a initrd, proporciona un parámetro de arranque para activar dispositivos de red en System z al comienzo del proceso de arranque:
rd.znet=
.
Para introducirlo, este parámetro requiere una lista separada por comas de
NETTYPE
(qeth, lcs, ctc), dos (lcs, ctc) o tres (qeth) ID de bus de dispositivo y parámetros opcionales adicionales compuestos de pares con valor clave correspondientes a atributos al dispositivo de red sysfs. Este parámetro configura y activa el hardware de red de System z. La configuración de direcciones IP y otros detalles específicos de redes funciona igual que para otras plataformas. Consulte la documentación de dracut para obtener más información.
Los comandos cio_ignore para los canales de red se gestionan de forma transparente en el arranque.
Opciones de arranque para un sistema de archivos raíz accedido en la red a través de 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