Linux下的LVM逻辑卷管理

#################
####
lvm逻辑卷####
################
#

 

 

##LVM逻辑卷的简述

 

     Linux LVM是linux逻辑卷管理(Logical Volume Manager)的缩写,在我们日常工作中,如果磁盘的大小固定为100G,那么我们只能在该磁盘存储小于或者等于100G的文件,我们引入LVM的概念就相当于我们要建立文件系统的盘不是传统的物理盘上,而是建立在一个叫LV逻辑卷上面,而且这个LV逻辑卷的空间可以扩展和缩小,在空间不足时我们只用添加逻辑卷的容量来实现扩容,从而满足很多的信息存储需求。

 

##LVM逻辑卷的定义

PV物理卷:就是物理空间的意思,其实就是指一个磁盘分区,比如/dev/vdb1
VG物理卷组:就是一个pool,有多个PV组成,可以动态向VG中添加PV,使整个VG空间增大,也可以缩小这个VG。
LVm逻辑卷:就是linux用来建立一个文件系统的空间,这个空间来源于VG,大小随意,可以扩展。

 

##LVM逻辑卷的建立

 

新建两个分区,改变分区id为8e(lvm)
watch -n 1 'pvs;echo====;vgs;echo====lvs;df -h /date'               ##监控命令

Linux下的LVM逻辑卷管理 


 mkdir /redhat                                                                                  ##新建一个挂载目录
 pvcreate /dev/vdb1                                                                       ##将物理硬盘分区初始化为物理卷,以便lvm使用

Linux下的LVM逻辑卷管理


 vgcreate vg0 /dev/vdb1                                                               ##创建lvm卷组 起名为vg0

Linux下的LVM逻辑卷管理
 lvcreate  -L 50M -n lv0 vg0                                                         ##创建50M大小的名字为lv0的lvm逻辑卷(使用的卷组为vg0)
 mkfs.xfs /dev/vg0/lv0                                                                    ##格式化

Linux下的LVM逻辑卷管理
 mount /dev/vg0/lv0 /redhat                                                             ##挂载

 Linux下的LVM逻辑卷管理

Linux下的LVM逻辑卷管理
 lvextend -L 80M /dev/vg0/lv0                                                      ##修改逻辑卷大小
  xfs_growfs /dev/vg0/lv0                                                              ##做改变操作后需要同步文件

 Linux下的LVM逻辑卷管理

Linux下的LVM逻辑卷管理

 

 

##LVM逻辑卷拉伸设备


当需要拉伸的逻辑卷大小超过了卷组大小,则需要给卷组做拉伸

Linux下的LVM逻辑卷管理
 pvcreate /dev/vdb2                                                ## 将物理硬盘vdb2分区初始化为物理卷
 vgextend vg0 /dev/vdb2                                       ##将物理卷加到vg0卷组中

Linux下的LVM逻辑卷管理
 lvextend -L 180M /dev/vg0/lv0                             ##修改逻辑卷大小
  xfs_growfs /dev/vg0/lv0                                       ##做改变操作后需要同步文件

Linux下的LVM逻辑卷管理

 

 

##LVM缩减卷组大小


如果想删除卷组里的设备,必须在挂载之前将lvm卷格式改为.ext4格式
 umount /date
 mkfs.ext4 /dev/vg0/lv0

Linux下的LVM逻辑卷管理

Linux下的LVM逻辑卷管理

 mount  /dev/vg0/lv0  /redhat/                        #挂载

 lvextend -L 250M /dev/vg0/lv0                     #拉神
 resize2fs /dev/vg0/lv0  

 #resize2fs命令用来增大或缩小未加载的文件系统的大小,如果文件系统处于挂载状态,则它只能做扩容

Linux下的LVM逻辑卷管理


 umount /redhat/                                               #卸载挂载
 e2fsck -f /dev/vg0/lv0                                     #扫描

resize2fs /dev/vg0/lv0 20M                            #缩减系统文件大小

Linux下的LVM逻辑卷管理
 mount /dev/vg0/lv0 /redhat/                          #挂载
 lvreduce -L 20M /dev/vg0/lv0                       #缩减lvm卷占用的大小

Linux下的LVM逻辑卷管理

Linux下的LVM逻辑卷管理


#如果想要删除正在使用的物理卷,则需要将使用的物理卷同步到另一个物理卷
 pvmove /dev/vdb1 /dev/vdb2
 vgreduce vg0 /dev/vdb1                                 #将vdb1物理卷从vg0卷组中删除

 Linux下的LVM逻辑卷管理

 Linux下的LVM逻辑卷管理

 

 

##lvm的快照


 lvcreate -L 20M -n lv0-backup -s /dev/vg0/lv0                                  ##给/dev/vg0/lv0拍快照
 mount /dev/vg0/lv0-backup /mnt/                                                        ##将快照挂载到/mnt/里


测试
 lvcreate -L 20M -n lv0-backup -s /dev/vg0/lv0                                     ##拍张快照
 mount /dev/vg0/lv0-backup /mnt/                                                           ##挂载

Linux下的LVM逻辑卷管理

 touch /mnt/file{4..6}
 ls /mnt/                                                                                                         ##查看/mnt/  看之前的文件是否存在

Linux下的LVM逻辑卷管理

 umount /mnt/                                                                                               ##卸载快照挂载

Linux下的LVM逻辑卷管理

 

 

##删除逻辑卷


删除lvm卷的顺序跟建立lvm卷的顺序相反
 umount /mnt
 umount /redhat                                                      ##卸载挂载
 lvremove /dev/vg0/lv0-backup                           ##删除快照
Do you really want to remove active logical volume lv0-backup? [y/n]: y
  Logical volume "lv0-backup" successfully removed
 lvremove /dev/vg0/lv0                                           ##删除lvm卷
Do you really want to remove active logical volume lv0? [y/n]: y
  Logical volume "lv0" successfully removed
 vgremove vg0                                                         ##删除卷组
  Volume group "vg0" successfully removed
 pvremove   /dev/vdb1                                           ##删除物理卷1
  Labels on physical volume "/dev/vdb1" successfully wiped
 pvremove   /dev/vdb2                                           ##删除物理卷2
  Labels on physical volume "/dev/vdb2" successfully wiped
 pvs                                                                             ##查看

Linux下的LVM逻辑卷管理

 

 

 

#######################################