17.3. Adicionando um Dispositivo de Rede
Os módulos de driver de dispositivos de rede são carregados automaticamente por udev.
Você pode adicionar uma interface de rede no IBM System z de forma dinâmica ou de forma persistente.
- Dinamicamente
- Carregar o driver do dispositivo
- Remova os dispositivos de rede da lista dos dispositivos ignorados.
- Criar o dispositivo de grupo.
- Configurar o dispositivo
- Trazer o dispositivo online.
- Persistentemente
- Criar um script de configuração
- Ativar a interface
As seções a seguir fornecem informações básicas para cada tarefa de cada driver de dispositivo de rede do IBM System z. Seção 17.3.1, “Adicionando um Dispositivo
qeth
” descreve como adicionar o dispositivo qeth para uma instância existente do Red Hat Enterprise Linux. Seção 17.3.2, “Adicionando um Dispositivo de LCS” descreve como adicionar um dispositivo lcs à uma instância existente do Red Hat Enterprise Linux.
17.3.1. Adicionando um Dispositivo qeth
O driver de dispositivo de rede
qeth
, suporta os recursos System z OSA-Express no modo QDIO, HiperSockets, convidado z/VM LAN, e z/VM VSWITCH.
O driver do dispositivo
qeth
atribui o mesmo nome de interface para os dispositivos Ethernet e Hipersockets: enccw
bus_ID. O ID de barra é composto pelo ID do subsistema do canal, ID do conjunto de subcanal, e número de dispositivo, por exemplo enccw0.0.0a00
.
17.3.1.1. Adicionando um Dispositivo qeth
Dinamicamente
Para adicionar um dispositivo
qeth
de forma dinâmica, siga estes passos:
- Determine se os módulos de driver de dispositivo de
qeth
são carregados. O exemplo a seguir mostra os módulos deqeth
carregados:# 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
Se o output do comandolsmod
mostra que os módulosqeth
não foram carregados, você deve executar o comandomodprobe
para carregá-los:# modprobe qeth
- Use o recurso
cio_ignore
para remover os canais de rede da lista de dispositivos ignorados e torná-los visíveis ao Linux:# cio_ignore -r read_device_bus_id,write_device_bus_id,data_device_bus_id
Substitua read_device_bus_id,write_device_bus_id,data_device_bus_id pelos três IDs de barramento de dispositivo, representando um dispositivo de rede. Por exemplo, se o read_device_bus_id é0.0.f500
, o write_device_bus_id é0.0.f501
, e o data_device_bus_id é0.0.f502
:# cio_ignore -r 0.0.f500,0.0.f501,0.0.f502
- Use o znetconf para tocar e listar as configurações de candidato para os dispositivos de rede:
# 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
- Selecione a configuração que você deseja trabalhar e usar o znetconf para aplicar a configuração e para colocar o dispositivo de grupo configurado online como o dispositivo de rede.
# znetconf -a f500 Scanning for network devices... Successfully configured device 0.0.f500 (enccw0.0.f500)
- Como forma alternativa, você também pode passar argumentos que são configurados no dispositivo de grupo antes que seja definido online:
# znetconf -a f500 -o portname=myname Scanning for network devices... Successfully configured device 0.0.f500 (enccw0.0.f500)
Agora você pode continuar a configurar a interface de redeenccw0.0.f500
.
Como forma alternativa, você pode usar os atributos
sysfs
para definir o dispositivo online como se segue:
- Crie um dispositivo de grupo
qeth
:# echo read_device_bus_id,write_device_bus_id,data_device_bus_id > /sys/bus/ccwgroup/drivers/qeth/group
Por exemplo:# echo 0.0.f500,0.0.f501,0.0.f502 > /sys/bus/ccwgroup/drivers/qeth/group
- Em seguida, verifique se o dispositivo de grupo
qeth
foi criado apropriadamente procurando pelo canal de leitura:# ls /sys/bus/ccwgroup/drivers/qeth/0.0.f500
Você também pode configurar parâmetros e funcionalidades adicionais, dependendo da maneira como configurar seu sistema e das funcionalidades que precisar, tais como:portno
layer2
portname
- Coloque o dispositivo online ao gravar
1
para o atributosysfs
online:# echo 1 > /sys/bus/ccwgroup/drivers/qeth/0.0.f500/online
- Então verifique o estado do dispositivo:
# cat /sys/bus/ccwgroup/drivers/qeth/0.0.f500/online
1
O valor retornado1
indica que o dispositivo está online, enquanto o valor0
indica que o dispositivo está offline. - Encontre o nome da interface que foi atribuído ao dispositivo:
# cat /sys/bus/ccwgroup/drivers/qeth/0.0.f500/if_name
enccw0.0.f500
Agora você pode continuar a configurar a interface de redeenccw0.0.f500
.O comando a seguir do pacote s390utils demonstra as configurações mais importantes de seu dispositivosysfs
:# 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 isolation : none
17.3.1.2. Removendo um Dispositivo qeth Dinamicamente
Para remover um dispositivo
qeth
use o utilitário znetconf. Por exemplo:
- Use o utilitário
znetconf
para apresentar-lhe todos os dispositivos de rede 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 enccw0.0.09a0 online 0.0.f500,0.0.f501,0.0.f502 1731/01 GuestLAN QDIO 00 qeth enccw0.0.f500 online
- Selecione o dispositivo de rede para ser removido e execute o
znetconf
para definir o dispositivo offline e desagrupar o dispositivo de grupoccw
> group device.# 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 (enccw0.0.f500)
- Verifique o sucesso da remoção:
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 enccw0.0.09a0 online
17.3.1.3. Adicionando um dispositivo qeth
de forma persistente
Para realizar um novo dispositivo de
qeth
persistente você precisar criar um arquivo de configuração para sua nova interface Os arquivos de configuração das interfaces de rede estão localizados no diretório /etc/sysconfig/network-scripts/
.
Os arquivos de configuração de rede usam o esquema de nomes
ifcfg-dispositivo
, onde dispositivo é o valor encontrado no arquivo if_name
no dispositivo de grupo qeth
que foi criado anteriormente, por exemplo, é enccw0.0.09a0
. O comandos cio_ignore
são manuseados de forma transparente para configurações de dispositivo persistentes e você não precisa liberar dispositivos da lista ignorar manualmente.
Se já houver um arquivo de configuração definido para outro dispositivo do mesmo tipo, é mais fácil copiá-lo com o novo nome e depois editá-lo:
# cd /etc/sysconfig/network-scripts # cp ifcfg-enccw0.0.09a0 ifcfg-enccw0.0.0600
Para conhecer as IDs de seus dispositivos de rede, use o utilitário 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
Se você não tem um dispositivo similar definido, deve criar um novo arquivo. Use este exemplo do
/etc/sysconfig/network-scripts/ifcfg-0.0.09a0
como uma template.
# 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
Edite o novo arquivo
ifcfg-0.0.0600
como se segue:
- Modifique as instruções de
DEVICE
(dispositivo) para refletirem o conteúdo do arquivoif_name
de seu grupoccw
. - Modifique as instruções de
IPADDR
para refletirem o endereço IP da sua nova interface. - Modifique as instruções do
NETMASK
conforme necessário. - Se você deseja que sua nova interface seja ativada no momento da inicialização (boot time), garanta que o
ONBOOT
esteja definido comoyes
. - Garanta que as instruções de
SUBCHANNELS
coincidam com os endereços do hardware de seu dispositivo qeth. - Modifique a instrução
PORTNAME
ou deixe-o fora se não for necessário em seu ambiente. - Você pode adicionar qualquer atributo
sysfs
válido e seu valor ao parâmetroOPTIONS
. O programa de instalação do Red Hat Enterprise Linux atualmente usa isto para configurar o modo de camada (layer2
) e o número de porta relativa (portno
) dos dispositivos doqeth
.O driver do dispositivoqeth
default para dispositivo ISA é agora o modo layer 2. Para continuar o uso de definiçõesifcfg
antigo que conta com o default anterior do modo de layer 3, adicione olayer2=0
ao 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
Mudanças ao arquivo
ifcfg
se tornam efetiva somente após a reinicialização do sistema ou após a adição dinâmica dos novos canais de dispositivo de rede novo, mudando a configuração de E/S do sistema (por exemplo, ao anexar sob o z/VM). Como forma alternativa, você pode disparar a ativação de um arquivo ifcfg
para canais de rede que não estavam ativos ainda, executando os seguintes comandos:
- Use o recurso
cio_ignore
para remover os canais de rede da lista de dispositivos ignorados e torná-los visíveis ao Linux:# cio_ignore -r read_device_bus_id,write_device_bus_id,data_device_bus_id
Substitua read_device_bus_id,write_device_bus_id,data_device_bus_idpelos três IDs de barramento de dispositivo, representando um dispositivo de rede. Por exemplo, se o read_device_bus_id é0.0.0600
, o write_device_bus_id é0.0.0601
, e o data_device_bus_id é0.0.0602
:# cio_ignore -r 0.0.0600,0.0.0601,0.0.0602
- Para disparar o evento que ativa a mudança, emita:
echo add > /sys/bus/ccw/devices/read-channel/uevent
Por exemplo:echo add > /sys/bus/ccw/devices/0.0.0600/uevent
- Verifique o status do dispositivo de rede:
# lsqeth
- Agora você pode iniciar a nova interface:
# ifup enccw0.0.0600
- Verifique o status da interface:
# ifconfig enccw0.0.0600 enccw0.0.0600 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 o roteamento para a nova 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 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 suas alterações usando o comando
ping
na porta de comunicação (gateway) ou outro host na subrede do novo dipositivo:# 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
- Se as informações de roteamento default foram alteradas, você também deve atualizar o
/etc/sysconfig/network
de acordo.
17.3.2. Adicionando um Dispositivo de LCS
O driver de dispositivo LAN channel station (LCS) suporta os recursos de 1000Base-T Ethernet no OSA-Express2 e OSA-Express 3
O driver do dispositivo
LCS
atribui o seguinte nome de interface para os dispositivos OSA-Express Fast Ethernet e Gigabit Ethernet: enccw
bus_ID. O ID de barra é composto pelo ID do subsistema do canal, ID do conjunto de subcanal, e número de dispositivo, por exemplo enccw0.0.0a00
.
17.3.2.1. Adicionando o Dispositivo LCS de forma Dinâmica
- Carregue o driver do dispositivo:
# modprobe lcs
- Use o recurso
cio_ignore
para remover os canais de rede da lista de dispositivos ignorados e torná-los visíveis ao Linux:# cio_ignore -r read_device_bus_id,write_device_bus_id
Replace read_device_bus_id and write_device_bus_id with the two device bus IDs representing a network device. For example:# cio_ignore -r 0.0.09a0,0.0.09a1
- Crie o dispositivo de grupo:
# echo read_device_bus_id,write_device_bus_id > /sys/bus/ccwgroup/drivers/lcs/group
- Configure o dispositivo. Placas OSA podem oferecer até 16 portas para um único CHPID. Por default, o dispositivo de grupo LCS usa a porta
0
. Para usar uma porta diferente, use um comando similar ao seguinte:# echo portno > /sys/bus/ccwgroup/drivers/lcs/device_bus_id/portno
Substitua portno pelo número de porta que você deseja usar. - Traga o dispositivo online:
# echo 1 > /sys/bus/ccwgroup/drivers/lcs/read_device_bus_id/online
- Para descobrir qual o nome do dispostivo de rede que foi atribuído, insira o 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. Adicionando um Dispositivo LCS de forma Persistente.
Os comandos
Cio_ignore
são manuseados de forma transparente para configurações de dispositivo persistentes e você não precisa liberar os dispositivos de ignorar a lista manualmente.
Para adicionar um dispositivo LCS de forma persistente, siga estes passos:
- Crie um script de configuração como arquivo em
/etc/sysconfig/network-scripts/
com um nome como oifcfg-device
, onde device é o valor encontrado no arquivoif_name
no dispositivo de grupoqeth
que foi criado anteriormente, por exemploenccw0.0.09a0
. O arquivo deve se parecer com o seguinte:/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 o valor de
PORTNAME
para refletir o número da porta do LCS (portno
) que você deseja usar. Você pode adicionar qualquer atributo do sysfs do lcs válido e seu valor ao parâmetroOPTIONS
opcional. Consulte o Seção 17.3.1.3, “Adicionando um dispositivoqeth
de forma persistente”. - Defina o parâmetro
DEVICE
como se segue:DEVICE=enccwbus_ID
- Emita um comando
ifup
para ativar o dispostivo:# ifup enccwbus_ID
Muda para um arquivo
ifcfg
se torna efetivo somente após a reinicialização do sistema. Você pode disparar a ativação de um arquivo ifcfg
para canais de rede, executando os seguintes comandos:
- Use o comando
cio_ignore
para remover o adaptador do dispositivo LCS da lista dos dispositivos ignorados e torná-los visíveis ao Linux.# cio_ignore -r read_device_bus_id,write_device_bus_id
Substitua read_device_bus_id e write_device_bus_id pelos IDs de barramento de dispositivo do dispositivo LCS. Por exemplo:# cio_ignore -r 0.0.09a0,0.0.09a1
- Para disparar o evento que ativa a mudança, emita:
echo add > /sys/bus/ccw/devices/read-channel/uevent
Por exemplo:echo add > /sys/bus/ccw/devices/0.0.09a0/uevent
17.3.3. Configurando um dispositivo de rede System z para um sistema de arquivos root de rede
Para adicionar um dispositivo de rede que é necessário para acessar o sistema de arquivo do root, você precisa mudar somente as opções de inicialização. As opções do boot podem estar em um arquivo de parâmetro (consulte o Capítulo 18, Arquivos de Parâmetro e Configuração no IBM System z) ou parte de um
zipl.conf
em um DASD ou FCP-anexado SCSI LUN preparado com o carregador de inciialização do zipl. Não há necessidade de recriar o initramfs.
Dracut, o sucessor do mkinitrd que fornece a funcionalidade no initramfs que por sua vez substitui initrd, fornece um parâmetro de inicialização para ativar os dispositivos de rede em System z no início do processo de inicialização:
rd_znet=
.
Como entrada, este parâmetro leva uma lista separado por vírgula, do
NETTYPE
(qeth, lcs, ctc), dois (lcs, ctc) ou três (qeth) IDs de barramento de dispositivo, e parâmetros opcionais adicionais consistindo de pares de valor de chave, correspondendo aos atributos do sysfs do dispositivo de rede. Este parâmetro configura e ativa o hardware de rede do System z. Os endereços de IP da configuração e outras redes específicas funcionam como outras plataformas. Consulte a documentação do dracut para mais detalhes.
Os comandos cio_ignore para canais de rede são manuseados de forma transparente na inicialização.
Exemplo de opções de boot para um sistema de arquivo do root acessado pela rede através do 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