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
    1. Carregar o driver do dispositivo
    2. Remova os dispositivos de rede da lista dos dispositivos ignorados.
    3. Criar o dispositivo de grupo.
    4. Configurar o dispositivo
    5. Trazer o dispositivo online.
  • Persistentemente
    1. Criar um script de configuração
    2. 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:
  1. 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 comando lsmod mostra que os módulos não foram carregados, você deve executar o comando modprobe para carregá-los:
    # modprobe qeth
  2. 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
  3. 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
  4. 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)
  5. 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 interface eth1.
Como forma alternativa, você pode usar os atributos sysfs para definir o dispositivo online como se segue:
  1. 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
  2. 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.
  3. Coloque o dispositivo online ao gravar 1 para o atributo sysfs online:
    # echo 1 > /sys/bus/ccwgroup/drivers/qeth/0.0.f500/online
  4. Então verifique o estado do dispositivo:
    # cat /sys/bus/ccwgroup/drivers/qeth/0.0.f500/online
    1
    O valor retornado 1 indica que o dispositivo está online, enquanto o valor 0 indica que o dispositivo está offline.
  5. 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 interface eth1.
    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:
  1. 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
  2. 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)
  3. 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:
  1. Modifique as instruções de DEVICE (dispositivo) para refletirem o conteúdo do arquivo if_name de seu grupo ccw.
  2. Modifique as instruções de IPADDR para refletirem o endereço IP da sua nova interface.
  3. Modifique as instruções de NETMASK(máscara de rede) conforme necessário.
  4. Se você deseja que sua nova interface seja ativada no momento da inicialização (boot time), garanta que ONBOOT esteja definido como yes.
  5. Garanta que as instruções de SUBCHANNELS coincidam com os endereços do hardware de seu dispositivo qeth.
  6. Modifique a instrução PORTNAME ou deixe-o fora se não for necessário em seu ambiente.
  7. 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 o layer2=0ao parâmetro 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
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:
  1. 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
  2. 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
  3. Verifique o status do dispositivo de rede:
    # lsqeth
  4. Agora você pode iniciar a nova interface:
    # ifup eth1
  5. 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)
  6. 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
  7. 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
  8. Se as informações de roteamento default foram alteradas, você também deve atualizar o /etc/sysconfig/network de acordo.