Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

Глава 17. Конфигурация установленной системы на IBM System z

Глава 19, Информационные ресурсы содержит список публикаций о Linux на платформах System z. В этой главе обсуждаются наиболее распространенные задачи.

17.1. Добавление DASD

Ниже приведен пример настройки и форматирования DASD.

Примечание

В окружении z/VM надо убедиться, что устройство подключено в виртуальной машине:
CP ATTACH EB1C TO *
Пример подключения минидиска:
CP LINK RHEL7X 4B2E 4B2E MR 
DASD 4B2E LINKED R/W
Подробное описание команд можно найти в справочнике z/VM (SC24-6175).

17.1.1. Динамическая активация DASD

Активация устройств DASD выполняется следующим образом:
  1. Удалите DASD из списка игнорируемых устройств:
    # cio_ignore -r номер
    где номер — номер устройства DASD, например:
    # cio_ignore -r 4b2e
  2. Собственно, команда активации:
    # chccwdev -e номер
    где номер — номер устройства DASD, например:
    # chccwdev -e 4b2e
    Другой способ активации устройства состоит в установке атрибутов sysfs:
    1. Перейдите в каталог /sys/:
      # 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. Убедитесь, что устройство включено:
      # cat online
      0
    3. Если нет, выполните:
      # echo 1 > online
      # cat online
      1
  3. Проверьте адресацию:
    # 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
    В этом примере устройство 4B2E адресуется как /dev/dasdb.
После этого устройство будет доступно в текущем сеансе. Раздел 17.1.3, «Активация DASD с сохранением постоянства» объясняет, как включать устройство при каждой перезагрузке. Символьные ссылки таких устройств хранятся в /dev/disk/by-path/.

17.1.2. Низкоуровневое форматирование DASD

Если диск уже подключен, перейдите в каталог /root и отформатируйте его:
# 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%
Когда индикатор прогресса достигнет конца, fdasd сообщит:
Rereading the partition table... 
Exiting...
Теперь создайте разделы с помощью fdasd (до трех разделов). В приведенном примере будет создан один раздел, занимающий весь диск:
# 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...
После активации отформатированного устройства с ним можно работать так же как и с другими дисками в Linux: создавать файловые системы, физические тома LVM, пространство подкачки в разделах (например, /dev/disk/by-path/ccw-0.0.4b2e-part1). Устройство dev/dasdb само по себе может использоваться только командами dasdfmt и fdasd.
При добавлении новых дисков в будущем используйте схему именования из /dev/disk/by-path/, чтобы однозначно их идентифицировать, тем самым предотвратив повреждение записей в /etc/fstab.

17.1.3. Активация DASD с сохранением постоянства

Описанные выше действия позволяют динамически включить DASD в работающей системе, но сделанные изменения не будут сохраняться между перезагрузками. Способ настройки автоматического подключения дисков будет отличаться в зависимости от того, на каких дисках расположена корневая файловая система «/». Устройства корневой файловой системы должны подключаться на ранней стадии процесса загрузки с помощью initramfs.
Обработка команд cio_ignore для постоянной конфигурации осуществляется прозрачно, поэтому нет необходимости в удалении диска из списка игнорируемых устройств.

17.1.3.1. DASD в корневой файловой системе

В этом случае надо лишь изменить файл /etc/zipl.conf и выполнить zipl. Повторное создание initramfs не требуется.
Параметр rd.dasd= позволяет включить DASD на ранней стадии процесса загрузки и содержит идентификатор шины с дополнительными аргументами в виде пар «ключ=значение», соответствующих атрибутам sysfs.
Ниже приведен пример файла zipl.conf для системы с физическими томами, созданными на базе разделов двух устройств DASD, объединенных в группу томов vg_devel1, на основе которой создан логический том lv_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"
Предположим, что надо добавить дополнительный физический том в раздел третьего DASD с идентификатором 0.0.202b. В этом случае следует просто добавить выражение rd.dasd=0.0.202b к строке параметров ядра в 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"
Выполните zipl для сохранения изменений в /etc/zipl.conf:
# 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. DASD за пределами корневой файловой системы

Если устройства DASD не принадлежат корневой файловой системе, а служат лишь для хранения данных, постоянство их конфигурации можно настроить в /etc/dasd.conf. Каждая строка в файле определяет отдельный DASD и начинается с идентификатора шины, за которым следуют пары «аргумент=значение», разделенные пробелом или табуляцией.
Значения параметров соответствуют одноименным атрибутам sysfs. При добавлении нового DASD записи в файле /etc/dasd.conf будут соответственно изменены. Во время загрузки все обнаруженные DASD будут подключены автоматически.
Пример файла /etc/dasd.conf:
0.0.0207
0.0.0200 use_diag=1 readonly=1
Изменения в /etc/dasd.conf вступят в силу после перезагрузки системы или динамического добавления нового диска DASD и соответствующего изменения системной конфигурации ввода-вывода (то есть при подключении DASD в z/VM). Чтобы самостоятельно инициировать подключение диска, настроенного в /etc/dasd.conf, выполните приведенные ниже действия.
  1. Удалите DASD из списка игнорируемых устройств:
    # cio_ignore -r номер
    Например:
    # cio_ignore -r 021a
  2. Разрешите активацию устройства, изменив его атрибут uevent:
    echo add > /sys/bus/ccw/devices/ID_шины/uevent
    Например:
    echo add > /sys/bus/ccw/devices/0.0.021a/uevent