如何在 Linux 中創建/配置 LVM(邏輯卷管理)
邏輯卷管理 (LVM)在 Linux 系統中扮演著重要的角色,它可以提高可用性、磁碟 I/O、性能和磁碟管理的能力。
LVM 是一種被廣泛使用的技術,對於磁碟管理來說,它是非常靈活的。
它在物理磁碟和文件系統之間增加了一個額外的層,允許你創建一個邏輯卷而不是物理磁碟。
LVM 允許你在需要的時候輕鬆地調整、擴展和減少邏輯卷的大小。
如何創建 LVM 物理卷?
你可以使用任何磁碟、RAID 陣列、SAN 磁碟或分區作為 LVM 物理卷 (PV)。
讓我們想像一下,你已經添加了三個磁碟,它們是 /dev/sdb
、/dev/sdc
和 /dev/sdd
。
運行以下命令來發現 Linux 中新添加的 LUN 或磁碟:
# ls /sys/class/scsi_host
host0
# echo "- - -" > /sys/class/scsi_host/host0/scan
# fdisk -l
創建物理卷 (pvcreate
) 的一般語法:
pvcreate [物理卷名]
當在系統中檢測到磁碟,使用 pvcreate
命令初始化 LVM PV:
# pvcreate /dev/sdb /dev/sdc /dev/sdd
Physical volume "/dev/sdb" successfully created
Physical volume "/dev/sdc" successfully created
Physical volume "/dev/sdd" successfully created
請注意:
- 上面的命令將刪除給定磁碟
/dev/sdb
、/dev/sdc
和/dev/sdd
上的所有數據。 - 物理磁碟可以直接添加到 LVM PV 中,而不必是磁碟分區。
使用 pvdisplay
和 pvs
命令來顯示你創建的 PV。pvs
命令顯示的是摘要輸出,pvdisplay
顯示的是 PV 的詳細輸出:
# pvs
PV VG Fmt Attr PSize PFree
/dev/sdb lvm2 a-- 15.00g 15.00g
/dev/sdc lvm2 a-- 15.00g 15.00g
/dev/sdd lvm2 a-- 15.00g 15.00g
# pvdisplay
"/dev/sdb" is a new physical volume of "15.00 GiB"
--- NEW Physical volume PV Name /dev/sdb
VG Name
PV Size 15.00 GiB
Allocatable NO
PE Size 0
Total PE 0
Free PE 0
Allocated PE 0
PV UUID 69d9dd18-36be-4631-9ebb-78f05fe3217f
"/dev/sdc" is a new physical volume of "15.00 GiB"
--- NEW Physical volume PV Name /dev/sdc
VG Name
PV Size 15.00 GiB
Allocatable NO
PE Size 0
Total PE 0
Free PE 0
Allocated PE 0
PV UUID a2092b92-af29-4760-8e68-7a201922573b
"/dev/sdd" is a new physical volume of "15.00 GiB"
--- NEW Physical volume PV Name /dev/sdd
VG Name
PV Size 15.00 GiB
Allocatable NO
PE Size 0
Total PE 0
Free PE 0
Allocated PE 0
PV UUID d92fa769-e00f-4fd7-b6ed-ecf7224af7faS
如何創建一個卷組
卷組 (VG)是 LVM 結構中的另一層。基本上,卷組由你創建的 LVM 物理卷組成,你可以將物理卷添加到現有的卷組中,或者根據需要為物理卷創建新的卷組。
創建卷組 (vgcreate
) 的一般語法:
vgcreate [卷組名] [物理卷名]
使用以下命令將一個新的物理卷添加到新的卷組中:
# vgcreate vg01 /dev/sdb /dev/sdc /dev/sdd
Volume group "vg01" successfully created
請注意:默認情況下,它使用 4MB 的 物理範圍 (PE),但你可以根據你的需要改變它。
使用 vgs
和 vgdisplay
命令來顯示你創建的 VG 的信息:
# vgs vg01
VG #PV #LV #SN Attr VSize VFree
vg01 3 0 0 wz--n- 44.99g 44.99g
# vgdisplay vg01
--- Volume group VG Name vg01
System ID
Format lvm2
Metadata Areas 3
Metadata Sequence No 1
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 0
Open LV 0
Max PV 0
Cur PV 3
Act PV 3
VG Size 44.99 GiB
PE Size 4.00 MiB
Total PE 11511
Alloc PE / Size 0 / 0
Free PE / Size 11511 / 44.99 GiB
VG UUID d17e3c31-e2c9-4f11-809c-94a549bc43b7
如何擴展卷組
如果 VG 沒有空間,請使用以下命令將新的物理卷添加到現有卷組中。
卷組擴展 (vgextend
)的一般語法:
vgextend [已有卷組名] [物理卷名]
# vgextend vg01 /dev/sde
Volume group "vg01" successfully extended
如何以 GB 為單位創建邏輯卷?
邏輯卷 (LV)是 LVM 結構中的頂層。邏輯卷是由卷組創建的塊設備。它作為一個虛擬磁碟分區,可以使用 LVM 命令輕鬆管理。
你可以使用 lvcreate
命令創建一個新的邏輯卷。
創建邏輯卷(lvcreate
) 的一般語法:
lvcreate –n [邏輯卷名] –L [邏輯卷大小] [要創建的 LV 所在的卷組名稱]
運行下面的命令,創建一個大小為 10GB 的邏輯卷 lv001
:
# lvcreate -n lv001 -L 10G vg01
Logical volume "lv001" created
使用 lvs
和 lvdisplay
命令來顯示你所創建的 LV 的信息:
# lvs /dev/vg01/lvol01
LV VG Attr LSize Pool Origin Data% Move Log Cpy%Sync Convert
lv001 vg01 mwi-a-m-- 10.00g lv001_mlog 100.00
# lvdisplay /dev/vg01/lv001
--- Logical volume LV Path /dev/vg01/lv001
LV Name lv001
VG Name vg01
LV UUID ca307aa4-0866-49b1-8184-004025789e63
LV Write Access read/write
LV Creation host, time localhost.localdomain, 2020-09-10 11:43:05 -0700
LV Status available
# open 0
LV Size 10.00 GiB
Current LE 2560
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 256
Block device 253:4
如何以 PE 大小創建邏輯卷?
或者,你可以使用物理範圍(PE)大小創建邏輯卷。
如何計算 PE 值?
很簡單,例如,如果你有一個 10GB 的卷組,那麼 PE 大小是多少?
默認情況下,它使用 4MB 的物理範圍,但可以通過運行 vgdisplay
命令來檢查正確的 PE 大小,因為這可以根據需求進行更改。
10GB = 10240MB / 4MB (PE 大小) = 2560 PE
用 PE 大小創建邏輯卷 (lvcreate
) 的一般語法:
lvcreate –n [邏輯卷名] –l [物理擴展 (PE) 大小] [要創建的 LV 所在的卷組名稱]
要使用 PE 大小創建 10GB 的邏輯卷,命令如下:
# lvcreate -n lv001 -l 2560 vg01
如何創建文件系統
在創建有效的文件系統之前,你不能使用邏輯卷。
創建文件系統的一般語法:
mkfs –t [文件系統類型] /dev/[LV 所在的卷組名稱]/[LV 名稱]
使用以下命令將邏輯卷 lv001
格式化為 ext4 文件系統:
# mkfs -t ext4 /dev/vg01/lv001
對於 xfs 文件系統:
# mkfs -t xfs /dev/vg01/lv001
掛載邏輯卷
最後,你需要掛載邏輯捲來使用它。確保在 /etc/fstab
中添加一個條目,以便系統啟動時自動載入。
創建一個目錄來掛載邏輯卷:
# mkdir /lvmtest
使用掛載命令掛載邏輯卷:
# mount /dev/vg01/lv001 /lvmtest
在 /etc/fstab 文件中添加新的邏輯卷詳細信息,以便系統啟動時自動掛載:
# vi /etc/fstab
/dev/vg01/lv001 /lvmtest xfs defaults 0 0
使用 df 命令檢查新掛載的卷:
# df -h /lvmtest
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/vg01-lv001 15360M 34M 15326M 4% /lvmtest
via: https://www.2daygeek.com/create-lvm-storage-logical-volume-manager-in-linux/
作者:Magesh Maruthamuthu 選題:lujun9972 譯者:geekpi 校對:校對者ID
本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive