LINUX-lvm逻辑卷

1.lvm的存在意义
 用软件实现设备可拉神或缩减,而设备中存在的数据不变

2.lvm术语
 pv    物理卷,由分区生成
 pe    物理单元,由物理卷重组生成
 vg    物理卷组,由大量物理单元组成
 lvm   逻辑卷,由物理卷组中分割出的定量物理单元组成

3.lvm检测信息
 pvs|pvdisplay
 vgs|vgdisplay
 lvs|lvdisplay
 LINUX-lvm逻辑卷

watch -n 1 \
'echo "=== pvinfo ==="\
;pvs\
;echo "=== vginfo ==="\
;vgs\
;echo === lvinfo ===\
;lvs'
  LINUX-lvm逻辑卷LINUX-lvm逻辑卷

4.lvm建立
 1)分区并改变分区标签为lvm(gpt 15|mbr 8e)
 2)pvcreate /dev/vdb1      创建物理卷
     LINUX-lvm逻辑卷LINUX-lvm逻辑卷
 3)vgcreate vg0 /dev/vdb1    创建物理卷组
     LINUX-lvm逻辑卷
 4)lvcreate -L 100M -n lv0 vg0    创建逻辑卷
    LINUX-lvm逻辑卷

    注意容量大小的要求

LINUX-lvm逻辑卷

 5)mkfs.xfs /dev/vg0/lv0    格式化设备,同步文件系统
   LINUX-lvm逻辑卷
 6)mount /dev/vg0/lv0 /mnt    挂载设备投入使用
   LINUX-lvm逻辑卷
   /dev/mapper/vg0/lv0 是个链接文件,指向是一样的
   LINUX-lvm逻辑卷

5.lvm拉伸
 1)当vg中的容量够用时
  lvextend -L 200M /dev/vg0/lv0 拉伸设备,扩大lv0
  xfs_growfs /dev/vg0/lv0       扩大文件系统
    LINUX-lvm逻辑卷LINUX-lvm逻辑卷
 2)当vg中的容量不够用时
  分区并改变分区中的标签为lvm(gpt 15 |mbr 8e)
  pvcreate /dev/vdb2            创建物理卷pv
    LINUX-lvm逻辑卷
  vgextend vg0 /dev/vdb2         扩大物理卷组vg
   LINUX-lvm逻辑卷
  lvextend -L 1500M /dev/vg0/lv0    拉伸设备,扩大逻辑卷lv0
   LINUX-lvm逻辑卷
  xfs_growfs /dev/vg0/lv0        扩大文件系统
    LINUX-lvm逻辑卷
  **xfs文件系统不能缩减

 **在ext文件系统中:
  umount /mnt             卸载
  mkfs.ext4 /dev/vg0/lv0    将/dev/vg0/lv0格式化为ext4
    LINUX-lvm逻辑卷
  拉伸
   lvextend -L 400M /dev/vg0/lv0    拉伸设备
      LINUX-lvm逻辑卷
   resize2fs /dev/vg0/lv0        扩大文件系统
      LINUX-lvm逻辑卷
  缩减
   umount /mnt
   e2fsck -f /dev/vg0/lv0        检测设备,扫描文件
      LINUX-lvm逻辑卷
   resize2fs /dev/vg0/lv0 200M        缩减文件系统
     LINUX-lvm逻辑卷
   mount /dev/vg0/lv0 /mnt
   lvreduce -L 200M /dev/vg0/lv0    缩减设备
      LINUX-lvm逻辑卷

6.缩减卷组
 pvmove /dev/vdb1 /dev/vdb2 当要移除的分区vdb1存在数据,那么需要把数据迁移到vdb2
    LINUX-lvm逻辑卷
 vgreduce vg0 /dev/vdb1        把vg中的/dev/vdb1移除
   LINUX-lvm逻辑卷
 pvremove /dev/vdb1        把pv中的/dev/vdb1移除
   LINUX-lvm逻辑卷
   
7.lvm的快照
 lvcreate -L 100M -n lv0-backup -s /dev/vg0/lv0    创建快照
    LINUX-lvm逻辑卷
 mount /dev/vg0/lv0-backup /mnt            挂载快照,不需要格式化
  **修改不影响原始文件
     LINUX-lvm逻辑卷LINUX-lvm逻辑卷
 rm -fr /mnt/*
 umount /mnt
 lvremove /dev/vg0/lv0-backup            移除快照
    LINUX-lvm逻辑卷

8.lvm的删除
 lvremove /dev/vg0/lv0    删除逻辑卷lv
 vgremove vg0         删除物理卷组vg
 pvremove /dev/vdb2    删除物理卷pv
 如果卸载不掉应该查看是否被挂载