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

相关推荐

  • ocata openvswtich

      一、Controller配置1、安装软件 # yum –enablerepo=centos-openstack-ocata,epel -y install openstack-neutron openstack-neutron-ml2 2、修改配置文件/etc/neutron/neutron.conf [DEFAULT]core_p…

    2018-01-22
  • 正则

    Edit 正则 概述: 正则表达式,Regular Expression,缩写regex、regexp、RE 正则表达式是文本处理极为重要的技术,用它可以对字符串按照某种规则进行检索、替换 1970年,Unix之父ken Thompson将正则表达式引入到Unix中文本编辑器ed和grep命令中,由此正则表达式普及开来 1980年后,perl语言对Henry…

    Linux干货 2017-11-06
  • MooseFS性能图表[原创]

    对MooseFS有了一定的了解,现在可以压压它的性能了,使用的是iozone IO测试工具。测试命令为:./iozone -a -n 512m -g 4g -i 0 -i 1 -f /mnt/mfs/logs/test.tar.gz -Rb ./iozone.xls -C测试说明1、/mnt/mfs/logs/test.tar.gz大小为9.2G,大于服务器…

    Linux干货 2015-03-27
  • 利用keepalived搭建高可用集群

    在一个系统中,常常存在一些单点服务器,为了提高整个系统的稳定性,我们常常需要对这些单点服务做高可用配置;keepalived即为一种常用的高可用配置服务; Keepalived的工作模式有以下两种: 1、 主/备:即单虚拟路径器,仅配置一个VIP; 2、 主/主:即多个虚拟路径器,配置多个VIP,每个虚拟路径器作为其中某个VIP的的master虚拟路径器; …

    Linux干货 2016-11-01
  • ansible基础应用

    ansible基础 一、运维主要工作 ansible聚集以上功能于一身,能够完整轻易的实现应用部署和批量命令功能,适用于主机数量不太多,再大的用puppet。 二、ansible特性 (1)模块化:调用特定的模块,完成特定任务; (2)基于python语言实现,由paramiko,PYYAML和JINJa2三个关键模块组成 (3)部署简单:agentless…

    Linux干货 2017-01-04
  • LVS详解及拓扑具体实现

    LVS:Linux Virtual Server Linux Cluster:集群,为解决某个特定问题将多台主机组织起来,满足同一个需求; 单台主机处理能力有限,包括cpu、IO、内存、带宽等资源,无法满足客户端请求;把用户的请求分散到多个不同的服务器,分摊压力; 集群的类型: LB:Load Balancing,负载均衡集群;负载均衡器,或调度器、分发器;…

    Linux干货 2016-10-28