LVM逻辑卷的创建删除扩容缩容

it2023-08-20  66

lvm是什么

LVM是逻辑盘卷管理(Logical Volume Manager)的简称,它是Linux环境下对磁盘分区进行管理的一种机制,LVM是建立在硬盘和分区之上的一个逻辑层,来提高磁盘分区管理的灵活性。

lvm与传统硬盘管理的区别

LVM(Logic Volume Manager)逻辑卷,传统的硬盘是直接分割后创建文件系统,交由系统进行管理的;当磁盘满了后无法动态扩充,即便可以多加入一块硬盘,对于某些应用服务器而言也是不行的。可以通过磁盘分区工具扩充传统硬盘的分区大小,这样做很可能造成数据丢失,而且文件系统不稳定。

而逻辑卷是在现有硬盘的基础之上,在进行抽象,把磁盘抽象成逻辑卷,系统管理逻辑卷,可以动态的扩充大小;即使新加入硬盘,也不会破坏逻辑卷的数据。

lvm逻辑卷的组成

1、 物理卷-----PV(Physical Volume) 物理卷在逻辑卷管理中处于最底层,它可以是实际物理硬盘上的分区,也可以是整个物理硬盘。 2、 卷组--------VG(Volumne Group) 卷组建立在物理卷之上,一个卷组中至少要包括一个物理卷,在卷组建立之后可动态添加物理卷到卷组中。一个逻辑卷管理系统工程中可以只有一个卷组,也可以拥有多个卷组。 3、 逻辑卷-----LV(Logical Volume) 逻辑卷建立在卷组之上,卷组中的未分配空间可以用于建立新的逻辑卷,逻辑卷建立后可以动态地扩展和缩小空间。系统中的多个逻辑卷要以属于同一个卷组,也可以属于不同的多个卷组。 4、 物理区域–PE(Physical Extent) 物理区域是物理卷中可用于分配的最小存储单元,物理区域的大小可根据实际情况在建立物理卷时指定。物理区域大小一旦确定将不能更改,同一卷组中的所有物理卷的物理区域大小需要一致。 5、 逻辑区域―LE(Logical Extent) 逻辑区域是逻辑卷中可用于分配的最小存储单元,逻辑区域的大小取决于逻辑卷所在卷组中的物理区域的大小。

lvm逻辑卷的创建

创建物理卷---->创建卷组----->创建lvm逻辑卷----->创建文件系统并挂载

创建物理卷

创建物理卷就一条命令

[root@nginx3 ~]# pvcreate /dev/sdb{1..3} Physical volume "/dev/sdb1" successfully created. Physical volume "/dev/sdb2" successfully created. Physical volume "/dev/sdb3" successfully created. [root@nginx3 ~]# pvs PV VG Fmt Attr PSize PFree /dev/sda2 centos lvm2 a-- <19.51g 0 /dev/sdb1 lvm2 --- 5.00g 5.00g /dev/sdb2 lvm2 --- 6.00g 6.00g /dev/sdb3 lvm2 --- 7.00g 7.00g

创建卷组

创建卷组也很简单

[root@nginx3 ~]# vgcreate vg1 /dev/sdb1 /dev/sdb2 /dev/sdb3 Volume group "vg1" successfully created [root@nginx3 ~]# vgs VG #PV #LV #SN Attr VSize VFree centos 1 2 0 wz--n- <19.51g 0 vg1 3 0 0 wz--n- <17.99g <17.99g

创建lvm逻辑卷

[root@nginx3 ~]# lvcreate -L 8G -n lv1 vg1 Logical volume "lv1" created. [root@nginx3 ~]# lvcreate -l 250 -n lv2 vg1 Logical volume "lv2" created. [root@nginx3 ~]# lvs LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert root centos -wi-ao---- <18.51g swap centos -wi-ao---- 1.00g lv1 vg1 -wi-a----- 8.00g lv2 vg1 -wi-a----- 1000.00m

-L 给多大的容量(写多少就是多少) -l 给多少PE一个为4m -n 名字

创建文件系统并挂载

[root@nginx3 ~]# mkfs.xfs /dev/vg1/lv1 #格式化一下 [root@nginx3 ~]# echo "/dev/vg1/lv1 /mnt/lv1 xfs defaults 0 0" >> /etc/fstab #放在/etc/fstab中永久挂载 [root@nginx3 ~]# mount -a #挂载 fstab 中的所有文件系统 [root@nginx3 ~]# mount /dev/vg1/lv2 /mnt/lv2 #临时挂载 [root@nginx3 ~]# df -Th 文件系统 类型 容量 已用 可用 已用% 挂载点 /dev/mapper/centos-root xfs 19G 1.3G 18G 7% / devtmpfs devtmpfs 446M 0 446M 0% /dev tmpfs tmpfs 456M 0 456M 0% /dev/shm tmpfs tmpfs 456M 6.4M 450M 2% /run tmpfs tmpfs 456M 0 456M 0% /sys/fs/cgroup /dev/sda1 xfs 497M 118M 380M 24% /boot tmpfs tmpfs 92M 0 92M 0% /run/user/0 /dev/mapper/vg1-lv1 xfs 8.0G 33M 8.0G 1% /mnt/lv1 /dev/mapper/vg1-lv2 xfs 997M 33M 965M 4% /mnt/lv2

lvm逻辑卷的缩容

[root@nginx3 ~]# lvreduce -L 5G /dev/vg1/lv1 [root@nginx3 ~]# lvreduce -L -3G /dev/vg1/lv1 两种方式达到一样的效果最后lv1的大小都变成了5G [root@nginx3 ~]# lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 20G 0 disk ├─sda1 8:1 0 500M 0 part /boot └─sda2 8:2 0 19.5G 0 part ├─centos-root 253:0 0 18.5G 0 lvm / └─centos-swap 253:1 0 1G 0 lvm [SWAP] sdb 8:16 0 20G 0 disk ├─sdb1 8:17 0 5G 0 part │ └─vg1-lv2 253:3 0 1000M 0 lvm /mnt/lv2 ├─sdb2 8:18 0 6G 0 part ├─sdb3 8:19 0 7G 0 part │ └─vg1-lv1 253:2 0 5G 0 lvm /mnt/lv1 └─sdb4 8:20 0 1K 0 part sr0 11:0 1 792M 0 rom

可以看到lv1的大小变成了5G

卷组的缩容

卷组的缩容其实就是将将卷组中的物理卷拿出来

[root@nginx3 ~]# vgreduce /dev/vg1 /dev/sdb2 Removed "/dev/sdb2" from volume group "vg1"

删除物理卷/卷组/LVM

物理卷没有缩容这一概念只能删除

[root@nginx3 ~]# pvremove /dev/sdb2 Labels on physical volume "/dev/sdb2" successfully wiped.

删除lvm/vg时需要先卸载

[root@nginx3 ~]# lvremove /dev/vg1/lv2 Do you really want to remove active logical volume vg1/lv2? [y/n]: y Logical volume "lv2" successfully removed [root@nginx3 ~]# vgremove /dev/vg1 Do you really want to remove volume group "vg1" containing 1 logical volumes? [y/n]: y Do you really want to remove active logical volume vg1/lv1? [y/n]: y Logical volume "lv1" successfully removed Volume group "vg1" successfully removed

删除卷组时如果卷组里还有逻辑卷它会询问你要不要删除这个逻辑卷

给卷组扩容

一样的道理给卷组扩容就是加物理卷进去

[root@nginx3 ~]# vgextend /dev/vg1 /dev/sdb2 Volume group "vg1" successfully extended

给lvm逻辑卷扩容

[root@nginx3 ~]# lvextend -L +3G /dev/vg1/lv1 Size of logical volume vg1/lv1 changed from 5.00 GiB (1280 extents) to 8.00 GiB (2048 extents). Logical volume vg1/lv1 successfully resized. [root@nginx3 ~]# lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 20G 0 disk ├─sda1 8:1 0 500M 0 part /boot └─sda2 8:2 0 19.5G 0 part ├─centos-root 253:0 0 18.5G 0 lvm / └─centos-swap 253:1 0 1G 0 lvm [SWAP] sdb 8:16 0 20G 0 disk ├─sdb1 8:17 0 5G 0 part │ ├─vg1-lv1 253:2 0 8G 0 lvm /mnt/lv1 │ └─vg1-lv2 253:3 0 1000M 0 lvm /mnt/lv2 ├─sdb2 8:18 0 6G 0 part ├─sdb3 8:19 0 7G 0 part │ └─vg1-lv1 253:2 0 8G 0 lvm /mnt/lv1 ├─sdb4 8:20 0 1K 0 part └─sdb5 8:21 0 500M 0 part sr0 11:0 1 792M 0 rom

可与看到lv1又变回了8G

扩展文件系统

lvm逻辑卷扩容完了还需要扩展文件系统 ext4格式: resize2fs /dev/vg1/lv1 xfs格式:xfs_growfs /dev/vg1/lv1

缩小文件系统

缩小文件系统就比较麻烦了我就不写了 https://www.cnblogs.com/cheyunhua/p/14195518.html

最新回复(0)