LVM逻辑卷管理

介绍:磁盘的管理工具,可以灵活的对分区大小进行扩容或缩容。

PV:物理卷,将物理磁盘通过命令转换为物理卷PV

PE:默认4MB大小的数据存储单元,在PV中创建

VG:卷组,由多个P组合而成的“存储池”

LV:逻辑卷,在VG拆分出来建立文件系统,可以被系统挂载,当逻辑卷容量空间不足时,可以使用VG中剩余空间进行扩容也可以“缩容”(但不推荐),将多余空间回归到VG

 #下载lvm2
 yum install lvm2
 ​
 操作流程:
  添加物理磁盘 ->  pvcreate ( PV ) -> vgcreate (VG) -> lvcreate (LV) ->  mkfs.ext4 格式化  -> 
  mount 挂载 -> 创建文件 -> lvextend 扩容 -> 修复磁盘 让系统正确识别lv的容量
  
  
 功能/命令    物理卷管理     卷组管理      逻辑卷管理
 扫描         pvscan        vgscan       lvscan
 建立         pvcreate       vgcreate        lvcreate
 显示         pvdisplay       vgdisplay    lvdisplay
 删除         pvremove       vgremove        lvremove
 扩展                       vgextend        lvextend
 缩小                       vgreduce        lvreduce
 ​
 # 创建PV
 lsblk                             # 查看系统中磁盘的状态
 pvcreate /dev/sdb  /dev/sdc       # 将硬盘sdb、sdc初始化为物理卷
 pvscan                            # 扫描pv
 pvs                               # pv的简单信息
 pvdisplay                         # 查看pv的详细信息
 pvremove /dev/sdb /dev/sdc        # 移除pv,恢复磁盘
 ​
 ​
 # 创建VG
 vgcreate  vg1  /dev/sdb  /dev/sdc        # 建立vg(卷组)将sdb和sdc创建合并名为vg1的卷组
 vgs                                      # vg的简单信息
 vgdisplay                                # 查看vg的详细信息
 ​
 ​
 # 创建LV
 lvcreate -n lv1 -L 10G vg1               # 建立lv(逻辑卷)-n是指定逻辑卷名称 -L是指定逻辑卷大小 vg1卷组的名字
 lvdisplay                                # 查看lv的详细信息
 ls -l /dev/vg1/lv1                       # 查看/dev/vg1/lv1 逻辑卷的详细属性
 mkfs.ext4 /dev/vg1/lv1                   # 格式化/dev/vg1/lv1 逻辑卷为ext4 文件系统
 mkdir /mnt/data                          # 创建一个data名的文件 用来对接挂载的位置
 mount /dev/vg1/lv1 /mnt/data/            # 挂载 来实现使用分配好的空间
 ​
 ​
 #空闲全部分配及沾满分配
 lvcreate -n lv1 -l +100%FREE vg1         # 注:把vg剩余空间全部分配lv1  
 lvcreate -n lv1 -l +100%VG vg1           # 注:整个vg1的总容量全部分配lv1(包括已用,慎用!)
                 
  
 # 扩容命令
 umount /dev/vg1/lv1                      # 扩容之前确认好没有挂载,如果挂载了先卸掉,在扩容
 lvextend -L +30G /dev/vg1/lv1            # lv(逻辑卷)-L 指定大小 数值只能比原本的高
 lvextend -l +100%FREE /dev/vg1/lv1       # 注:-l :代表按物理扩展块(PE)的数量来分配空间。
                                          # +100%FREE:表示在现有基础上,增加卷组中 100% 的剩余空闲空间。
                                          
 e2fsck -f /dev/vg1/lv1                   # e2fsck是检查和修复ext2、ext3、ext4 等文件系统的核心工具
                                          # -f代表强制,意思是不管它看起来多健康,必须从头到尾强制检查一遍
                                          
 resize2fs /dev/vg1/lv1                   # 系统内核还没有同步到这部分新修改的信息,需要手动同步一下
 mount /dev/vg1/lv1  /mnt/data/           # 操作好扩容后并且修复和同步以后进行挂载
 df -h                                    # 查看是否挂载成功
 ​
 df -Th /dev/vg1/lv1                      # 确定文件系统类型 不同的文件类型执行刷新命令不一样
 ​
 ​
 # 缩容命令(生产环境慎用!)
 umount  /dev/vg1/lv1 
 e2fsck -f /dev/vg1/lv1
 resize2fs /dev/vg1/lv1 5G
 lvreduce -L 5G  /dev/vg1/lv1
 mount /dev/vg1/lv1 /mnt/data/