逻辑卷管理 Logical Volume Management (LVM)在 Linux 系统中扮演着重要的角色,它可以提高可用性、磁盘 I/O、性能和磁盘管理的能力。
LVM 是一种被广泛使用的技术,对于磁盘管理来说,它是非常灵活的。
它在物理磁盘和文件系统之间增加了一个额外的层,允许你创建一个逻辑卷而不是物理磁盘。
LVM 允许你在需要的时候轻松地调整、扩展和减少逻辑卷的大小。
如何创建 LVM 物理卷? 你可以使用任何磁盘、RAID 阵列、SAN 磁盘或分区作为 LVM 物理卷 Physical Volume (PV)。
让我们想象一下,你已经添加了三个磁盘,它们是 /dev/sdb
、/dev/sdc
和 /dev/sdd
。
运行以下命令来发现 Linux 中新添加的 LUN 或磁盘 :
1 2 3 # ls /sys/class /scsi_host host0
1 2 # echo "- - -" > /sys/class/scsi_host/host0/scan
创建物理卷 (pvcreate
) 的一般语法:
当在系统中检测到磁盘,使用 pvcreate
命令初始化 LVM PV:
1 2 3 4 5 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 的详细输出:
1 2 3 4 5 6 PV VG Fmt Attr PSize PFree /dev/sdb lvm2 a /dev/sdc lvm2 a /dev/sdd lvm2 a
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 # 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 GiBAllocatable NO PE Size 0 Total PE 0 Free PE 0 Allocated PE 0 PV UUID 69d9 dd18-36 be-4631 -9 ebb-78 f05fe3217f"/dev/sdc" is a new physical volume of "15.00 GiB" --- NEW Physical volume --- PV Name /dev/sdc VG Name PV Size 15.00 GiBAllocatable NO PE Size 0 Total PE 0 Free PE 0 Allocated PE 0 PV UUID a2092b92-af29-4760 -8e68 -7 a201922573b"/dev/sdd" is a new physical volume of "15.00 GiB" --- NEW Physical volume --- PV Name /dev/sdd VG Name PV Size 15.00 GiBAllocatable NO PE Size 0 Total PE 0 Free PE 0 Allocated PE 0 PV UUID d92fa769-e00f-4 fd7-b6ed-ecf7224af7faS
如何创建一个卷组 卷组 Volume Group (VG)是 LVM 结构中的另一层。基本上,卷组由你创建的 LVM 物理卷组成,你可以将物理卷添加到现有的卷组中,或者根据需要为物理卷创建新的卷组。
创建卷组 (vgcreate
) 的一般语法:
使用以下命令将一个新的物理卷添加到新的卷组中:
1 2 3 # vgcreate vg01 /dev/ sdb /dev/ sdc /dev/ sdd Volume group "vg01" successfully created
请注意: 默认情况下,它使用 4MB 的 物理范围 Physical Extent (PE),但你可以根据你的需要改变它。
使用 vgs
和 vgdisplay
命令来显示你创建的 VG 的信息:
1 2 3 4 VG #PV #LV #SN Attr VSize VFreevg01 3 0 0 wz--n- 44 .99 g 44 .99 g
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 # vgdisplay vg01 --- Volume group --- VG Name vg01 System IDFormat lvm2 Metadata Areas 3 Metadata Sequence No 1 VG Access read/write VG Status resizableMAX 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-4 f11-809 c-94 a549bc43b7
如何扩展卷组 如果 VG 没有空间,请使用以下命令将新的物理卷添加到现有卷组中。
卷组扩展 (vgextend
)的一般语法:
1 2 vgextend [已有卷组名] [物理卷名]
1 2 3 # vgextend vg01 /dev/sde Volume group "vg01" successfully extended
如何以 GB 为单位创建逻辑卷? 逻辑卷 Logical Volume (LV)是 LVM 结构中的顶层。逻辑卷是由卷组创建的块设备。它作为一个虚拟磁盘分区,可以使用 LVM 命令轻松管理。
你可以使用 lvcreate
命令创建一个新的逻辑卷。
创建逻辑卷(lvcreate
) 的一般语法:
1 2 lvcreate –n [逻辑卷名] –L [逻辑卷大小] [要创建的 LV 所在的卷组名称]
运行下面的命令,创建一个大小为 10GB 的逻辑卷 lv001
:
1 2 3 Logical volume "lv001" created
使用 lvs
和 lvdisplay
命令来显示你所创建的 LV 的信息:
1 2 3 4 LV VG Attr LSize Pool Origin Data% Move Log Cpy%Sync Convertlv001 vg01 mwi-a-m-- 10 .00 g lv001_mlog 100 .00
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 # lvdisplay /dev/vg01/lv001 LV Path /dev/vg01/lv001 LV Name lv001 VG Name vg01 LV UUID ca307aa4-0866 -49 b1-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 GiBCurrent 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 大小,因为这可以根据需求进行更改。
1 2 10GB = 10240 MB / 4 MB (PE 大小) = 2560 PE
用 PE 大小创建逻辑卷 (lvcreate
) 的一般语法:
1 2 lvcreate –n [逻辑卷名] –l [物理扩展 (PE) 大小] [要创建的 LV 所在的卷组名称]
要使用 PE 大小创建 10GB 的逻辑卷,命令如下:
1 2 # lvcreate -n lv001 -l 2560 vg01
如何创建文件系统 在创建有效的文件系统之前,你不能使用逻辑卷。
创建文件系统的一般语法:
1 2 mkfs –t [文件系统类型] /dev/[LV 所在的卷组名称] /[LV 名称]
使用以下命令将逻辑卷 lv001
格式化为 ext4 文件系统:
1 2 # mkfs -t ext4 /dev/vg01/lv001
对于 xfs 文件系统:
1 2 # mkfs -t xfs /dev/vg01/lv001
挂载逻辑卷 最后,你需要挂载逻辑卷来使用它。确保在 /etc/fstab
中添加一个条目,以便系统启动时自动加载。
创建一个目录来挂载逻辑卷:
使用挂载命令挂载逻辑卷 :
1 2 # mount /dev/vg01/lv001 /lvmtest
在 /etc/fstab 文件 中添加新的逻辑卷详细信息,以便系统启动时自动挂载:
1 2 3 /dev/vg01/lv001 /lvmtest xfs defaults 0 0
使用 df 命令 检查新挂载的卷:
1 2 3 4 File system Size Used Avail Use% Mounted on /dev/mapper/vg01-lv001 15360 M 34 M 15326 M 4 % /lvmtest
via: https://www.2daygeek.com/create-lvm-storage-logical-volume-manager-in-linux/
作者:Magesh Maruthamuthu 选题:lujun9972 译者:geekpi 校对:校对者ID
本文由 LCTT 原创编译,Linux中国 荣誉推出