Red Hat Training
A Red Hat training course is available for Red Hat Enterprise Linux
章 25. 在 System z 事例中配置已安裝的 Linux 系統
欲取得更多有關於 System z 上使用 Linux 的相關資訊,請參閱列在 章 27, IBM System z 參考資料 中的出版品。最普遍進行的工作皆詳述於此。
25.1. 新增 DASD
這部分解釋了如何啟用、格式化直接存取儲存裝置(DASD),以及如何確認它是否已永續性連上系統,使它在重新開機後依然能使用。
注意
請確定裝置已經接上,如果您的 Linux 系統正在 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(非永續性)。這是配置新 DASD 的第一個步驟;之後的步驟將會解釋如何設定其永續性。
過程 25.1. 新增 DASD 磁碟至使用了 VMCP 驅動程式的 IBM System z 上
- 啟用
VMCP
驅動程式:#
modprobe vmcp
- 請使用
cio_ignore
指令來將 DASD 由忽略裝置的清單中移除,並使其能讓 Linux 偵測到:#
cio_ignore -r DeviceNumber
將 DeviceNumber 替換為 DASD 的裝置序號。例如:#
cio_ignore -r 0102
- 將磁碟連上虛擬機器:
#
vmcp 'link * DeviceNumber DeviceNumber rw'
將 DeviceNumber 替換為 DASD 的裝置序號。 - 將裝置設為啟用。請使用下列格式的指令:
#
# chccwdev -e DeviceNumber
將 DeviceNumber 替換為 DASD 的裝置序號。 - 透過
lsdasd
指令來驗證磁碟是否已準備完畢:#
lsdasd
Bus-ID Status Name Device Type BlkSz Size Blocks ============================================================================== 0.0.0100 active dasda 94:0 ECKD 4096 2347MB 600840 0.0.0301 active dasdb 94:4 FBA 512 512MB 1048576 0.0.0300 active dasdc 94:8 FBA 512 256MB 524288 0.0.0101 active dasdd 94:12 ECKD 4096 2347MB 600840 0.0.0200 active dasde 94:16 ECKD 4096 781MB 200160 0.0.0102 active dasdf 94:20 ECKD 4096 2347MB 600840在以上範例中,裝置 0102(在Bus-ID
欄位中以0.0.0102
顯示)會被以/dev/dasdf
存取。
若您依照了以上的程序進行,新的 DASD 僅會在目前的 session 中連上。這代表當您重新啟動系統之後,DASD 將不會維持連上的狀態。欲取得有關於永久連接儲存裝置上的相關資訊,請參閱〈節 25.1.2, “永續性地將 DASD 設為啟用”〉。
您亦可在《Linux on System z Device Drivers, Features, and Commands on Red Hat Enterprise Linux 6》中的 DASD 章節中找到更多相關資訊。
25.1.2. 永續性地將 DASD 設為啟用
〈節 25.1.1, “動態式地將 DASD 設為啟用”〉中的指示詳述了如何在一部運作中的系統上動態式啟用 DASD。這種類型的變更並非永續性的變更;DASD 在系統重新啟動後將不會維持連接狀態。在此部分中詳述的程序假設您早已動態式連接了 DASD。
是否要將您 Linux 系統中的 DASD 配置更改為永續性取決於這些 DASD 是否屬於 root(
/
)檔案系統。這些 root 檔案系統所需的 DASD 需在早期進行開機程序時,透過 initramfs
來啟用,以掛載 root 檔案系統。不屬於 root 檔案系統的 DASD 能稍後啟用,以簡化配置程序。
已忽略裝置的清單(
cio_ignore
)會由一致性的裝置配置進行通透式的處理。您不用手動從忽略清單上釋放裝置。
25.1.2.1. 屬於 root 檔案系統一部份的 DASD
若您要新增一個 DASD 作為 root 檔案系統的一部分,您將需要編輯 zipl 開機載入程式的配置,然後重新產生
initramfs
,如此一來您的變更便會在下次開機時生效。下列程序解釋了您需要進行的步驟。
過程 25.2. 永續性將 DASD 作為 root 裝置連接
- 使用純文字編輯器(例如 Vim 來編輯
/etc/dasd.conf
,並將 DASD 配置的加在這檔案的最後。您可以參考檔案中對其它裝置的配置。合乎規定的配置會類似以下:0.0.0102 use_diag=0 readonly=0 erplog=0 failfast=0
- 編輯
/etc/zipl.conf
配置檔案。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"
請注意parameters=
一行中的多rd_DASD=
選項。您必須新增 DASD 到這一行,使用同樣的語法:rd_DASD=
關鍵字接的是裝置 ID,以及用逗號分隔開的選項清單。詳情請見〈Linux on System z Device Drivers, Features, and Commands on Red Hat Enterprise Linux 6〉一章中對dasd=
參數的描述。 - 下個步驟就是重建
initrd
:#
mkinitrd -f /boot/initramfs-2.6.32-71.el6.s390x.img `uname -r`
- 接著,請使用
zipl
指令來重建開機載入程式配置。您可使用-V
選項來取得更加詳細的輸出:#
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_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.
完成此步驟後,新的 DASD 會持續連線,可以作為 root 檔案系統的一部份。然而,root 檔案系統仍然需要展開,做為新的 DASD。如果您的系統使用 LVM 邏輯卷冊作為 root 檔案系統,就需要展開這個卷冊(以及包含它的卷冊群組)至新的 DASD。這可以透過內建的
pvcreate
、vgextend
以及 lvextend
指令來分別建立 LVM 的實體卷冊、展開現有的卷冊群組,並展開 root 邏輯卷冊。詳情請見〈節 25.1.5, “展開現有 LVM 卷冊為新的儲存裝置”〉。
25.1.3. 不屬於 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
中,先前尚未啟用的一個新項目:
過程 25.3. 永續性地將 DASD 作為非 root 裝置來連接
- 請透過寫入裝置的
uevent
屬性來啟動:echo add > /sys/bus/ccw/devices/device.bus,ID/uevent
舉例來說:echo add > /sys/bus/ccw/devices/0.0.021a/uevent
25.1.4. 以低層格式化準備新的 DASD
讓 DASD 上線之後,下一步是視需要進行格式化。以下步驟解釋了所需步驟。
警告
這步驟會刪除磁碟上的所有現存資料。如果要保留資料,請在進行前先予以備份。
過程 25.4. 格式化 DASD
- 透過
dasdfmt
指令清除 DASD 上的所有既有資料。將 DeviceNumber 替換為 DASD 的裝置編號。當被提示進行確認時(顯示於以下範例中)請輸入yes
以繼續進行。#
dasdfmt -b 4096 -d cdl -p /dev/disk/by-path/ccw-0.0.DeviceNumber
Drive Geometry: 10017 Cylinders * 15 Heads = 150255 Tracks I am going to format the device /dev/disk/by-path/ccw-0.0.0102 in the following way: Device number of device : 0x4b2e Labelling device : yes Disk label : VOL1 Disk identifier : 0X0102 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...
關於dasdfmt
指令的語法,請參閱dasdfmt(8)
man page。 - 使用
fdasd
指令將新的、與 Linux 相容的分割表寫至 DASD。請以 DASD 的裝置數字取代 DeviceNumber。#
fdasd -a /dev/disk/by-path/ccw-DeviceNumber
auto-creating one partition for the whole disk... writing volume label... writing VTOC... checking ! wrote NATIVE! rereading partition table...此範例使用了-a
選項來建立橫跨整個磁碟的單一分割區。您也可以使用其它佈局;一個 DASD 上最多可以建立三個分割區。欲知fdasd
指令及其選項的資訊,請參閱fdasd(8)
man page。 - 以
fdisk
建立新分割區。請以 DAS 的裝置名稱取代 DeviceName。#
fdisk /dev/DeviceName
執行fdisk
後,終端機中會出現一連串提示。這些提示可以用來控制磁碟分割表、建立新分割區,或編輯現有分割區。欲知使用fdisk
的詳情,請參閱fdisk(8)
man page。
當(一個低階格式化的)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/
下的永續性裝置符號連結。
25.1.5. 展開現有 LVM 卷冊為新的儲存裝置
如果您的系統使用 LVM,您需要展開現有的卷冊群組、以及一或多個邏輯卷冊,已包含新的 DASD,讓您透過本章之前描述的步驟加以連接。若您的系統不使用 LVM,DASD 就會連上系統,但您無法加以使用。
以下程序解釋了如何完整使用新的 DASD 來展開既有的邏輯卷冊。若您希望在多個邏輯卷冊上使用新的 DASD,您將需要在此分割區上建立多個 LVM 實體卷冊,並針對於您所希望展開的邏輯卷冊(及卷冊群組)重複這項程序。這項程序假設您依照了〈節 25.1.1, “動態式地將 DASD 設為啟用”〉的步驟來動態式連接新的 DASD,然後依照了〈節 25.1.2.1, “屬於 root 檔案系統一部份的 DASD”〉來將它永續性連接,而將它準備來作為 root 卷冊使用,並依照〈節 25.1.4, “以低層格式化準備新的 DASD”〉中所詳述的步驟來格式化 root 卷冊群組以及在該卷冊群組上建立單一分割區。
過程 25.5. 展開現有的邏輯卷冊,以使用新的 DASD
- 透過
pvcreate
指令來在 DASD 上建立新的實體卷冊:#
pvcreate /dev/DeviceName
重要
裝置名稱必須以分割區來指定 - 例如/dev/dasdf1
。請勿指定整個區塊裝置。 - 透過
pvs
指令來列出既有的實體卷冊,以驗證實體卷冊已建立:#
pvs
PV VG Fmt Attr PSize PFree /dev/dasda2 vg_local lvm2 a-- 1,29g 0 /dev/dasdd1 vg_local lvm2 a-- 2,29g 0 /dev/dasdf1 lvm2 a-- 2,29g 2,29g /dev/mapper/mpathb vgextnotshared lvm2 a-- 200,00g 1020,00m如以上範例所示,/dev/dasdf1
現在包含了一個空的實體卷冊,並且並未指定給任何卷冊群組。 - 使用
vgextend
指令來展開既有、包含您希望使用新 DASD 的卷冊之卷冊群組:#
vgextend VolumeGroup PhysicalVolume
將 VolumeGroup 替換為您希望展開的卷冊群組的名稱,並將 PhysicalVolume 替換為實體卷冊的名稱(例如/dev/dasdf1
)。 - 使用
lvextend
指令來展開您希望使用新 DASD 的邏輯卷冊:#
lvextend -L +Size /dev/mapper/VolumeGroup-LogicalVolume
舉例來說:#
lvextend -L +2G /dev/mapper/vg_local-lv_root
Extending logical volume lv_root to 2,58 GiB Logical volume lv_root successfully resized
在您完成了這項程序後,既有的邏輯卷冊將會展開,並包含新的 DASD,以及先前指定的所有儲存裝置。您亦能以
root
身份使用 pvs
、vgs
和 lvs
指令,以在程序進行時檢視既有的 LVM 實體卷冊、卷冊群組和邏輯卷冊。