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
- 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 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:
- 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 comandolsmod
muestra que los módulos qeth no están cargados, debe volver a ejecutar el comandomodprobe
para cargarlos:# modprobe qeth
- 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 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 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
- 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)
- 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 redeth1
.
De modo alternativo, puede usar los atributos sysfs para establecer el dispositivo en línea como sigue:
- 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
- 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. - 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
- 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
eth1
Ahora puede proseguir a configurar la interfaz de redeth1
.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:
- 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
- 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)
- 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í:
- Modifique la sentencia
DEVICE
para reflejar el contenido del archivoif_name
desde su ccwgroup. - 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 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ñadalayer2=0
al parámetro SOPTIONS
.
/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:
- 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 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 eth1
- 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)
- 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
- 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
- Si la información de rutas predeterminadas ha cambiado, debe actualizar
/etc/sysconfig/network
de acuerdo con ello.