Show Table of Contents
章 17. 在 IBM System z 事例中配置已安裝的 Linux 系統
欲取得更多有關於 System z 上使用 Linux 的相關資訊,請參閱列在M〈章 19, IBM System z 參考資料〉中的出版品。最普遍進行的工作皆詳述於此。
17.1. 新增 DASD
下列為如何將 DASD 設為啟用、將其格式化,保留其變更的範例。
注意
請確定裝置已經接上,如果您的 Linux 系統正在 z/VM 下執行,請確定裝置已經連上系統。
CP ATTACH EB1C TO *
若要將某個磁碟連接至您可存取的磁碟上,請使用下列指令:
CP LINK RHEL7X 4B2E 4B2E MR
DASD 4B2E LINKED R/W
請查看 z/VM: CP Commands and Utilities Reference, SC24-6175,以取得有關於指令的詳情。
17.1.1. 動態式地將 DASD 設為啟用
若要將 DASD 設為啟用,請依照下列步驟進行:
- 請使用
cio_ignore
工具程式來將 DASD 由忽略裝置的清單中移除,並使其能讓 Linux 偵測到:# cio_ignore -r device_number
請將 device_number 取代為 DASD 的裝置號碼。例如:# cio_ignore -r 4b2e
- 將裝置設為啟用。請使用下列格式的指令:
# chccwdev -e device_number
請將 device_number 取代為 DASD 的裝置號碼。例如:# chccwdev -e 4b2e
此外,您可使用 sysfs 屬性來啟用裝置:- 使用
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
- 接下來,請檢查裝置是否已啟用:
# cat online 0
- 若還未啟用,請執行以下指令來啟用它:
# echo 1 > online # cat online 1
- 檢查它被哪個區塊的 devnode 所存取:
# 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 連上目前的 session,不過這並非永續性的,並且無法在重新開機後保持此狀態。若要將 DASD 設為可永續性地保持啟用狀態,請參閱〈節 17.1.3, “永續性地將 DASD 設為啟用”〉。當您在使用 DASD 時,請使用
/dev/disk/by-path/
下的永續性裝置符號連結。
17.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 上建立至三個分割區。在我們的範例中,我們建立了一個佔用了整個磁碟的分割區:
# 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...
當(一個低階格式化的)DASD 啟動後,它便能如其它 Linux 下的磁碟一般地被使用。比方說,您可在它的分割區上建立檔案系統、LVM 實體卷冊,或是 swap 空間,例如
/dev/disk/by-path/ccw-0.0.4b2e-part1
。請勿使用完整的 DASD 裝置(dev/dasdb
)於任何指令,除非使用 dasdfmt
和 fdasd
指令。若您希望使用整個 DASD,請如以上 fdasd
範例中所示,建立一個佔用了整個磁碟的分割區。
若要在之後不影響既有磁碟項目(比方說
/etc/fstab
)的情況下,新增額外的磁碟,請使用 /dev/disk/by-path/
下的永續性裝置符號連結。
17.1.3. 永續性地將 DASD 設為啟用
以上指示描述了如何動態式地在一部執行中的系統上啟用 DASD。然而,此類型的變更並非永續性的變更,並且無法在重新開機後維持其狀態。要使 DASD 配置的變更能夠在您的系統上保有永續性,取決於該 DASD 是否屬於 root 檔案系統。root 檔案系統所需的這些 DASD,需要在開機程序非常早期的步驟中,由
initramfs
啟用,以便掛載 root 檔案系統。
當使用永續性裝置配置時,
Cio_ignore
指令會自動被處理,並且您無須手動式地將裝置由忽略清單中移除。
17.1.3.1. 屬於 Root 檔案系統一部分的 DASD
要新增屬於 root 檔案系統一部分的 DASD,您唯一需要修改的檔案為
/etc/zipl.conf
。接著請執行 zipl 開機載入程式工具。您無須重新建立 initramfs
。
開機早期有個開機選項能用來啟用 DASD:
rd.dasd=
。此選項接受一列以逗號區隔開的清單做為輸入。該清單包含裝置的 bus ID 和選用性的額外參數,這些參數包含了與 DASD sysfs 屬性相應的金鑰值配對。
以下為一部系統的
zipl.conf
範例,它在兩個 DASD 的分割區上使用了實體卷冊來作為一個 LVM 卷冊群組 vg_devel1
,它包含了 root 檔案系統的 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 的分割區上新增另一個裝置 bus ID 為
0.0.202b
的實體卷冊。若要這麼作,只需將 rd.dasd=0.0.202b
附加至 zipl.conf
中,boot kernel 的參數行即可:
[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
來為下個 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.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. 不屬於 Root 檔案系統一部分的 DASD
不屬於 root 檔案系統一部分的 DASD(也就是資料磁碟),將永續性地配至於
/etc/dasd.conf
檔案中。它一行包含了一個 DASD。每行皆以 DASD 的裝置 bus ID 作為起始。此外,每行亦可包含以空格或 tab 字元隔開的選項。選項包含了金鑰值配對,並且金鑰和數值則會以一個等號(=)區隔開來。
金鑰與 DASD 可能擁有的任何有效
sysfs
屬性相應。數值會被寫入金鑰的 sysfs
屬性。當 DASD 被新增至系統時,/etc/dasd.conf
中的項目會由 udev 啟動與配置。在開機時,所有系統可見的 DASD 將會被新增並且啟動 udev。
/etc/dasd.conf
的範例內容:
0.0.0207 0.0.0200 use_diag=1 readonly=1
/etc/dasd.conf
的修改只有在重新啟動系統,或是透過更改系統 I/O 配置來動態式新增 DASD 時(也就是說在 z/VM 上,DASD 已連接),才會生效。此外,您亦可透過下列指令來為 DASD 啟動 /etc/dasd.conf
中,先前尚未啟用的一個新項目:
- 請使用
cio_ignore
工具程式來將 DASD 由忽略裝置的清單中移除,並使其能讓 Linux 偵測到:# cio_ignore -r device_number
舉例來說:# cio_ignore -r 021a
- 請透過寫入裝置的
uevent
屬性來啟動:echo add > /sys/bus/ccw/devices/device-bus-ID/uevent
舉例來說:echo add > /sys/bus/ccw/devices/0.0.021a/uevent
Where did the comment section go?
Red Hat's documentation publication system recently went through an upgrade to enable speedier, more mobile-friendly content. We decided to re-evaluate our commenting platform to ensure that it meets your expectations and serves as an optimal feedback mechanism. During this redesign, we invite your input on providing feedback on Red Hat documentation via the discussion platform.