Red Hat Training
A Red Hat training course is available for Red Hat Enterprise Linux
25.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 25.3.1, “Adicionando um Dispositivo qeth” descreve como adicionar o dispositivo qeth para uma instância existente do Red Hat Enterprise Linux. Seção 25.3.2, “Adicionando um Dispositivo de LCS” descreve como adicionar um dispositivo lcs à uma instância existente do Red Hat Enterprise Linux. Seção 25.3.3, “Mapeando subcanais e nomes de dispositivos de rede.” descreve como a persistência de nomes de dispositivos de rede funcionam. Seção 25.3.4, “Configurando um Dispositivo de Rede System z para o Sistema de Arquivo do Root de Rede” descreve como configurar um dispositivo de rede para usar com o sistema de arquivo root que é somente acessível através da rede.
25.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.
Baseado no tipo de interface a adicionar, o driver do qeth atribui um dos três nomes básicos de interface:
- hsin para dispositivos HiperSocket
- ethn para recursos de Ethernet
O valor n é um número inteiro que identifica unicamente o dispositivo. O n é
0
para o primeiro tipo de dispositivo, 1
para o segundo, e assim por diante.
25.3.1.1. Adicionando um dispositivo de qeth de forma dinâmica
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 de qeth 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ódulos não foram carregados, você deve executar o comandomodprobe
para carregá-los:# modprobe qeth
- Use o comando
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 comando 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 (eth1)
- 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 (eth1)
Agora você pode continuar a configurar a rede de interfaceeth1
.
Como forma alternativa, você pode usar os atributos sysfs para definir o dispositivo online como se segue:
- Crie o 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
Para maiores informações sobre parâmetros adicionais, consulte o capítulo do driver de dispositivo de qeth em Linux on System z Device Drivers, Features, and Commands on Red Hat Enterprise Linux 6. - Coloque o dispositivo online ao gravar 1 para o atributo sysfs 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
eth1
Agora você pode continuar a configurar a rede de interfaceeth1
.O comando a seguir do pacote s390utils demonstra as configurações mais importantes de seu 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. Removendo um dispositivo qeth dinamicamente
Para remover um dispositivo qeth, use a ferramenta znetconf. Por exemplo:
- Use o comando
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 eth0 online 0.0.f500,0.0.f501,0.0.f502 1731/01 GuestLAN QDIO 00 qeth eth1 online
- Selecione o dispositivo de rede para ser removido e dispara o
znetconf
para definir o dispositivo offline e desagrupar o 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 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 eth0 online
25.3.1.3. Adicionar 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 em
/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. Neste exemplo, é eth1
. cio_ignore
é manuseado 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.
# cd /etc/sysconfig/network-scripts # cp ifcfg-eth0 ifcfg-eth1
Se você não tem um dispositivo similar definido, deve criar um. Use este exemplo do
ifcfg-eth0
como uma template.
/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 o novo arquivo ifcfg-eth1 como se segue:
- Modifique as instruções de
DEVICE
(dispositivo) para refletirem o conteúdo do arquivoif_name
de seu grupo ccw. - Modifique as instruções de
IPADDR
para refletirem o endereço IP da sua nova interface. - Modifique as instruções de N
ETMASK(
máscara de rede) conforme necessário. - Se você deseja que sua nova interface seja ativada no momento da inicialização (boot time), garanta que
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âmetro
OPTIONS
. O instalador 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 do qeth.O driver do dispositivo qeth default para dispositivo ISA é agora o modo layer 2. Para continuar o uso de definições ifcfg antigo que conta com o default anterior do modo de layer 3, adicione olayer2=0
ao parâmetroOPTION
S.
/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
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 comando
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 eth1
- Verifique o status da interface:
# 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 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 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 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.