Capítulo 17. Configurando um sistema Linux instalado em uma instância IBM System z

Para mais informações sobre o Linux em System z, veja as publicações listadas em Capítulo 19, Referências do IBM System z. Algumas das tarefas mais comuns estão descritas aqui.

17.1. Adicionando DASDs

Veja a seguir um exemplo de como adicionar um volume DASD online, formatá-lo e tornar a mudança persistente:

Nota

Garanta que o dispositivo esteja conectado ou ligado ao sistema Linux se estiver rodando sob a z/VM.
CP ATTACH EB1C TO *
Para ligar um mini disco àquele que você possui acesso, emita, por exemplo:
CP LINK RHEL7X 4B2E 4B2E MR 
DASD 4B2E LINKED R/W
Veja o z/VM: Comandos CP e Referências de Utilitários, SC24-6175 para detalhes sobre os comandos.

17.1.1. Configurando DASDs de forma dinâmica online

Para definir o DASD online, siga estes passos:
  1. Use o recurso cio_ignore para remover o DASD da lista dos dispositivos ignorados e fazê-los visíveis ao Linux:
    # cio_ignore -r device_number
    substitua o número_dispositivo pelo número do dispositivo do DASD. Por exemplo:
    # cio_ignore -r 4b2e
  2. Defina o dispositivo online. Use um comando da seguinte forma:
    # chccwdev -e device_number
    substitua o número_dispositivo pelo número do dispositivo do DASD. Por exemplo:
    # chccwdev -e 4b2e
    Como forma alternativa, você pode definir o dispositivo online usando os atributos de sysfs:
    1. Use o comando cd para mudar o diretório /sys/ que representa aquele volume:
      # cd /sys/bus/ccw/drivers/dasd-eckd/0.0.4b2e/
      # ls -l
      total 0
      -r--r--r--  1 root root 4096 Aug 25 17:04 availability
      -rw-r--r--  1 root root 4096 Aug 25 17:04 cmb_enable
      -r--r--r--  1 root root 4096 Aug 25 17:04 cutype
      -rw-r--r--  1 root root 4096 Aug 25 17:04 detach_state
      -r--r--r--  1 root root 4096 Aug 25 17:04 devtype
      -r--r--r--  1 root root 4096 Aug 25 17:04 discipline
      -rw-r--r--  1 root root 4096 Aug 25 17:04 online
      -rw-r--r--  1 root root 4096 Aug 25 17:04 readonly
      -rw-r--r--  1 root root 4096 Aug 25 17:04 use_diag
    2. Em seguida, verifique se este já está online:
      # cat online
      0
    3. Se não estiver online, submeta o seguinte comando para trazê-lo online:
      # echo 1 > online
      # cat online
      1
  3. Verifique qual nódulo do dispositivo de bloco está sendo acessado:
    # ls -l
    total 0
    -r--r--r--  1 root root 4096 Aug 25 17:04 availability
    lrwxrwxrwx  1 root root    0 Aug 25 17:07 block -> ../../../../block/dasdb
    -rw-r--r--  1 root root 4096 Aug 25 17:04 cmb_enable
    -r--r--r--  1 root root 4096 Aug 25 17:04 cutype
    -rw-r--r--  1 root root 4096 Aug 25 17:04 detach_state
    -r--r--r--  1 root root 4096 Aug 25 17:04 devtype
    -r--r--r--  1 root root 4096 Aug 25 17:04 discipline
    -rw-r--r--  1 root root    0 Aug 25 17:04 online
    -rw-r--r--  1 root root 4096 Aug 25 17:04 readonly
    -rw-r--r--  1 root root 4096 Aug 25 17:04 use_diag
    Conforme exibido neste exemplo, o dispositivo 4B2E está sendo acessado como /dev/dasdb.
Estas instruções definem um DASd online para a sessão atual, mas ela não é persistente nas reinicializações. Para instruções sobre como definir o DASD online de forma persistente, consulte o Seção 17.1.3, “Configurando DASDs de forma persistente online.”. Quando você trabalhar com DASDs, use os links simbólicos do dispositivo persistente sob /dev/disk/by-path/.

17.1.2. Preparando um Novo DASD com Formatação de Baixo Nível

Depois que o disco estiver online, mude para o diretório /root e formate o dispositivo em baixo nível. Isto é necessário somente uma vez para um DASD durante seu tempo inteiro de vida:
# cd
# dasdfmt -b 4096 -d cdl -p /dev/disk/by-path/ccw-0.0.4b2e 
Drive Geometry: 10017 Cylinders * 15 Heads =  150255 Tracks 

I am going to format the device /dev/disk/by-path/ccw-0.0.4b2e in the following way: 
   Device number of device : 0x4b2e 
   Labelling device        : yes 
   Disk label              : VOL1 
   Disk identifier         : 0X4B2E
   Extent start (trk no)   : 0 
   Extent end (trk no)     : 150254 
   Compatible Disk Layout  : yes 
   Blocksize               : 4096 

--->> ATTENTION! <<--- 
All data of that device will be lost. 
Type "yes" to continue, no will leave the disk untouched: yes
cyl    97 of  3338 |#----------------------------------------------|   2%
Quando a barra de progresso atingir o final e a formatação estiver completa, use dasdfmt para imprimir o seguinte resultado:
Rereading the partition table... 
Exiting...
Agora use o fdasd para particionar o DASD. Você pode criar até três partições no DASD. Em nosso exemplo aqui, criamos uma geração de partição no disco todo:
# fdasd -a /dev/disk/by-path/ccw-0.0.4b2e
auto-creating one partition for the whole disk...
writing volume label...
writing VTOC...
checking !
wrote NATIVE!
rereading partition table...
Após um DASD estar online (formatado em baixo nível), ele pode ser usado como qualquer outro disco sob o Linux. Por exemplo, você pode criar os sistemas de arquivo, os volumes físicos do LVM, ou espaço de swap em suas partições, por exemplo /dev/disk/by-path/ccw-0.0.4b2e-part1. Nunca use o dispositivo DASD cheio (dev/dasdb) para qualquer coisa a não ser para comandos dasdfmt e fdasd. Se você desejar usar o DASD todo, crie uma partição gerando todo o drive como no exemplo fdasd acima.
Para adicionar outros discos mais tarde sem quebrar entradas existentes em, por exemplo /etc/fstab, use os links simbólicos de dispositivo persistente sob o /dev/disk/by-path/.

17.1.3. Configurando DASDs de forma persistente online.

As instruções acima descritas como ativar o DASDs de forma dinâmica em um sistema em execução. No entanto, tais mudanças não são persistentes e não sobrevivem à uma reinicialização. Fazer mudanças à configuração do DASD persistente em seu sistema Linux, depende se o DASD pertence ao sistema de arquivo root. Aqueles DASDs necessários para o sistema de arquivo root, precisam ser ativados muito antes durante o processo de inicialização pelo initramfs para ser capaz de montar o sistema de arquivo root.
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.

17.1.3.1. Os DASDs que fazem parte do sistema de arquivo root.

O único arquivo que você precisa modificar para adicionar os DASDs que fazem parte do sistema de arquivo root é o /etc/zipl.conf. Depois execute a ferramenta de carregador de inicialização zipl. Não há necessidade de recriar o initramfs.
Existe uma opção de inicialização para ativar o DASDs antes no processo de inicialização: rd_dasd=. Esta opção leva uma lista com separação de vírgulas como entrada. A lista contém um ID de barra de dispositivo e parâmetros adicionais opcionais, consistindo de pares de valor de chave que correspondem aos atributos do DASD sysfs
Abaixo, segue um exemplo zipl.conf para um sistema que usa volumes físicos em partições de dois DASDs para um grupo de volume LVM vg_devel1 que contém um volume lógico lv_root para o sistema de arquivo root.
[defaultboot]
default=linux
target=/boot/
[linux]
        image=/boot/vmlinuz-2.6.32-19.el7.s390x
        ramdisk=/boot/initramfs-2.6.32-19.el7.s390x.img
        parameters="root=/dev/mapper/vg_devel1-lv_root rd.dasd=0.0.0200,use_diag=0,readonly=0,erplog=0,failfast=0 rd.dasd=0.0.0207,use_diag=0,readonly=0,erplog=0,failfast=0  rd_LVM_LV=vg_devel1/lv_root rd_NO_LUKS rd_NO_MD rd_NO_DM LANG=en_US.UTF-8 SYSFONT=latarcyrheb-sun16 KEYTABLE=us cio_ignore=all,!condev"
Suponhamos que você deseja adicionar outro volume físico em uma partição de um terço do DASD com o ID da barra de dispositivo 0.0.202b. Para fazer isto, adicione o rd_dasd=0.0.202b para a linha dos parâmetros de seu kernel de inicialização em zipl.conf:
[defaultboot]
default=linux
target=/boot/
[linux]
        image=/boot/vmlinuz-2.6.32-19.el7.s390x
        ramdisk=/boot/initramfs-2.6.32-19.el7.s390x.img
        parameters="root=/dev/mapper/vg_devel1-lv_root rd.dasd=0.0.0200,use_diag=0,readonly=0,erplog=0,failfast=0 rd.dasd=0.0.0207,use_diag=0,readonly=0,erplog=0,failfast=0 rd.dasd=0.0.202b  rd_LVM_LV=vg_devel1/lv_root rd_NO_LUKS rd_NO_MD rd_NO_DM LANG=en_US.UTF-8 SYSFONT=latarcyrheb-sun16 KEYTABLE=us cio_ignore=all,!condev"
Execute zipl para salvar as alteracões do /etc/zipl.conf para a próxima IPL:
# zipl -V
Using config file '/etc/zipl.conf'
Target device information
  Device..........................: 5e:00
  Partition.......................: 5e:01
  Device name.....................: dasda
  DASD device number..............: 0201
  Type............................: disk partition
  Disk layout.....................: ECKD/compatible disk layout
  Geometry - heads................: 15
  Geometry - sectors..............: 12
  Geometry - cylinders............: 3308
  Geometry - start................: 24
  File system block size..........: 4096
  Physical block size.............: 4096
  Device size in physical blocks..: 595416
Building bootmap in '/boot/'
Building menu 'rh-automatic-menu'
Adding #1: IPL section 'linux' (default)
  kernel image......: /boot/vmlinuz-2.6.32-19.el7.s390x
  kernel parmline...: 'root=/dev/mapper/vg_devel1-lv_root rd.dasd=0.0.0200,use_diag=0,readonly=0,erplog=0,failfast=0 rd.dasd=0.0.0207,use_diag=0,readonly=0,erplog=0,failfast=0 rd.dasd=0.0.202b rd_LVM_LV=vg_devel1/lv_root rd_NO_LUKS rd_NO_MD rd_NO_DM LANG=en_US.UTF-8 SYSFONT=latarcyrheb-sun16 KEYTABLE=us cio_ignore=all,!condev'
  initial ramdisk...: /boot/initramfs-2.6.32-19.el7.s390x.img
  component address: 
    kernel image....: 0x00010000-0x00a70fff 
    parmline........: 0x00001000-0x00001fff 
    initial ramdisk.: 0x02000000-0x022d2fff 
    internal loader.: 0x0000a000-0x0000afff 
Preparing boot device: dasda (0201).
Preparing boot menu
  Interactive prompt......: enabled 
  Menu timeout............: 15 seconds
  Default configuration...: 'linux' 
Syncing disks...
Done.

17.1.3.2. Os DASDs que não fazem parte do sistema de arquivo root.

O DASD que não faz parte do sistema de arquivo root, ou seja, data disks, são configurados de forma persistente no arquivo /etc/dasd.conf. Ele contém um DASD por linha. Cada linha começa com a barra de dispositivo de um DASD. Alternativamente, cada linha pode continuar com opções separadas por espaço ou caracteres de aba. Opções consistem em pares de valor de chave onde a chave e valor são separados por um sinal igual.
A chave corresponde à qualquer atributo sysfs válido, um DASD pode ter. O valor será gravado no atributo do sysfs de chave. Entradas em /etc/dasd.conf são ativadas e configuradas por udev quando um DASD é adicionado ao sistema. Durante a inicialização, todos os DASDs visíveis ao sistema são adicionados e disparam o udev.
Exemplo de conteúdo do /etc/dasd.conf:
0.0.0207
0.0.0200 use_diag=1 readonly=1
As modificações do /etc/dasd.conf se tornam efetivos somente após a reinicialização do sistema ou após a adição da dinâmica de um novo DASD por mudar a configuraçãod e E/S do sistema (ou seja, o DASD é anexado sob o z/VM). Como forma alternativa, você pode disparar a ativação de uma nova entrada em /etc/dasd.conf para um DASD que não estava ativa anteriormente, executando os seguintes comandos:
  1. Use o recurso cio_ignore para remover o DASD da lista dos dispositivos ignorados e fazê-los visíveis ao Linux:
    # cio_ignore -r device_number
    Por exemplo:
    # cio_ignore -r 021a
  2. Dispara a ativação gravando no atributo uevent do dispositivo:
    echo add > /sys/bus/ccw/devices/device-bus-ID/uevent
    Por exemplo:
    echo add > /sys/bus/ccw/devices/0.0.021a/uevent