lvm逻辑卷

1455人浏览 / 0人评论

一、lvm功能介绍

许多Linux使用者安装操作系统时都会遇到这样的困境:如何精确评估和分配各个硬盘分区的容量,如果当初评估不准确,一旦系统分区不够用时可能不得不备份、删除相关数据,甚至被迫重新规划分区并重装操作系统,以满足应用系统的需要。

LVM是Linux环境中对磁盘分区进行管理的一种机制,是建立在硬盘和分区之上、文件系统之下的一个逻辑层,可提高磁盘分区管理的灵活性。RHEL5默认安装的分区格式就是LVM逻辑卷的格式,需要注意的是/boot分区不能基于LVM创建,必须独立出来。

LVM具备创建、增加、减少、删除、卸载

二、lvm基础概念

要想理解好LVM的原理,我们必须首先要掌握4个基本的逻辑卷概念。

PE  (Physical Extend)  物理拓展

PV  (Physical Volume)  物理卷

VG  (Volume Group)  卷组

LV  (Logical Volume)  逻辑卷

 物理卷(PV):把常规的磁盘设备通过pvcreate命令对其进行初始化。形成了物理卷。

卷组(VG):把多个物理卷组成一个逻辑的整体,这样卷组的大小就可以是多个盘的和。

逻辑卷(LV):从卷组中划分需要的空间大小出来。用户仅需对其格式化然后即可挂载使用。

基本单元(PE):分配的逻辑大小的最小单元(默认PE4MB,假设分配100M逻辑空间,则需要创建25哥PE)

三、实践

操作流程:

  1、创建物理卷,将普通磁盘转换为物理卷。

  2、创建卷组,将物理卷加入到卷组中。

  3、在卷组中划分逻辑卷,然后挂载使用。

 

1、准备物理磁盘

[root@backup YunWei]# lsblk |grep vdd
vdd                      252:48   0  100G  0 disk 

2、将磁盘转换为物理卷

1、将磁盘加入pv(物理卷)

[root@backup YunWei]# pvcreate /dev/vdd
  Physical volume "/dev/vdd" successfully created 

2、检查pv创建情况

[root@backup YunWei]# pvs
  PV         VG     Fmt  Attr PSize   PFree  
  /dev/vdd          lvm2 ---- 100.00g 100.00g

3、将物理卷加入卷组中

[root@backup ~]# vgcreate datavg1 /dev/vdd
  Volume group "datavg1" successfully created

4、创建逻辑卷

[root@backup ~]# lvcreate -L 200M -n Lv1 datavg1
  Logical volume "Lv1" created.

[root@backup ~]# lvscan
  ACTIVE            '/dev/datavg1/Lv1' [200.00 MiB] inherit

5、 格式化分区并挂载使用

[root@backup ~]# mkfs.xfs /dev/datavg1/Lv1 
 

[root@backup ~]# mkdir /Lv1
[root@backup ~]# mount /dev/datavg1/Lv1 /Lv1/
[root@backup ~]# 
[root@backup ~]# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/vda1              99G  9.3G   85G  10% /
tmpfs                 3.9G     0  3.9G   0% /dev/shm
/dev/mapper/datavg1-Lv1      196M   11M  186M   6% /Lv1
 

四、删除逻辑卷

1、卸载

[root@backup ~]# umount /Lv1

2、删除

[root@backup ~]# lvremove /dev/datavg1/Lv1
Do you really want to remove active logical volume Lv1? [y/n]: y
  Logical volume "Lv1" successfully removed 

3、查看

 [root@backup ~]# lvscan 

五、扩展逻辑卷

1、新建逻辑卷

 [root@backup ~]# lvcreate -L 200M -n Lv1 datavg1
  Logical volume "Lv1" created.

[root@backup ~]# mkfs.xfs /dev/datavg1/Lv1 
[root@backup ~]# mount /dev/datavg1/Lv1 /Lv1/
 

2、进行扩荣

[root@backup ~]# umount /dev/datavg1/Lv1 

[root@backup ~]# lvextend -L +200M /dev/datavg1/Lv1 
  Size of logical volume datavg1/Lv1 changed from 200.00 MiB (50 extents) to 400.00 MiB (100 extents).
  Logical volume Lv1 successfully resized. 

 3、进行查看

[root@backup ~]# lvdisplay 
  --- Logical volume ---
  LV Path                /dev/datavg1/Lv1
  LV Name                Lv1
  VG Name                datavg1
  LV UUID                nffbfE-oCy4-lUKr-Rneu-iScQ-UJ2T-fy2WjW
  LV Write Access        read/write
  LV Creation host, time backup, 2021-02-19 10:47:11 +0800
  LV Status              available
  # open                 0
  LV Size                400.00 MiB
  Current LE             100
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           253:1

4、更新文件系统

[root@backup ~]# mount /dev/datavg1/Lv1 /Lv1/
[root@backup ~]# xfs_growfs /dev/datavg1/Lv1   #xfs

如是ext文件系统 请使用:resize2fs /dev/datavg/lv1 
[root@backup ~]# df -h
/dev/mapper/datavg1-Lv1   396M   11M  386M   3% /Lv1

六、扩容卷组

1、新硬盘加入pv(新建/dev/vdd加入到/dev/vdb1)

 [root@backup YunWei]# pvcreate /dev/vdd
  Physical volume "/dev/vdd" successfully created 

2、进行扩容

[root@backup ~]# vgextend datavg /dev/vdd
  Volume group "datavg" successfully extended
[root@backup ~]# pvs
  PV         VG     Fmt  Attr PSize   PFree  
  /dev/vdb1  datavg lvm2 a--u   5.00t      0 
  /dev/vdd   datavg lvm2 a--u 100.00g 100.00g
 [root@backup ~]# vgs
  VG     #PV #LV #SN Attr   VSize VFree  
  datavg   2   1   0 wz--n- 5.10t 100.00g

 续:移除/dev/vdd组卷

1、查看组卷

[root@backup ~]# pvs
  PV         VG     Fmt  Attr PSize   PFree  
  /dev/vdb1  datavg lvm2 a--u   5.00t      0 
  /dev/vdd   datavg lvm2 a--u 100.00g 100.00g

2、 数据迁移,使用pvmove在线数据迁移,将/dev/vdd迁移到vdb1中

 [root@backup ~]# pvmove /dev/vdd
    /dev/v/dev/sdb: Moved: 100.00%

3、 数据检查是否迁移

[root@backup ~]# pvs
  PV         VG     Fmt  Attr PSize   PFree  
  /dev/vdb1  datavg lvm2 a--u   5.00t      100.00g 
  /dev/vdd   datavg lvm2 a--u 100.00g 0

4、从卷组中移除/dev/vdd磁盘

 [root@backup ~]# vgreduce datavg /dev/vdd
  Removed "/dev/vdd" from volume group "datavg"
[root@backup ~]# pvs
  PV         VG     Fmt  Attr PSize   PFree  
  /dev/vdb1  datavg lvm2 a--u   5.00t      0 
  /dev/vdd          lvm2 ---- 100.00g 100.00g

 七、总结

PV

1、将磁盘加入pv

pvcreate /dev/sdb

2、查看pv

pvs 

3、移除pv

pvremove /dev/sdb1 

4、检查pv

pvdisplay

 

5、数据迁移

pvmove /dev/sdb

卷组

1、创建datavg的卷组

 vgcreate datavg /dev/sdb1

2、查看卷组

vgs 

3、 验证卷组

vgdisplay 

4、删除卷组

vgremove volume-group1 

5、扩容卷组

vgextend datavg /dev/sdc

6、移除磁盘

vgreduce datavg /dev/sdb
 

 逻辑卷

1、创建逻辑卷

lvcreate -L 100M -n lv1 volume-group1 

2、查看逻辑卷

lvscan 

3、检查逻辑卷

lvdisplay 

 4、扩容

lvextend -L +800M /dev/datavg/lv1

 5、删除逻辑卷

lvremove /dev/datavg/lv1

 

 

 

参考文章: https://www.linuxprobe.com/linux-lvm.html

全部评论