Linux中國

如何在 Linux 中創建/配置 LVM(邏輯卷管理)

邏輯卷管理 Logical Volume Management LVM)在 Linux 系統中扮演著重要的角色,它可以提高可用性、磁碟 I/O、性能和磁碟管理的能力。

LVM 是一種被廣泛使用的技術,對於磁碟管理來說,它是非常靈活的。

它在物理磁碟和文件系統之間增加了一個額外的層,允許你創建一個邏輯卷而不是物理磁碟。

LVM 允許你在需要的時候輕鬆地調整、擴展和減少邏輯卷的大小。

如何創建 LVM 物理卷?

你可以使用任何磁碟、RAID 陣列、SAN 磁碟或分區作為 LVM 物理卷 Physical Volume (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 中,而不必是磁碟分區。

使用 pvdisplaypvs 命令來顯示你創建的 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

如何創建一個卷組

卷組 Volume Group (VG)是 LVM 結構中的另一層。基本上,卷組由你創建的 LVM 物理卷組成,你可以將物理卷添加到現有的卷組中,或者根據需要為物理卷創建新的卷組。

創建卷組 (vgcreate) 的一般語法:

vgcreate [卷組名] [物理卷名]

使用以下命令將一個新的物理卷添加到新的卷組中:

# vgcreate vg01 /dev/sdb /dev/sdc /dev/sdd
Volume group "vg01" successfully created

請注意:默認情況下,它使用 4MB 的 物理範圍 Physical Extent (PE),但你可以根據你的需要改變它。

使用 vgsvgdisplay 命令來顯示你創建的 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 為單位創建邏輯卷?

邏輯卷 Logical Volume (LV)是 LVM 結構中的頂層。邏輯卷是由卷組創建的塊設備。它作為一個虛擬磁碟分區,可以使用 LVM 命令輕鬆管理。

你可以使用 lvcreate 命令創建一個新的邏輯卷。

創建邏輯卷(lvcreate) 的一般語法:

lvcreate –n [邏輯卷名] –L [邏輯卷大小] [要創建的 LV 所在的卷組名稱]

運行下面的命令,創建一個大小為 10GB 的邏輯卷 lv001

# lvcreate -n lv001 -L 10G vg01
Logical volume "lv001" created

使用 lvslvdisplay 命令來顯示你所創建的 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

本文由 LCTT 原創編譯,Linux中國 榮譽推出


本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive

對這篇文章感覺如何?

太棒了
0
不錯
0
愛死了
0
不太好
0
感覺很糟
0
雨落清風。心向陽

    You may also like

    Leave a reply

    您的郵箱地址不會被公開。 必填項已用 * 標註

    此站點使用Akismet來減少垃圾評論。了解我們如何處理您的評論數據

    More in:Linux中國