#########################################
#####二.第五单元      lvm管理####################
#########################################
1.lvm名词
lvm    逻辑卷,可以让设备自由伸缩的一个设备管理软件
pv    物理卷
vg    物理卷组
pe    物理拓展,lvm最小的存储单元
lvm    逻辑卷,时最终我们使用的可以伸缩的设备

2.lvm的制作
首先划分lvm所用到的设备,这些设备的功能id必须时linux LVM (8e)

1)lvm建立
pvcreate /dev/vdb1        ##把物理分区做成物理卷
pvs|pvdisplay            ##查看物理卷

vgcreate vg0 /dev/vdb1        ##用制作好的/dev/vdb1这个物理卷制作一个物理卷组vg0
vgs|vgdisplay            ##查看物理卷组

lvcreate -L 200M -n lv0 vg0    ##在vg0这个组中建立出lv0设备 -L 指定设备大小 -n 指定设备名字
lvs|lvdisplay            ##对逻辑卷设备进行查看

3.lvm设备的扩大
###############针对xfs文件系统######################
xfs文件系统只能扩大不能缩减
1)lvm扩大
    lvextend —L 500M /dev/vg0/lv0        ##扩大lvm设备到500M
    xfs_growfs    /dev/vg0/lv0        ##扩大xfs文件系统到设备大小
2)vg扩大
    pvcreate /dev/vdb2            ##在pv中增加一块设备/dev/vdb2
    vgextend vg0 /dev/vdb2            ##把新建立的/dev/vdb2添加到vg0中    

##############针对ext文件系统####################
ext文件系统可以扩大也可以缩减
1)lvm扩大
    lvextend —L 2G /dev/vg0/lv0            ##扩大lvm设备到2G
    resize2fs /dev/vg0/lv0                ##设定文件系统大小和设备同步
2)vg扩大
         pvcreate /dev/vdb3                          ##在pv中增加一块设备/dev/vdb3
         vgextend vg0 /dev/vdb3                      ##把新建立的/dev/vdb2添加到vg0中        
3)lvm缩减
    umount /dev/vg0/lv0                ##卸载设备,因为文件系统缩减不支持在线操作
    e2fsck -f /dev/vg0/lv0                ##检测文件系统,确定文件系统中已有数据大小防止过度缩减
    resize2fs  /dev/vg0/lv0  1G            ##把文件系统缩减到1G
    lvreduce  -L 1G /dev/vg0/lv0             ##设备缩减到1G
4)vg缩减
#在vg缩减时只能缩减没有被占用的设备
    pvmove    设备1 设备2                ##把设备1上的所有数据移动到设备2上
    vgreduce    vg0    /dev/vdb1        ##把vg0中的/dev/vdb1删除
    pvremove    /dev/vdb1            ##把/dev/vdb1上的lvm管理信息删除

5)lvm丢失设备的删除
[root@westos ~]# pvs
  PV g2OIge-1awl-HOFo-XwNG-EhUg-KP5E-GBQGRt not recognised. Is the device missing?
  PV g2OIge-1awl-HOFo-XwNG-EhUg-KP5E-GBQGRt not recognised. Is the device missing?
  PV g2OIge-1awl-HOFo-XwNG-EhUg-KP5E-GBQGRt not recognised. Is the device missing?
  PV g2OIge-1awl-HOFo-XwNG-EhUg-KP5E-GBQGRt not recognised. Is the device missing?
  PV             VG   Fmt  Attr PSize    PFree   
  /dev/vdb1      vg0  lvm2 a--  1020.00m  820.00m
  /dev/vdb2      vg0  lvm2 a--  1020.00m 1020.00m
  unknown device vg0  lvm2 a-m   996.00m  996.00m        ##设备丢失

[root@westos ~]# vgreduce --removemissing vg0            ##删除vg0中丢失的设备
 PV g2OIge-1awl-HOFo-XwNG-EhUg-KP5E-GBQGRt not recognised. Is the device missing?
 PV g2OIge-1awl-HOFo-XwNG-EhUg-KP5E-GBQGRt not recognised. Is the device missing?
 Wrote out consistent volume group vg0


[root@westos ~]# pvs
PV         VG   Fmt  Attr PSize    PFree   
/dev/vdb1  vg0  lvm2 a--  1020.00m  820.00m
/dev/vdb2  vg0  lvm2 a--  1020.00m 1020.00m


6.lvm快照
lvcreate -L 20M -n lv0-backup -s /dev/vg0/lv0        ##给/dev/vg0/lv0建立快照,-L 指定快照大小,-n指定快照名字 -s指定快照模板设备
mount /dev/vg0/lv0-backup    /userdate
当快照设备里的数据被更改,如果想还原,删除快照设备,在重新建立快照即可



7.lvm删除
lvremove---->vgremove----->pvremove


########附加知识点------《磁盘配额》######################
1.磁盘配额时限制用户向设备中写入数据的大小,或者个数
2.此这定针对与设备的,
3.做法
mount -o usrquota,grpquota /dev/vdb1  /pub    ##激活配额功能参数
quotaon -ugv /pub                ##开启配额
edquota -u lee                     ##设定lee的配额
repquota -a                    ##root可以执行,查看用户配额信息
quota                        ##配额限制用户查看自己配额信息命令
4.开机自动激活配额
vim /etc/fstab
/dev/vdb1    /pub        xfs    defaults,usrquota,grpquota    0 0

5.关闭配额
删除vim /etc/fstab中的配额参数
quotaoff -ugv 设备