Capitolo 25. Configurazione di Linux installato su di una instanza System z

Per maggiori informazioni relative a Linux su System z consultare le pubblicazioni presenti in Capitolo 27, Riferimenti IBM System z. Qui sono presenti alcuni dei compiti più comuni.

25.1. Come aggiungere un DASD

Il seguente è un esempio di come impostare un DASD online, formattarlo, e rendere le modifiche persistenti.

Nota

Assicuratevi che il dispositivo sia collegato al sistema Linux se in esecuzione con z/VM.
CP ATTACH EB1C TO *
Per collegare un dischetto al quale avete accesso emettere per esempio:
CP LINK RHEL6X 4B2E 4B2E MR 
DASD 4B2E LINKED R/W
Consultare z/VM: Riferimento alle utilità e comandi CP, SC24-6175 per informazioni sui comandi.

25.1.1. Impostazione DASD online dinamica

Per impostare un DASD online seguire le fasi di seguito riportate:
  1. Usare il comando cio_ignore per rimuovere il DASD dall'elenco dei dispositivi ignorati e renderli visibili a Linux:
    # cio_ignore -r device_number
    Sostituire device_number con il numero del dispositivo del DASD. Per esempio:
    # cio_ignore -r 4b2e
  2. Impostate il dispositivo online. Usare il comando nel formato seguente:
    # chccwdev -e device_number
    Sostituire device_number con il numero del dispositivo del DASD. Per esempio:
    # chccwdev -e 4b2e
    Alternativamente è possibile impostare il dispositivo online usando gli attributi sysfs:
    1. Usare il comando cd per modificare la directory /sys/ che rappresenta quel 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. Controllare se il dispositivo è già online:
      # cat online
      0
    3. Se ottenete una risposta negativa, modificatelo in modo da essere online:
      # echo 1 > online
      # cat online
      1
  3. Verificate quale blocco devnode è stato accesso come:
    # 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
    Come mostrato in questo esempio il dispositivo 4B2E è stato accesso come /dev/dasdb.
Queste istruzioni impostano un DASD online per la sessione corrente, ma tale impostazione non sarà persistente dopo aver eseguito un riavvio. Per informazioni su come impostare un DASD online in modo persistente consultare Sezione 25.1.3, «Impostazione persistente dei DASD online». Quando lavorate con i DASD usare i link simbolici persistenti del dispositivo in /dev/disk/by-path/.
Maggiori informazioni sono disponibili nel Capitolo DASD in Linux sui Driver del dispositivo System z, Funzioni e comandi su Red Hat Enterprise Linux 6.

25.1.2. Preparazione di un nuovo DASD con un livello basso di formattazione

Una volta impostato il disco online andate nella directory /root e formattate con un livello basso il dispositivo. Per un DASD è necessario eseguire tale operazione una sola volta per tutto il suo ciclo di vita:
# 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 la barra di progresso giunge alla fine e la formattazione è completa dasdfmt stampa il seguente output:
Rereading the partition table... 
Exiting...
Ora usate fdasd per partizionare il DASD. Attenzione, sarà possibile creare fino a tre partizioni. Nel nostro esempio è stata creata una sola partizione estesa su tutto il disco:
# 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...
Per maggiori informazioni consultate il Capitolo relativo al DASD di Linux sui Driver del dispositivo System z, Funzioni e Comandi su Red Hat Enterprise Linux 6.
Dopo aver impostato un DASD online (formattato con un livello basso), sarà possibile usarlo come qualsiasi altro disco con Linux. Per esempio, sarà possibile creare i file system, i volumi fisici LVM o gli spazi di swap sulle proprie partizioni, per esempio /dev/disk/by-path/ccw-0.0.4b2e-part1. Non usare mai il dispositivo DASD completo (dev/dasdb) al di fuori dei comandi dasdfmt e fdasd. Se desiderate usare l'intero DASD create una partizione che si estende per l'intera unità come indicato nell'esempio fdasd sopra riportato.
Per aggiungere altri dischi senza interrompere le voci dei dischi esistenti, per esempio, /etc/fstab, usare i link simbolici persistenti del disco in /dev/disk/by-path/.

25.1.3. Impostazione persistente dei DASD online

Le informazioni sopra riportate descrivono il metodo attraverso il quale attivare DASD dinamicamente in un sistema in esecuzione. Tuttavia queste modifiche non sono persistenti dopo ogni processo di riavvio. Per rendere le modifiche della configurazione DASD persistenti sarà necessario controllare se i DASD appartengono al file system root. I DASD necessari per il file system root devono essere attivati nelle fasi iniziali del processo d'avvio da initramfs in modo da poter montare il file system root.
cio_ignore viene gestito in modo trasparente per configurazioni del dispositivo persistenti e non sarà necessario rimuovere i dispositivi manualmente dall'elenco Ignora.

25.1.3.1. DASD appartenenti al file system root

L'unico file da modificare per aggiungere i DASD che fanno parte del file system root è /etc/zipl.conf. Successivamente eseguire il tool del boot loader zipl. Non vi è alcun bisogno di ricreare initramfs.
Sono presenti due parametri d'avvio per attivare i DASD nelle prime fasi del processo d'avvio:
  • rd_DASD=
  • rd_DASD_MOD= — fornito solo per una compatibilità con configurazioni di sistemi più vecchi. Consultate la descrizione del parametro dasd=nel capitolo del driver del dispositivo DASD in Linux sui Driver del dispositivo System z, Funzioni e Comandi su Red Hat Enterprise Linux 6
L'opzione rd_DASD accetta un elenco separato da virgole come input. L'elenco contiene un ID del bus del dispositivo e dei parametri aggiuntivi opzionali che consistono in coppie di valori che corrispondono agli attributi sysfs del DASD.
Di seguito viene riportato un esempio di zipl.conf per un sistema che utilizza i volumi fisici sulle partizioni di due DASD per un gruppo di volumi LVM vg_devel1 che contiene un volume logico lv_root per il file system root.
[defaultboot]
default=linux
target=/boot/
[linux]
        image=/boot/vmlinuz-2.6.32-19.el6.s390x
        ramdisk=/boot/initramfs-2.6.32-19.el6.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,!0.0.0009"
Supponiamo che desideriate aggiungere un altro volume fisico su di una partizione di un terzo DASD con un bus ID 0.0.202b. Per fare questo aggiungere rd_DASD=0.0.202b alla riga di parametri del kernel d'avvio in zipl.conf:
[defaultboot]
default=linux
target=/boot/
[linux]
        image=/boot/vmlinuz-2.6.32-19.el6.s390x
        ramdisk=/boot/initramfs-2.6.32-19.el6.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,!0.0.0009"
Eseguire zipl per applicare le modifiche di /etc/zipl.conf per il successivo 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.el6.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,!0.0.0009'
  initial ramdisk...: /boot/initramfs-2.6.32-19.el6.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.

25.1.3.2. DASD non appartenenti al file system root

I DASD che non appartengono al file system root, cioè, data disks, sono configurati in modo persistente nel file /etc/dasd.conf. Esso contiene un DASD per riga. Ogni riga inizia con un ID del bus del dispositivo di un DASD. Facoltativamente, ogni riga può continuare con opzioni separate da spazi o da tab. Le opzioni consistono in una coppia chiave-valore dove chiave e valore sono separati dai segni uguale.
La chiave corrisponde a qualsiasi attributo sysfs valido presente in un DASD. Il valore viene scritto nell'attributo sysfs della chiave. Le voci in /etc/dasd.conf sono attivate e configurate da udev quando un DASD viene aggiunto al sistema. Al momento dell'avvio tutti i DASD visibili al sistema vengono aggiunti, azionando così udev.
Esempio contenuti di /etc/dasd.conf:
0.0.0207
0.0.0200 use_diag=1 readonly=1
Le modifiche di /etc/dasd.conf diventano effettive solo dopo il riavvio del sistema o dopo l'aggiunta dinamica di un nuovo DASD attraverso la modifica della configurazione dell'I/O del sistema (e cioè, il DASD viene collegato con z/VM). Alternativamente è possibile causare l'attivazione di una nuova voce in /etc/dasd.conf per un DASD precedentemente non attivo, attraverso l'esecuzione dei seguenti comandi:
  1. Usare il comando cio_ignore per rimuovere il DASD dall'elenco dei dispositivi ignorati e renderli visibili a Linux:
    # cio_ignore -r device_number
    Per esempio:
    # cio_ignore -r 021a
  2. Eseguire l'attivazione scrivendo sull'attributo uevent del dispositivo:
    echo add > /sys/bus/ccw/devices/device-bus-ID/uevent
    Per esempio:
    echo add > /sys/bus/ccw/devices/0.0.021a/uevent