Linux逻辑卷LVM实现

Linux逻辑卷LVM实现

背景:

在学习Linux中,学习到了逻辑卷LVM,发现LVM是个十分好用的一个技术,可以多个硬盘合并在一起使用,同时还可以动态的增加和减少。在这里将Linux逻辑卷的具体实现记录下来。

介绍:

逻辑卷LVM:Logica Volum Manager,它是Linux环境下对磁盘分区进行管理的一种机制,普通的磁盘分区管理方式在逻辑分区划分好之后就无法改变其大小,当一个逻辑分区存放不下某个文件时,这个文件因为受上层文件系统的限制,也不能跨越多个分区来存放,所以也不能同时放到别的磁盘上。而LVM解决了这个问题,它可以动态的改变逻辑卷大小,以及跨分区使用。

实现LVM:

在实现LVM前,需要准备一些磁盘,当然一个磁盘的多个分区也可以做,不过那没什么意义,这里我准备了4个磁盘来做这个实验,分别是每个磁盘分出10个G的分区来做实验,其中一个使用整个磁盘做分区。在做分区时要,注意要将分区类型改为8e类型,最后要记得输入w保存退出,不然分区不会生效,如果保存退出出现warning,记得同步分区,命令是:partx -a /dev/sdc 。如图:

Linux逻辑卷LVM实现

使用同样的方法分了4个分区,结果如图:

Linux逻辑卷LVM实现

准备好分区后,开始制作LVM,第一步就是将这些分区或者磁盘做成物理卷,命令:pvcreate /dev/sd{b,c1,d1,e1}

Linux逻辑卷LVM实现

然后使用pvs命令或者pvdisplay来查看物理卷列表。

Linux逻辑卷LVM实现

然后开始创建卷组,使用命令vgcreate 卷组名(自己取) 物理卷(需要加入到卷组的物理卷),使用vgs可以产看卷组列表

Linux逻辑卷LVM实现

使用vgdisplay查看卷组详细信息

Linux逻辑卷LVM实现

创建好卷组后就可以在卷组上创建逻辑卷,命令:/lvcreate -n 逻辑卷名 -L 10G 卷组名

在配置大小时,可以用 -l 或者 -L 选项,-l 表示用PE个数做单位,-L 可以指定大小为多大,还可以用百分比:50%vg 卷组名

Linux逻辑卷LVM实现

使用lvdisplay查看逻辑卷详细信息

Linux逻辑卷LVM实现

这样我们的逻辑卷就创建成功了,现在为这个逻辑卷做一个文件系统,如果你做xfs文件系统,这个逻辑卷是不可用减少的,只能增加,如果是ext4就可以增加和减少。命令:mkfs.ext4 /dev/vg0/lv0

Linux逻辑卷LVM实现

在创建一个挂载点将这个卷挂载就可以使用了,如果需要开机知道挂载,需要写配置文件/etc/fstab。

Linux逻辑卷LVM实现

如果我们要增加逻辑卷的大小用命令:lvextend -r -L +10G /dev/vg0/lv0

-r 可以为增加的空间同步文件系统,如果没加-r ,增加的空间是没有文件系统的,所以并不能使用,也可以用

resize2fs /dev/vg0/lv0 30G 来同步,后面的30g为增加后整个空间的大小

Linux逻辑卷LVM实现

如果卷组的空间不够,也可以扩展。命令为:vgextend vg0 /dev/sdf1 ;在sdf1也需要像之前创建分区时那样操作。

Linux逻辑卷LVM实现

这样就实现了LVM的增加,这时如果我们不需要这么大的空间还可以减少LVM空间。

首先取消挂载:umount /mnt/lv0

再检查文件系统:fsck -f /dev/vg0/lv0  这个步骤是必须的,而且必须加 -f 强制检查,不然后面会报错。

再减少文件系统空间:resize2fs /dev/vg0/lv0 10G  减少到10G大小

再减少逻辑卷空间:lvreduce -L 10G /dev/vg0/lv0  减少到10G大小

最后在挂载:mount -a  

Linux逻辑卷LVM实现Linux逻辑卷LVM实现

确认逻辑卷大小变为10G

Linux逻辑卷LVM实现

从逻辑卷中删除正在使用的物理分区

Linux逻辑卷LVM实现

如果这个物理分区上有数据或者空间被分配出去了,可以使用pvmove /dev/sdc1 将上面的数据或者空间,转移到其他分区,具体转到哪个分区系统自己分配。

先将需要移除的分区从卷组里移除,命令:vgreduce vg0 /dev/sdb

再从物理分区中移除,命令:pvremove /dev/sdb

Linux逻辑卷LVM实现

原创文章,作者:657188918,如若转载,请注明出处:http://www.178linux.com/84434

(0)
上一篇 2017-08-11 21:40
下一篇 2017-08-12 14:14

相关推荐

  • 正则表达式应用

    1、复制/etc/skel目录为/home/tuser1,要求/home/tuser1及其内部文件的属组和其它用户均没有任何访问权限。    cp -a /etc/skel /home/tuser1    chmod g-x /home/tuser1…

    Linux干货 2016-12-24
  • N25-第四周作业

    第四周作业 1、复制/etc/skel目录为/home/tuser1,要求/home/tuser1及其内部文件的属组和其它用户均没有任何访问权限。 ~]#cp -r /etc/skel /home/tuser1 ~]#chmor 700 /home/tuser1 2、编辑/etc/group文件,添加组hadoop。 ~]#echo "h…

    Linux干货 2017-01-03
  • 马哥教育网络班21期+第四周课程练习

    1、复制/etc/skel目录为/home/tuser1,要求/home/tuser1及其内部文件的属组和其它用户均没有任何访问权限; [root@localhost /]# cp -r /etc/skel /home/tuser1 [root@localhost /]# chmod&nb…

    Linux干货 2016-07-22
  • shell脚本编程

    Shell脚本是包含一些命令或声明,并符合一定格式的文本文件。 程序:指令+数据 程序编程风格 过程式  以指令为中心,数据服务于指令。 对象式  以数据为中心,指令服务于数据。 Shell程序:提供了编写和能力,解释执行。 编程逻辑处理方式:           顺序执行   …

    Linux干货 2016-08-15
  • Linux 第11&12天: Linux软件包管理

    Linux 第11&12天: Linux软件包管理      在系统管理中, 软件包的管理是最重要的, 是系统管理的基础,   本文主要是记录内容有: RPM二进制包的管理,YUM二进制包的管理, 源代码包的管理   软件运行环境API:Application Programming Interfac…

    Linux干货 2016-08-22
  • 查找 -数据结构

    几种查找算法:顺序查找,折半查找,分块查找,散列表 一、顺序查找的基本思想:  从表的一端开始,向另一端逐个按给定值kx 与关键码进行比较,若找到,查找成功,并给出数据元素在表中的位置;若整个表检测完,仍未找到与kx 相同的关键码,则查找失败,给出失败信息。 说白了就是,从头到尾,一个一个地比,找着相同的就成功,找不到就失败。很明显的缺点就是查找效…

    Linux干货 2015-07-28