25장. System z 인스턴스에 설치된 Linux를 설정하기

System z에 설치된 Linux에 대한 더 많은 정보는 27장. IBM System z 참고자료에 있는 목록을 참조하십시오. 가장 일반적인 작업 중 일부만 여기서 설명합니다.

25.1. DASD 추가하기

다음은 DASD를 온라인으로 만들고, 초기화하고, 변경을 영구히 적용하는 방법을 보여줍니다.

참고

z/VM으로 실행중이라면 장치가 리눅스 시스템에 제대로 연결되었는지 확인해주십시오.
CP ATTACH EB1C TO *
액세스할 수 있는 곳에 미니 디스크를 링크하려면, 예를 들어 다음과 같이 하십시오:
CP LINK RHEL6X 4B2E 4B2E MR 
DASD 4B2E LINKED R/W
"z/VM: CP Commands and Utilities Reference, SC24-6175"에서 이 명령에 대한 상세 정보를 찾아보십시오.

25.1.1. DASD를 동적으로 온라인 설정하기

DASD를 온라인으로 설정하려면, 다음 단계를 밟으십시오:
  1. cio_ignore 명령을 사용해 무시되는 장치의 목록에서 DASD를 제거하고, Linux가 그 장치를 볼 수 있도록 합니다:
    # cio_ignore -r device_number
    장치_번호는 DASD의 장치 번호로 변경하십시오. 예를 들어:
    # cio_ignore -r 4b2e
  2. 장치를 온라인으로 만드십시오. 다음과 같은 명령을 사용하십시오:
    # chccwdev -e device_number
    장치_번호는 DASD의 장치 번호로 변경하십시오. 예를 들어:
    # chccwdev -e 4b2e
    또는, sysfs 특성을 사용해 장치를 온라인으로 할 수도 있습니다:
    1. cd 명령을 이용하여 볼륨을 나타내는 /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로 액세스되고 있습니다.
이 절차는 DASD를 현재 세션에서 온라인으로 만듭니다. 하지만, 리부트하면 설정이 사라집니다. 어떻게 DASD를 영구히 온라인으로 할 수 있는지에 대해서는 25.1.3절. “DASD를 영구적으로 온라인으로 설정하기”의 절차를 따르십시오. DASD를 사용한다면, /dev/disk/by-path/에 있는 영속적인 디바이스 심볼 링크를 사용하십시오.
Linux on System z Device Drivers, Features, and Commands on Red Hat Enterprise Linux 6의 DASD 장에서 더 많은 정보를 찾을 수 있습니다.

25.1.2. 새 DASD를 저수준 초기화 시키기

디스크가 연결된 후에는, /root 디렉토리로 되돌아간 후 그 장치를 저수준 포맷하십시오. 저수준 포맷은 DASD 사용시 처음 단 한번만 하면 됩니다.
# 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%
진행 막대가 끝에 이르러 포맷 작업을 마치면, dasdfmt는 다음과 같은 출력을 합니다:
Rereading the partition table... 
Exiting...
이제, fdasd를 사용해 DASD를 파티션합니다. DASD당 3개까지 파티션을 만들 수 있습니다. 여기에서는, 전체 디스크를 사용하는 하나의 파티션만을 만듭니다:
# 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 on System z Device Drivers, Features, and Commands on Red Hat Enterprise Linux 6의 DASD 장에서 더 많은 정보를 찾을 수 있습니다.
(저수준 초기화된) DASD가 온라인이 되면, Linux상의 다른 디스크와 마찬가지로 사용될 수 있습니다. 예를 들어, /dev/disk/by-path/ccw-0.0.4b2e-part1과 같은 파티션에 파일 시스템을 만들거나, LVM 물리 볼륨을 만들거나, 스왑 공간을 잡을 수 있습니다. dasdfmtfdasd 명령 외에는 다른 명령에 결코 전체 DASD장치(dev/dasdb)를 사용하지 마십시오. 만약 전체 DASD를 사용하고 싶다면, 앞에서 보여준 예처럼, 전체 디스크를 사용하는 파티션을 만들어서 쓰십시오.
/etc/fstab에 있는 기존 디스크 항목을 변경하는 일이 없이 디스크를 추가하려면, /dev/disk/by-path/에 있는 영속적인 심볼 링크를 사용하십시오.

25.1.3. DASD를 영구적으로 온라인으로 설정하기

앞에서 설명한 절차는 DASD를 실행중인 시스템에서 동적으로 활성화하는 방법이었습니다. 하지만, 이러한 변경사항은 영속적이지 않고, 재부팅시 사라집니다. Linux상의 DASD설정 변경을 저장하는 방법은 DASD가 root 파일 시스템인지에 따라 달려있습니다. 만약 DASD가 root 파일 시스템이라면, 부팅 과정의 앞부분에서 initramfs이 root 파일 시스템을 마운트할 수 있도록, DASD를 활성화해 주어야만 합니다.
cio_ignore는 영구적인 장치 설정 정보를 투명하게 처리하며, 수동으로 장치를 무시 목록에서 제거할 필요가 없습니다.

25.1.3.1. root 파일 시스템의 일부인 DASD

root 파일 시스템의 일부로 DASD를 추가하기 위해 변경해야 하는 것은 /etc/zipl.conf 뿐입니다. 그 후, zipl 부트 로더 도구를 실행하십시오. 다시 initramfs를 생성시킬 필요가 없습니다.
부팅 과정에서 초기에 DASD를 활성화시키기 위해서는 두가지 부트 매개변수가 있습니다:
  • rd_DASD=
  • rd_DASD_MOD=는 예전 시스템 설정과의 호환성을 위해서만 제공됩니다. Linux on System z Device Drivers, Features, and Commands on Red Hat Enterprise Linux 6에 있는 DASD 장치에 대한 장에서 dasd= 매개변수에 대한 설명을 찾아보십시오.
rd_DASD 옵션은 콤마로 분리된 목록을 입력을 받습니다. 목록에는 장치 버스 ID와 함께 선택적으로 키-값 쌍으로 이루어진 sysfs 특성값에 해당하는 매개변수들이 올 수 있습니다.
다음은 두개의 DASD 파티션으로 이루어진 물리 볼륨 상에, root 파일시스템을 위한 lv_root 논리 볼륨을 포함하는 vg_devel1 LVM 볼륨 그룹을 사용하는 시스템의 예제 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_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"
장치 버스 ID 0.0.202b인 세번째 DASD상의 파티션을 또 다른 물리 볼륨으로 추가하고 싶다고 칩시다. 이렇게 하려면, 단지 rd_DASD=0.0.202bzipl.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"
zipl를 실행하여 다음 IPL시에 변경 사항이 /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.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. root 파일시스템의 일부가 아닌 DASD

root 파일 시스템의 일부가 아닌 DASD인 데이터 디스크/etc/dasd.conf 파일에서 영구히 설정될 수 있습니다. 그 파일에는 한 줄당 하나의 DASD가 포함되어 있습니다. 각 행은 DASD의 장치 버스 ID가 맨 앞에 있고, 공백이나 탭 문자로 구분된 옵션이 필요시 그 뒤에 추가될 수 있습니다. 옵션은 키-값 쌍으로 되어 있으며, 키와 값은 등호(=)로 분리되어 있습니다.
키는 DASD에 지정할 수 있는 유효한 sysfs 속성이 될 수 있으며, 값은 해당 키의 sysfs 속성이 됩니다. /etc/dasd.conf의 항목들은 시스템에 DASD를 추가할 때 udev에 의해 활성화되고 설정됩니다. 부팅시 시스템이 인식하는 모든 DASD는 추가되고, udev를 트리거합니다.
다음은 /etc/dasd.conf의 예입니다:
0.0.0207
0.0.0200 use_diag=1 readonly=1
/etc/dasd.conf를 변경하면, 시스템을 재부팅한 다음이나 동적으로 시스템의 I/O 설정을 변경해서 새 DASD를 추가한 다음(즉, DASD가 z/VM하에서 연결된 경우)에만 효과가 있습니다. 또는, 이전에 활성화되지 않았던 DASD에 대해 /etc/dasd.conf에 있는 새로운 항목의 활성화를 다음과 같은 명령을 실행해서 수행할 수도 있습니다:
  1. cio_ignore 명령을 사용해 무시되는 장치의 목록에서 DASD를 제거하고, Linux가 그 장치를 볼 수 있도록 합니다:
    # cio_ignore -r device_number
    예를 들어:
    # cio_ignore -r 021a
  2. 장치의 uevent 특성을 씀으로써, 활성화를 트리거합니다:
    echo add > /sys/bus/ccw/devices/device-bus-ID/uevent
    예를 들어:
    echo add > /sys/bus/ccw/devices/0.0.021a/uevent