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
    1. Cargar el controlador de dispositivo:
    2. Remover los dispositivos de red desde la lista de dispositivos ignorados.
    3. Cree el grupo de dispositivo.
    4. Configure el dispositivo.
    5. Establezca el dispositivo en línea.
  • Persistente
    1. Cree un script para la configuración.
    2. 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: enccwID_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:
  1. Determine si los módulos del controlador de dispositivos qeth están cargados. El siguiente ejemplo muestra módulos qeth 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 comando lsmod muestra que los módulos de qeth no está cargados, ejecute el comando modprobe para cargarlos:
    # modprobe qeth
  2. 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 es 0.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
  3. 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
  4. 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
  5. 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 red enccw0.0.f500.
Como alternativa, puede utilizar los atributos de sysfs para configurar el dispositivo online de la siguiente manera:
  1. 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
  2. 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
  3. Escriba 1 en el atributo online sysfs para que el dispositivo esté online:
    # echo 1 > /sys/bus/ccwgroup/drivers/qeth/0.0.f500/online
  4. Luego verifique el estado del dispositivo:
    # cat /sys/bus/ccwgroup/drivers/qeth/0.0.f500/online
    1
    Un valor de retorno 1 indica que el dispositivo está en línea, mientras que un valor de retorno 0 puede indicar que el dispositivo está desconectado.
  5. 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 red enccw0.0.f500.
    El siguiente comando del paquete s390utils muestra los ajustes más importantes de su dispositivo qeth:
    # 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:
  1. 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
  2. Seleccione el dispositivo de red que desea quitar y ejecute znetconf para desconectar el dispositivo y eliminar la agrupación del dispositivo de grupo ccw>.
    # 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
  3. 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:
  1. Modifique la sentencia DEVICE para que refleje el contenido del archivo if_name de su grupo ccw.
  2. Modifique la sentencia IPADDR para reflejar la dirección IP de su nueva interfaz.
  3. Modifique la sentencia NETMASK como sea necesario.
  4. Si desea que su nueva interfaz sea activada en el momento de arranque, entonces asegúrese de que ONBOOT esté configurado a yes.
  5. Asegúrese de que la sentencia SUBCHANNELS coincida con las direcciones de hardware para su dispositivo qeth.
  6. Modifique la sentencia PORTNAME o déjela por fuera si no se necesita en su entorno.
  7. Puede agregar cualquier atributo de sysfs válido y su valor al parámetro OPTIONS. 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 dispositivos qeth.
    El controlador de dispositivos qeth predeterminado para dispositivos OSA ahora está en el modo de capa 2. Para seguir usando definiciones antiguas de ifcfg que dependen del modo predeterminado de capa 3 anterior, agregue layer2=0 al parámetro OPTIONS.
/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:
  1. 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 es 0.0.0600, el write_device_bus_id es 0.0.0601, y el data_device_bus_id es 0.0.0602:
    # cio_ignore -r 0.0.0600,0.0.0601,0.0.0602
  2. 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
  3. Verifique el estado del dispositivo de red:
    # lsqeth
  4. Ahora puede iniciar la nueva interfaz:
    # ifup enccw0.0.0600
  5. 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)
  6. 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
  7. 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
  8. 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: enccwID_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

  1. Cargar el controlador de dispositivo:
    # modprobe lcs
  2. 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
  3. 0Crear el grupo de dispositivo:
    # echo read_device_bus_id,write_device_bus_id > /sys/bus/ccwgroup/drivers/lcs/group
  4. 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.
  5. Establezca el dispositivo en línea:
    # echo 1 > /sys/bus/ccwgroup/drivers/lcs/read_device_bus_id/online
  6. 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:
  1. Cree un script de configuración como un archivo en /etc/sysconfig/network-scripts/ con un nombre como 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. 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
  2. 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 opcional OPTIONS. Para conocer la sintaxis, consulte Sección 17.3.1.3, “Adición de un dispositivo qeth de forma persistente”.
  3. Establezca el parámetro DEVICE así:
    DEVICE=enccwbus_ID
  4. 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:
  1. 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
  2. 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