注意:
- 本教學課程包含在 Oracle 提供的免費實驗室環境中。
- 它會使用 Oracle Cloud Infrastructure 證明資料、租用戶以及區間的範例值。完成實驗室之後,請將這些值取代為您雲端環境特有的值。
設定 Oracle Linux 上的邏輯磁碟區
簡介
邏輯磁碟區管理可將多個個別硬碟或磁碟分割區合併為單一磁碟區群組 (VG)。接著,您可以將該磁碟區群組細分為邏輯磁碟區 (LV),當作單一大型磁碟區使用。標準檔案系統 (例如 EXT4 或 XFS) 可以建立在邏輯磁碟區上。
本教學課程將與 Oracle Linux Volume Manager 公用程式合作,以建立、掛載及增加邏輯磁碟區的容量。
目標
- 建立邏輯磁碟區
- 增加邏輯磁碟區的容量
必要條件
具備下列配置的任何 Oracle Linux 8 系統:
- 具有 sudo 權限的非 root 使用者
- 與 LVM 搭配使用的額外區塊磁碟區
設定實驗室環境
注意:使用免費實驗室環境時,請參閱 Oracle Linux Lab Basics,瞭解連線和其他使用指示。
-
如果尚未連線,請開啟終端機並透過 ssh 連線至上述每個執行處理。
ssh oracle@<ip_address_of_instance>
-
確認區塊磁碟區存在。
sudo lsblk
免費實驗室環境的輸出應顯示現有檔案系統的
/dev/sda
,以及可用的磁碟/dev/sdb
、/dev/sdc
和/dev/sdd
。
實體磁碟區 (PV)
-
使用可用的磁碟建立實體磁碟區 (PV)。
sudo pvcreate -v /dev/sd{b,c}
使用
-v
選項執行指令以取得詳細資訊。 -
驗證 PV 建立。
sudo pvs
範例輸出:
[oracle@ol-node01 ~]$ sudo pvs PV VG Fmt Attr PSize PFree /dev/sda3 ocivolume lvm2 a-- 45.47g 0 /dev/sdb lvm2 --- 50.00g 50.00g /dev/sdc lvm2 --- 50.00g 50.00g
如需更詳細的 PV 資訊,請執行
pvdisplay
,或使用pvscan
來掃描實體磁碟區的所有磁碟。
磁碟區群組 (VG)
-
使用新建立的實體磁碟區建立磁碟區群組 (VG)。
sudo vgcreate -v myvolg /dev/sd{b,c}
-
驗證 VG 建立。
sudo vgs
範例輸出:
[oracle@ol-node01 ~]$ sudo vgs VG #PV #LV #SN Attr VSize VFree myvolg 2 0 0 wz--n- 99.99g 99.99g ocivolume 1 2 0 wz--n- 45.47g 0
如需更詳細的 VG 資訊,請執行
vgdisplay
,或使用vgscan
來掃描磁碟區群組的所有磁碟。
邏輯磁碟區 (LV)
-
建立線性邏輯磁碟區 (LV)。
sudo lvcreate -v -L 5G -n myvol myvolg
-L
:RAID 陣列的總大小。-n
:RAID 陣列的名稱。
範例輸出:
[oracle@ol-node01 ~]$ sudo lvcreate -v -L 5G -n myvol myvolg Archiving volume group "myvolg" metadata (seqno 1). Creating logical volume myvol Creating volume group backup "/etc/lvm/backup/myvolg" (seqno 2). Activating logical volume myvolg/myvol. activation/volume_list configuration setting not defined: Checking only host tags for myvolg/myvol. Creating myvolg-myvol Loading table for myvolg-myvol (252:2). Resuming myvolg-myvol (252:2). Wiping known signatures on logical volume myvolg/myvol. Initializing 4.00 KiB of logical volume myvolg/myvol with value 0. Logical volume "myvol" created.
-
驗證 LV 建立。
sudo lvdisplay myvolg
輸出顯示 myvolg VG 內的所有邏輯磁碟區。
範例輸出:
[oracle@ol-node01 ~]$ sudo lvdisplay myvolg --- Logical volume --- LV Path /dev/myvolg/myvol LV Name myvol VG Name myvolg LV UUID 1gfINq-AcWq-Bhys-gafP-21RL-x39A-vR6hqE LV Write Access read/write LV Creation host, time ol-node01, 2022-05-20 23:27:38 +0000 LV Status available # open 0 LV Size 5.00 GiB Current LE 1280 Segments 1 Allocation inherit Read ahead sectors auto - currently set to 256 Block device 252:2
若為濃縮的 VG 資訊,請執行
lvs
,或使用lvscan
來掃描磁碟區群組的所有磁碟。 -
顯示 LV 類型。
sudo lvs -o name,segtype /dev/myvolg/myvol
lvs
指令可以選擇完整的 LV 路徑來縮小結果範圍。
範例輸出:
[oracle@ol-node01 ~]$ sudo lvs -o name,segtype /dev/myvolg/myvol LV Type myvol linear
建立檔案系統
-
在 LV 上建立 EXT4 檔案系統。
sudo mkfs.ext4 -F /dev/myvolg/myvol
-F
:強制覆寫現有檔案系統。
掛載 LV
-
掛載檔案系統。
sudo mkdir -p /myvol sudo mount /dev/myvolg/myvol /myvol
-
報告檔案系統磁碟用法。
df -h
範例輸出:
[oracle@ol-node01 ~]$ df -h Filesystem Size Used Avail Use% Mounted on ... /dev/mapper/myvolg-myvol 4.9G 20M 4.6G 1% /myvol
-
更新 /etc/fstab。
echo "/dev/mapper/myvolg-myvol /myvol ext4 defaults 0 0" | sudo tee -a /etc/fstab > /dev/null
-
卸載 LV。
sudo umount /myvol
-
使用 /etc/fstab 項目重新掛載 LV,並驗證檔案系統是否存在。
sudo mount -a df -h
增加邏輯磁碟區的大小
使用 VG 中的可用空間,將 LV 大小增加到 10G。
-
檢查 VG 是否有可用空間。
sudo vgs
myvolg
VG 有 95G 可用空間 (VFree)。 -
增加 LV 容量。
sudo lvextend -L 10G -r myvolg/myvol
-r
:使用fsadm(8)
將檔案系統與邏輯磁碟區配合調整大小。
範例輸出:
[oracle@ol-node01 ~]$ sudo lvextend -L 10G -r myvolg/myvol Size of logical volume myvolg/myvol changed from 5.00 GiB (1280 extents) to 10.00 GiB (2560 extents). Logical volume myvolg/myvol successfully resized. resize2fs 1.45.6 (20-Mar-2020) Filesystem at /dev/mapper/myvolg-myvol is mounted on /myvol; on-line resizing required old_desc_blocks = 1, new_desc_blocks = 2 The filesystem on /dev/mapper/myvolg-myvol is now 2621440 (4k) blocks long.
-
確認檔案系統的空間增加。
df -h /myvol
檔案系統的大小現在是 9.8G (大小),提供 9.3G (可用)。
備份 VG 描述資料
LVM 描述資料包含磁碟區群組的相關組態詳細資訊。每變更 VG 和 LV 組態之後,Oracle Linux 會自動建立描述資料備份。
-
列出備份與存檔。
sudo ls -l /etc/lvm/backup sudo ls -l /etc/lvm/archive
-
顯示備份內容。
sudo head -n 10 /etc/lvm/backup/myvolg
此描述說明備份是在執行
lvextend
命令之後建立的。 -
手動建立描述資料備份。
sudo vgcfgbackup myvolg
包含
-f
選項以及完整路徑和檔案名稱 (/var/tmp/myvolg-meta.bkp
),以便將描述資料備份至不同的位置。
如需詳細資訊,請參閱 vgcfgbackup(8)
和 vgcfgrestore(8)
線上手冊。
成長 VG 和 LV
將額外的磁碟或分割區新增至 VG 並調整 LV 大小。
新增其他磁碟至 VG
-
使用剩餘的可用磁碟
/dev/sdd
來擴充 VG。sudo vgextend -v myvolg /dev/sdd
範例輸出:
[oracle@ol-node01 ~]$ sudo vgextend -v myvolg /dev/sdd Wiping signatures on new PV /dev/sdd. Set up physical volume for "/dev/sdd" with 104857600 available sectors. Zeroing start of device /dev/sdd. Writing physical volume data to disk "/dev/sdd". Physical volume "/dev/sdd" successfully created. Archiving volume group "myvolg" metadata (seqno 3). Adding physical volume '/dev/sdd' to volume group 'myvolg' Volume group "myvolg" will be extended by 1 new physical volumes Creating volume group backup "/etc/lvm/backup/myvolg" (seqno 4). Volume group "myvolg" successfully extended
-
驗證 VG。
sudo vgs myvolg
範例輸出:
[oracle@ol-node01 ~]$ sudo vgs myvolg VG #PV #LV #SN Attr VSize VFree myvolg 3 1 0 wz--n- <149.99g <139.99g
請注意增加的 PV 計數 (#PV)、容量 (VSize) 以及可用空間 (VFree)。
調整 LV 大小
-
將 LV 及檔案系統的大小增加 20G。
sudo lvresize -L +20G -r myvolg/myvol
-r
:使用 fsadm (8) 將基礎檔案系統與邏輯磁碟區重新調整大小。-L
:變更或設定邏輯磁碟區大小。+
會新增至實際的邏輯磁碟區大小。
-
確認檔案系統的空間增加。
df -h /myvol
其他相關資訊:
其他學習資源
探索 docs.oracle.com/learn 上的其他實驗室,或前往 Oracle Learning YouTube 通道存取更多免費學習內容。此外,請造訪 education.oracle.com/learning-explorer 以成為 Oracle Learning Explorer。
如需產品文件,請瀏覽 Oracle Help Center。
Configure Logical Volumes on Oracle Linux
F47407-05
May 2022
Copyright © 2021, Oracle and/or its affiliates.