25.3. Añadir 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 proporcionan información básica para cada tarea de cada controlador de dispositivo de red de IBM System z. Sección 25.3.1, “Añadir un dispositivo qeth” describe cómo añadir un dispositivo qeth a una instancia de Red Hat Enterprise Linux. Sección 25.3.2, “Añadir un dispositivo LCS” describe cómo añadir un dispositivo lcs a una instancia existente de Red Hat Enterprise Linux. Sección 25.3.3, “Asignar subcanales y nombres de dispositivos de red” describe cómo funcionan los nombres de dispositivo de red. Sección 25.3.4, “Configuración de un dispositivo de red System z para un sistema de archivos raíz de red” describe cómo configurar un dispositivo de red para usar con un sistema de archivos raíz que sólo es accesible a través de la red.

25.3.1. Añadir un dispositivo qeth

El controlador de dispositivo qeth soporta System z funcionalidades OSA-Express en modoQDIO, HiperSockets, z/VM guest LAN, y z/VM VSWITCH.
Basado en el tipo de interfaz que está añadiendo, el controlador de dispositivo qeth asigna alguno de los nombres de interfaz de base:
  • hsin para dispositivos HiperSockets
  • ethn para funcionalidades de Ethernet
El valor n es un entero que identifica únicamente el dispositivo. n es 0 para el primer dispositivo de ese tipo, 1 para el segundo y así sucesivamente.

25.3.1.1. Adición dinámica de un dispositivo qeth

Para añadir un dispositivo qeth de forma dinámica, siga los siguientes pasos:
  1. Determinar si los módulos del controlador de dispositivo qeth están cargados. El siguiente ejemplo muestra los 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 la salida del comando lsmod muestra que los módulos qeth no están cargados, debe volver a ejecutar el comando modprobe para cargarlos:
    # modprobe qeth
  2. Use el comando cio_ignore para remover los canales de red de la lista de dispositivos ignorados y hacerlos 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 el comando znetconf para detectar y listar las configuraciones de candidatos para dispositivos de red.
    # 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. 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
    Scanning for network devices...
    Successfully configured device 0.0.f500 (eth1)
  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
    Scanning for network devices...
    Successfully configured device 0.0.f500 (eth1)
    Ahora puede proseguir a configurar la interfaz de red eth1.
De modo alternativo, puede usar los atributos sysfs para establecer el dispositivo en línea como sigue:
  1. Crear el grupo de dispositivo 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. Luego, verifique que el grupo de dispositivos qeth haya sido creado correctamente al buscar 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
    Para obtener información sobre los parámetros adicionales, consulte el capítulo sobre el controlador de dispositivo qeth Linux en controladores de dispositivos System z, funcionalidades y comandos en Red Hat Enterprise Linux 6.
  3. Traiga el dispositivo en línea al escribir 1 en el atributo sysfs en línea:
    # 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
    eth1
    Ahora puede proseguir a configurar la interfaz de red eth1.
    El siguiente comando del paquete s390utils muestra las configuraciones más importantes de su dispositivo 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. Remover el dispositivo qeth en forma dinámica

Para remover el dispositivo, use la herramienta znetconf. Por ejemplo:
  1. Usa el comando znetconf para mostrarle todos los dispositivos de red configurados:
    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
  2. Seleccione el dispositivo de red a ser removido o activado znetconf para establecer el dispositivo fuera de línea y desagrupar el dispositivo de grupo 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)
  3. Verifique el resultado de la remoción:
    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. Adición persistente de un dispositivo qeth

Para crear su nuevo dispositivo qeth necesita crear el archivo de configuración para su nueva interfaz. Los archivos de configuración para las interfaces de red se sitúan en /etc/sysconfig/network-scripts/.
Los archivos de configuración de red utilizan la convención de nombres ifcfg-dispositivo, donde dispositivo es el valor encontrado en el archivo if_name en el dispositivo de grupo qeth que fue creado anteriormente. En este ejemplo es eth1. cio_ignore se maneja de modo transparente para configuraciones de dispositivo persistentes y no es necesario liberar manualmente dispositivos de la lista ignorar.
Si hay un archivo de configuración para otro dispositivo del mismo tipo, la solución más simple es copiarlo al nuevo nombre.
# cd /etc/sysconfig/network-scripts
# cp ifcfg-eth0 ifcfg-eth1
Si no dispone de un dispositivo similar definido, entonces deberá crear uno. Utilice este ejemplo de ifcfg-eth0 como una plantilla.
/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
Edite el nuevo archivo ifcfg-eth1 así:
  1. Modifique la sentencia DEVICE para reflejar el contenido del archivo if_name desde su ccwgroup.
  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 añadir cualquier atributo sysfs válido y su valor para el parámetro OPTIONS. El instalador de Red Hat Enterprise Linux lo utiliza para configurar el modo de capa (layer2) y el número de puerto relativo (portno) de dispositivos qeth.
    El controlador de dispositivo qeth predeterminado para dispositivos OSA es ahora modo de capa 2. Para continuar usando las definiciones ifcfg anteriores que dependen del modo predeterminado de capa 3, añada layer2=0 al parámetro S OPTIONS.
/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
Los cambios a un archivo ifcfg sólo son efectivos después del 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). De modo alterno, puede activar un archivo ifcfg para canales de red los cuales no estaban aún activos, al ejecutar los siguientes comandos:
  1. Use el comando cio_ignore para remover los canales de red de la lista de dispositivos ignorados y hacerlos 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 eth1
  5. Verifique el estado de la interfaz:
    # 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)
  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 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
  7. Verifique sus cambios al ejecutar el comando ping para hacer 'ping' en la puerta de enlace o en 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 of data.
    64 bytes from 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.