当前位置:首页 > Linux > 正文内容

lvm理解及实操

sa2022-03-11Linux

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

LVM最大的特点是对磁盘的动态管理,逻辑卷的大小可动态调整 ,不会丢失现在有的数据,若新增了硬盘也不会改变现有的上层的逻辑卷,作为一个动态磁盘管理机制,极大增加了磁盘管理灵活性。

image.png

LVM四个概念

PV , Physical Volume 物理卷

物理卷在逻辑卷管理中处于最底层,可以是实际物理硬盘上的分区,可以是整个物理磁盘,也可是raid设备。

VG ,Volume Group 卷组

卷组创建在物理卷之上,一个卷组至少要包含一个物理卷,在卷组创建之后可动态添加物理卷到卷组中,一个逻辑卷管理系统中,可以只有一个卷组,也可拥有多个卷组。

LV ,Logical Volume 逻辑卷

逻辑卷创建在卷组之上,卷组中未分配的空间可用于创建新的逻辑卷,逻辑卷创建后可动态扩容或缩小空间,多个逻辑卷可同属一个卷组,也可分别属于不同的多个卷组。

PE,Physical Extend 物理扩展(基本单位)

PE是LVM中基本单位(存储区块),卷中的卷组VG中的最小存储单位,当PV加入到VG后产生PE,默认每个PE区块大小为4MB ,LV基于PE创建,当PE分配给LV后则成为LE (Logical Extend),而LE是LV最小的存储单元。



安装lvm2 : yum install -y lvm2 

使用pvcreate  将新建的三块物理磁盘(vdb vdc vdd)划分为物理卷(Physical Volume)

image.png

创建成功后如图所示:

image.png

通过 lvmdiskscan | grep LVM 查看已创建的物理卷信息 (也可通过pvdisplay查看物理卷信息)

image.png

创建卷组Volume Group , vgcreate lvm_vg01 /dev/vdb /dev/vdc /dev/vdd

image.png

通过vgs查看卷组信息

image.png

创建50G大小的逻辑卷 Logical Volume

image.png

通过lvdisplay查看逻辑卷详细信息

image.png

在逻辑卷上创建文件系统(ext4):

image.png

挂载逻辑卷

image.png

df -Th查看逻辑卷挂载信息

image.png

blkid 获取lvm UUID,编辑fstab 以自启动挂载磁盘,

图片.png

通过剩余空间扩容逻辑卷

通过pvs查看到vdd还有30G未分配空间

image.png

通过 lvextend -L +30G /dev/lvm_vg01/lv01扩容逻辑卷

image.png

image.png

通过resize2fs /dev/lvm_vg01/lv01扩容ext4文件系统

image.png

image.png

image.png

向当前卷组添加新物理卷,并将容量扩容到当前逻辑卷

这里新添加一块磁盘vde,详见下图

image.png

新建物理卷

image.png

通过vgextend将新建的物理卷扩容至卷组lvm_vg01中

image.png

image.png

通过pvs查看到还有40G未分配,对逻辑卷lv01进行扩容

image.png

lvextend -L +39G /dev/lvm_vg01/lv01

image.png

resize2fs /dev/lvm_vg01/lv01扩容文件系统,在通过df -Th 查看已扩容成功 

image.png

删除LVM-逻辑卷

取消挂载 umount /data

[root@zcqdtest ~]# df -Th
Filesystem                Type      Size  Used Avail Use% Mounted on
devtmpfs                  devtmpfs  967M     0  967M   0% /dev
tmpfs                     tmpfs     985M     0  985M   0% /dev/shm
tmpfs                     tmpfs     985M  508K  985M   1% /run
tmpfs                     tmpfs     985M     0  985M   0% /sys/fs/cgroup
/dev/vda1                 ext4       30G  2.8G   26G  10% /
/dev/mapper/lvm_vg01-lv01 ext4      117G   60M  112G   1% /data
tmpfs                     tmpfs     197M     0  197M   0% /run/user/0
[root@zcqdtest ~]# umount /data
[root@zcqdtest ~]# df -Th
Filesystem     Type      Size  Used Avail Use% Mounted on
devtmpfs       devtmpfs  967M     0  967M   0% /dev
tmpfs          tmpfs     985M     0  985M   0% /dev/shm
tmpfs          tmpfs     985M  508K  985M   1% /run
tmpfs          tmpfs     985M     0  985M   0% /sys/fs/cgroup
/dev/vda1      ext4       30G  2.8G   26G  10% /
tmpfs          tmpfs     197M     0  197M   0% /run/user/0


取消逻辑卷 lvremove /dev/lvm_vg01/lv01

[root@zcqdtest ~]# lvdisplay
  --- Logical volume ---
  LV Path                /dev/lvm_vg01/lv01
  LV Name                lv01
  VG Name                lvm_vg01
  LV UUID                BxZHLj-CGdo-ggO8-cnMP-fQyB-QKkB-T9L202
  LV Write Access        read/write
  LV Creation host, time zcqdtest, 2022-03-11 01:19:05 +0800
  LV Status              available
  # open                 0
  LV Size                119.00 GiB
  Current LE             30464
  Segments               4
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     8192
  Block device           252:0
[root@zcqdtest ~]# lvremove /dev/lvm_vg01/lv01
Do you really want to remove active logical volume lvm_vg01/lv01? [y/n]: y
  Logical volume "lv01" successfully removed
[root@zcqdtest ~]# lvdisplay
[root@zcqdtest ~]#

取消卷组 vgremove lvm_vg01

[root@zcqdtest ~]# vgdisplay
  --- Volume group ---
  VG Name               lvm_vg01
  System ID
  Format                lvm2
  Metadata Areas        4
  Metadata Sequence No  6
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                0
  Open LV               0
  Max PV                0
  Cur PV                4
  Act PV                4
  VG Size               119.98 GiB
  PE Size               4.00 MiB
  Total PE              30716
  Alloc PE / Size       0 / 0
  Free  PE / Size       30716 / 119.98 GiB
  VG UUID               9RufKK-NTfN-jraP-qBIQ-5AgD-1pBc-2lGjQk
[root@zcqdtest ~]# vgremove lvm_vg01
  Volume group "lvm_vg01" successfully removed
[root@zcqdtest ~]# vgdisplay
[root@zcqdtest ~]#

取消物理卷   pvremove /dev/vd{c,d,e,f}

[root@zcqdtest ~]# pvdisplay
  "/dev/vdc" is a new physical volume of "30.00 GiB"
  --- NEW Physical volume ---
  PV Name               /dev/vdc
  VG Name
  PV Size               30.00 GiB
  Allocatable           NO
  PE Size               0
  Total PE              0
  Free PE               0
  Allocated PE          0
  PV UUID               bWuvBY-Sfjk-iHFT-RL7D-wjuH-P0WX-Qhx3hi
  "/dev/vdd" is a new physical volume of "30.00 GiB"
  --- NEW Physical volume ---
  PV Name               /dev/vdd
  VG Name
  PV Size               30.00 GiB
  Allocatable           NO
  PE Size               0
  Total PE              0
  Free PE               0
  Allocated PE          0
  PV UUID               bmoo8r-W5fr-LDNa-1AIJ-kFq5-fzA2-wtNd9k
  "/dev/vde" is a new physical volume of "30.00 GiB"
  --- NEW Physical volume ---
  PV Name               /dev/vde
  VG Name
  PV Size               30.00 GiB
  Allocatable           NO
  PE Size               0
  Total PE              0
  Free PE               0
  Allocated PE          0
  PV UUID               aNe9Eu-kLiS-Pk1S-vzHo-lezu-FecF-LqxKoh
  "/dev/vdf" is a new physical volume of "30.00 GiB"
  --- NEW Physical volume ---
  PV Name               /dev/vdf
  VG Name
  PV Size               30.00 GiB
  Allocatable           NO
  PE Size               0
  Total PE              0
  Free PE               0
  Allocated PE          0
  PV UUID               rTu05A-tpK5-HWff-Ljab-TyWb-XbIw-bEgwzW
[root@zcqdtest ~]# pvremove /dev/vd{c,d,e,f}
 Labels on physical volume "/dev/vdc" successfully wiped.
 Labels on physical volume "/dev/vdd" successfully wiped.
 Labels on physical volume "/dev/vde" successfully wiped.
 Labels on physical volume "/dev/vdf" successfully wiped.
[root@zcqdtest ~]# pvdisplay
[root@zcqdtest ~]#
[root@zcqdtest ~]# lsblk
NAME   MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
vda    253:0    0  30G  0 disk
└─vda1 253:1    0  30G  0 part /
vdc    253:32   0  30G  0 disk
vdd    253:48   0  30G  0 disk
vde    253:64   0  30G  0 disk
vdf    253:80   0  30G  0 disk

取消 /etc/fstab 中的挂载信息

图片.png






版权声明:本文由老瓦罐儿煨汤发布,如需转载请注明出处。

本文链接:https://zhangchen.cc/?id=24

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。