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)
657188918657188918
上一篇 2017-08-11 21:40
下一篇 2017-08-12 14:14

相关推荐

  • Linux文件和目录管理类命令初识

    简述 在Linux操作系统使用过程中,因为运维需要频繁的对文件、目录进行操作,所以需要学习一些关于文件、目录的命令 Linux上文件是什么? 「文件」:存储空间存储的一段流式数据,可以按名「存取」这些数据 常见文件类型 -:常规文件d:目录文件b:块设备文件,以「block」为单位进行随机访问,常见设备「硬盘」c:字符设备文件,以「character」为单位…

    Linux干货 2016-11-06
  • sed的使用和脚本练习

    1、复制/etc/rc.d/rc.sysinit文件至/tmp目录,将/tmp/rc.sysinit文件中的以至少一个空白字符开头的行的行首加#。 cp /etc/rc.d/rc.sysinit /tmp sed -i ‘s/\(^[[:space:]]\)/#\1/g’ /tmp/rc.sysinit 2、复制/boot/grub/grub.conf至/t…

    Linux干货 2017-08-06
  • shell中的if else语句与文件查找find浅析

    shell中的if else语句与文件查找find浅析    上篇文章中我们讲述了shell脚本编程的初步入门,其中讲到了shell编程中的顺序执行,顺序执行时一种简单的小脚本,如果在编辑脚本的时候遇到要做出条件判断执行的时候要怎么办呢?我们学习过if之后你会发现这会很简单。if 语句通过关系运算符判断表达式的真假来决定执行哪个分支。 S…

    Linux干货 2016-08-16
  • 关于 文本处理工具、正则表达式、grep 的简单举例

                              文本处理工具 抽取文本的工具 文件内容:less和cat 文件截取:head和tail 按列抽取:cut 按关键字抽取:grep 文件查看命令:cat,tac,rev cat […

    系统运维 2016-08-08
  • 初学Linux之shell脚本编程

    shell程序的特点;shell脚本的结构和格式要求;变量;算术运算和逻辑运算;条件测试;防止扩展和shell登录的相关配置文件

    2018-01-01
  • N28-第四周博客作业

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

    2、编辑/etc/group文件,添加组hadoop。

    3、手动编辑/etc/passwd文件新增一行,添加用户hadoop,其基本组ID为hadoop组的id号;其家目录为/home/hadoop。

    4、复制/etc/skel目录为/home/hadoop,要求修改hadoop目录的属组和其它用户没有任何访问权限。

    5、修改/home/hadoop目录及其内部所有文件的属主为hadoop,属组为hadoop。

    6、显示/proc/meminfo文件中以大写或小写S开头的行;用两种方式;

    7、显示/etc/passwd文件中其默认shell为非/sbin/nologin的用户;

    8、显示/etc/passwd文件中其默认shell为/bin/bash的用户;

    9、找出/etc/passwd文件中的一位数或两位数;

    10、显示/boot/grub/grub.conf中以至少一个空白字符开头的行;

    11、显示/etc/rc.d/rc.sysinit文件中以#开头,后面跟至少一个空白字符,而后又有至少一个非空白字符的行;

    12、打出netstat -tan命令执行结果中以‘LISTEN’,后或跟空白字符结尾的行;

    13、添加用户bash, testbash, basher, nologin (此一个用户的shell为/sbin/nologin),而后找出当前系统上其用户名和默认shell相同的用户的信息;

    Linux干货 2017-12-26