LVM(逻辑卷管理)从0到实战

一、请看图

  

 二、LVM——Logical Volume Manager

  LVM就是动态卷管理,可以将多个硬盘和硬盘分区做成一个逻辑卷,并把这个逻辑卷作为一个整体来统一管理,动态对分区进行扩缩空间大小,安全快捷方便管理

  四个概念:

    ①PE(Physical Extend) 物理拓展

    ②PV(Physical Volume) 物理卷

    ③VG(Volume Group) 卷组

    ④LV(Logical Volume) 逻辑卷

  工作原理:

    (1)物理磁盘被格式化为PV,空间被划分为一个个的PE

    (2)不同的PV加入到同一个VG中,不同PV的PE全部进入到了VG的PE池内

    (3)LV基于PE创建,大小为PE的整数倍,组成LV的PE可能来自不同的物理磁盘

    (4)LV现在就直接可以格式化后挂载使用了

    (5)LV的扩充缩减实际上就是增加或减少组成该LV的PE数量,其过程不会丢失原始数据

 三、操作  

  0、安装:

  yum -y install lvm2                  #没有安装的话使用yum安装

  1、看:

  pes(内容简短)、pedisplay(内容详细)           #查看pe的大小(pes==pescan)
  pvs、pvdisplay                        #查看物理卷
  vgs、vgdisplay、                      #查看卷组
  lvs、lvdisplay、                      #查看逻辑卷
  fdisk -L                             #查看磁盘分区

  2、创建:

  
pvcreate -y 设备路径(/dev/vdb1)                          #创建物理卷
vgcreate 名字(vg01) pv路径(/dev/vdb1)                 #创建卷组                 
vgchange -a y vg名                   #重启后会失效,因此需要重新激活,vg激活
lvcreate -n 名字(lv01) -L 文件大小(5G)  vg名(vg01)     #创建逻辑卷,绑定vg
  
mkfs.ext4 lv完整路径(/dev/vg01/lv01)              #格式化逻辑卷(mkfs.文件系统格式或-t 文件系统格式)       
mount  lv完整路径(/dev/vg01/lv01)  挂载点(/mnt/test)   #挂载

例子:

pvcreate -y /dev/vdb
lvcreate -n lv-data -L 20g centos mkfs.ext4 /dev/centos/lv-data mount /dev/centos/lv-data /data # 永久挂载 vi /etc/fstab /dev/centos/lv-data /data ext4 defaults 0 0

  3、逻辑卷删除:

 
 1.卸载:umount 
 2.删lv:lvremove lv完整路径 
 3.删vg:vgremove vg名                          #要想移除vg,需要先关闭vg才能移除,这里先关闭:vgchange -a n vg名;
 4.删PV:pvremove 设备完整路径 去硬盘

例子

lvremove  /dev/vgdata/lv-gitlab

  4、逻辑卷扩展:

  1.扩展pv:相当于创建pv 
  2.扩展vg: vgextend vg名 新增pv路径 
  3.扩展lv: lvextend -L +扩展量(+1G) lv完整名(/dev/vg01/lv01) 
  4.刷新文件系统:xfs_growfs  lv完整路径(/dev/vg01/lv01) 
  注意:灵活运用,看实际情况,注意顺序 (支持在线操作)
  
  例子:
    
pvcreate -y /dev/sdb
vgextend centos /dev/sdb # (centos 为vgs)
# 查看 需要扩容的根目录
df -h|grep root|awk '{print $1}' lvextend
-L +14G /dev/mapper/centos-root # /dev/mapper/centos-root为lv
xfs_growfs /dev/mapper/centos-root
df -h
lsblk
fdisk  -l
参考:https://www.cnblogs.com/herui1991/p/12052967.html

  注意:

  1.    ext系列可以使用resieze2fs去调整。其他的文件系统可以参考http://tldp.org/HOWTO/LVM-HOWTO/extendlv.html
  2.    lvextentd 有个-r选项,自动去调整大小,匹配lv和文件系统大小的。

  5、逻辑卷的缩小:

  1.首先进行卸载 umount 检查文件系统:e2fsck -f lv完整路径
  2.减少文件系统:resize2fs lv完整路径 减少到的大小
  3.减少lv卷大小:lvreduce -L -减少量的大小 lv的完整路径
  4.挂载使用
例子
umount /gitlab-data
e2fsck -f /dev/vgdata/lv-gitlab
resize2fs /dev/vgdata/lv-gitlab 1m
lvreduce -L 1m /dev/vgdata/lv-gitlab
mount /dev/vgdata/lv-gitlab /gitlab-data

 更多参考:https://www.cnblogs.com/zhaojiedi1992/p/zhaojiedi_linux_042_lvm.html

原文地址:https://www.cnblogs.com/kevincaptain/p/10266757.html