Linux 之 逻辑卷管理lvm篇

什么是lvm?
LVM(Logical Volume Manager)逻辑卷管理,当硬盘的空间不够使用的时候,可以继续将其它的硬盘的分区加入其中。

首先介绍一下与lvm相关的几个词的关系:
pv 是物理卷,由物理分区处理过所得到的;
而,若干个物理卷 整合成一个物理卷组 vg;
从物理卷组划分出来的是 逻辑卷 lvm;
物理拓展 pe 是lvm的最小存储单元。


lvm的创建

实验开始之前,打造一个较纯的实验环境 :
1)删除vdb中的所有分区;

        fdisk -l   //查看是否vdb中的分区情况,如果有,fdisk /dev/vdb,删除所有的分区

2)解挂;

      umount /mnt

3)修改文件内容

      vim /etc/fstab  //删除之前在文件中的操作

1、打开监控 :

      watch -n 1 'pvs;vgs;lvs;df -h /mnt'

监控效果如图所示:
这里写图片描述
2、建立3个分区,大小分别为 1G;改变 id 为8e;

a . 建立3个1G的分区如图1所示:
这里写图片描述
b . 修改id为8e的方式如图2所示:
这里写图片描述
c . 修改完成的整体效果:
这里写图片描述
3、命令创建逻辑卷

[root@localhost ~]# pvcreate /dev/vdb1      //物理分区处理,初始化物理卷pv
[root@localhost ~]# vgcreate vg0 /dev/vdb1  //创建物理卷组vg0
[root@localhost ~]# lvcreate -L 300M -n lv0 vg0 //创建lv0逻辑卷
[root@localhost ~]# mkfs.xfs /dev/vg0/lv0 //格式化,为了使用lv0逻辑卷
[root@localhost ~]# mount /dev/vg0/lv0 /mnt   //挂载

这里写图片描述
监控效果如下:
这里写图片描述


*注:我们可能在用df查看挂载情况时,发现不一样的地方
我明明挂载的是 /dev/vg0/lv0 ,为什么会出现下面的情况?*
这里写图片描述
其实这两个文件的性质是一样的,都指向了同一个地方;
这里写图片描述


lvm逻辑卷扩容拉伸

——xfs格式(拉伸)

[root@localhost ~]# pvcreate /dev/vdb2    //创建物理卷
[root@localhost ~]# vgextend vg0 /dev/vdb2  //将物理卷vdb2放在物理卷组vg0里
[root@localhost ~]# lvextend -L 1500M /dev/vg0/lv0  //扩容逻辑卷lv0到1500M,但是拉大的一部分没有被格式化
[root@localhost ~]# xfs_growfs /dev/vg0/lv0  //直接拉伸,而mkfs.xfs /dev/vg0/lv0是直接将整体拉伸

这里写图片描述
监控效果图:
这里写图片描述
—— ext4格式(拉伸和缩短)

——拉伸——

[root@localhost ~]umount /mnt //因为之前做xfs实验,所以先解挂
[root@localhost ~]mkfs.ext4 /dev/vg0/lv0  //改变格式为ext4
[root@localhost ~]# mount /dev/vg0/lv0 /mnt  //挂载
[root@localhost ~]# mount     //查看当前挂载情况,检查是不是成功修改为ext4格式
[root@localhost ~]# lvextend -L 1800M /dev/vg0/lv0  //扩容,修改的是文件系统
[root@localhost ~]# resize2fs /dev/vg0/lv0    //直接拉伸,类似于xfs格式的xfs_growfs命令,修改设备的大小

这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
——缩减——

[root@localhost ~]#umount /mnt/ //解挂
[root@localhost ~]#e2fsck -f /dev/vg0/lv0  //扫描
[root@localhost ~]#resize2fs /dev/vg0/lv0 1000M //缩减文件系统
[root@localhost ~]#mount /dev/vg0/lv0 /mnt/   //挂载
[root@localhost ~]#lvreduce -L 1000M /dev/vg0/lv0 //缩减设备

设备移除

pvmove /dev/vdb1 /dev/vdb2  //数据移除,前提是2个设备当前都被占用,如果是闲置的设备,不用操作这一步
vgreduce vg0 /dev/vdb1      //将逻辑卷移出组lv0  
pvremove /dev/vdb1          

这里写图片描述


lvm快照

快照的作用主要用于数据备份与恢复。我们还可以利用快照进行实验测试,快照的损坏不影响其他设备的正常工作。

1)扩容

[root@localhost ~]#touch /mnt/westos{1..10}//创建10个文件,方便后期查看效果
[root@localhost ~]#pvcreate /dev/vdb1   
[root@localhost ~]#vgextend vg0 /dev/vdb1  //因为此时设定的快照大小超过剩余空间,需要进行扩容操作

这里写图片描述
这里写图片描述
2)创建快照

[root@localhost ~]#lvcreate -L 50M -n lv0backup -s /dev/vg0/lv0   //新建快照lv0backup,大小为50M
[root@localhost ~]#mount /dev/vg0/lvobackup /mnt/     //快照挂载
[root@localhost ~]#ls /mnt/     //查看/mnt下有没有westos的10个文件!

这里写图片描述
3)重新生成

[root@localhost ~]#rm -fr /mnt *        //清空/mnt下的文件
[root@localhost ~]#umount /mnt/        //解挂
[root@localhost ~]#lvremove /dev/vg0/lv0backup   //快照删除
[root@localhost ~]#lvcreate -L 50M -nlv0backup -s /dev/vg0/lv0 //重新生成快照
[root@localhost ~]#mount /dev/vg0/lv0backup /mnt/   //挂载

4)还原

[root@localhost ~]#umount /mnt                      //快照解挂
[root@localhost ~]#lvremove /dev/vg0/lv0backup      //移除快照
[root@localhost ~]#umount /mnt                      //lv0解挂
[root@localhost ~]#lvremove /dev/vg0/lv0            //移除lv0
[root@localhost ~]#vgremove vg0                     //移除物理卷组vg0
[root@localhost ~]#pvremove /dev/vdb{1..2}          //移除vdb设备

这里写图片描述
这里写图片描述

猜你喜欢

转载自blog.csdn.net/wangkana/article/details/80271786