逻辑卷管理器LVM使用简介

逻辑卷管理器(LVM)

原理图如下:

逻辑卷管理器LVM使用简介

先准备一个分区/dev/sdb1,注意也存在ID问题,选择8e。
1.先把磁盘变成物理卷

在做这步前可以先看下系统中存在的物理卷,没有就什么都不会显示。

逻辑卷管理器LVM使用简介

把我们准备好的两个磁盘变成物理卷,注意我那使用旧的格式化的分区磁盘,可能会出现上面有文件系统或者卷标类型的问题,所以尽量使用新磁盘做实验。如果出现这种情况,可以使用dd命令来解决问题。

以下命令pvcreate是把 /dev/sdb1和/dev/sdc变成物理卷

逻辑卷管理器LVM使用简介

显示pv信息

pvs:简要pv信息显示

逻辑卷管理器LVM使用简介

pvdisplay
逻辑卷管理器LVM使用简介
2.创建卷组:使用命令vgcreate,创建卷组的时候有个单位叫PE(可以理解成是分区时候的块大小),-s 16M就是在指定PE大小。

逻辑卷管理器LVM使用简介

显示卷组

vgs

逻辑卷管理器LVM使用简介

pvdisplay 可以看到每个磁盘分多少个PE,记得区别开这个是查物理卷信息的指令啊,在这里使用只是让我们看下PE数量,实际想要查看卷组的具体信息还是要使用vgdisplay查看

逻辑卷管理器LVM使用简介

vgdisplay 查看卷组上分配多少个PE,主要这个命令是来查看卷组信息的

逻辑卷管理器LVM使用简介

3.创建逻辑卷使用命令lvcreate,注意这里-l是使用PE为单位,1000就相当于创建1000个逻辑卷单位,那就是16M*1000=16000M/1024=15.62G的样子吧,其实还可以使用-L指定创建多大的空间(-L 20G,就可以理解创建一个20G的),还有一种方式是 -l +1000(就是在原有逻辑卷空间上再增加1000PE),-L +20G (就是在原有逻辑卷空间上再增加20G)。
逻辑卷管理器LVM使用简介

逻辑卷管理器LVM使用简介

4.开始执行格式化就可以了

逻辑卷管理器LVM使用简介

5.格式化完成后就是挂载了

逻辑卷管理器LVM使用简介

这个时候你可以使用df -h(人类易于识别方式显示,理解成自动单位转化就可以了)看看你刚刚挂载的逻辑卷,就是你刚刚创建的那个16G左右。
逻辑卷管理器LVM使用简介
到这步如果想以后开机使用这个逻辑卷,记得要去/etc/fstab里面写配置文件。
到以上步骤就实现了一个逻辑卷的创建过程。

下面来实现一个逻辑卷的扩展:前提是我们卷组里面有可用的PE来提供给我们扩展
扩展逻辑卷的命令是vextend -L 100G(扩到100G,如果使用+100G是原有基础上加100G,本来是16G,使用加扩完后是116G,不使用加的话扩完后只是扩到100G这两个概念注意区别。)
下面例子里面有个LE单位跟我们物理卷里面遇到的PE是一个概念,只是一个是在物理卷的名字,一个是在逻辑卷里面的名字。

逻辑卷管理器LVM使用简介

此时df查看磁盘空间还没有同步,就是我们之前讲的文件系统影响到的问题,在这里再次使用命令resize2fs,在挂载的情况下直接去同步我们文件系统就好,这种方式很可靠,在挂载情况下重新格式化,并不会导致原有逻辑卷数据丢失。

逻辑卷管理器LVM使用简介
一次把卷组里面全部空间全部扩到逻辑卷的例子:这里需要写+100%,直接写100%无效。
逻辑卷管理器LVM使用简介
注意一个小问题:
resize2fs 这个命令至针对ext系列的文件系统

xfs文件系统用下面这个命令来扩展就好了

逻辑卷管理器LVM使用简介

下面一个问题是卷组被我们使用完,那么我就需要对卷组进行容量扩充了

1.首先给块新磁盘,把磁盘变成物理卷

逻辑卷管理器LVM使用简介

2.使用命令vgextend扩展卷组
逻辑卷管理器LVM使用简介

下一个问题,怎么从一个已经全部PE已经使用了的逻辑卷里面拆下来一个磁盘?

1.首选需要对需要拆下来的磁盘上PE进行搬家:

所存在的卷组里面还有足够的PE来存放需要搬家的磁盘上面的PE。

逻辑卷管理器LVM使用简介

2./dev/sdc已经不提供服务,可以将他重我们卷组中移除了

逻辑卷管理器LVM使用简介

3.这个时候他还是一个物理卷,我需要连物理卷也给他删了,变成一个普通磁盘。
逻辑卷管理器LVM使用简介

下一个问题是逻辑卷的缩减

1.缩减没有办法在线执行的,所以一定要先取消挂载

逻辑卷管理器LVM使用简介

2. 缩减文件系统,做之前先还是做下备份,然后系统强制要求我们做一次文件系统的完整性检查,使用命令e2fsck -f

逻辑卷管理器LVM使用简介

3.检查没有问题可以使用resize2fs 缩减文件系统了。

逻辑卷管理器LVM使用简介

4.缩减逻辑卷,这里会提醒你可能会导致数据丢失,所以备份的重要性就出来了,生产中数据安全是一切的基础,所以一定要备份。

逻辑卷管理器LVM使用简介

5.可以把缩减完后的逻辑卷重新挂载上去使用了,实验结束

mount /dev/vg0/lv0    /mnt/lv0

注意:生产中基本上很少出现这种逻辑卷的缩减,一般就是加比较多。

其实我们还有一个比较小的细节可以在逻辑卷的扩展中使用:相当于把逻辑卷扩展个文件系统扩展一步做到位,推荐使用。

lvextend -l  +100%FREE /dev/vg0/lv0
 resize2fs /dev/vg0/lv0

上面两步的功能是等同于下面一步的功能。

lvextend  -r  -L 100G   /dev/vg0/lv0

下一个问题是迁移卷组

1.先给我们需要迁移的卷组还有逻辑卷一个新的卷组名和逻辑卷名:
逻辑卷管理器LVM使用简介

逻辑卷管理器LVM使用简介

2.取消挂载

逻辑卷管理器LVM使用简介
3.卷组改变为不可用的状态
逻辑卷管理器LVM使用简介

4.导出卷组

逻辑卷管理器LVM使用简介

pvscan(等同于pvs) 扫描物理卷 pvdisplay 查看物理卷详细信息
5.移除硬盘

6.将硬盘插到新机器上面,先需要导入vgimport

逻辑卷管理器LVM使用简介

7.重新激活,挂载后就可正常使用了。
逻辑卷管理器LVM使用简介  

mount /dev/newvg0/newlv0  /mnt/newlv0

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

(0)
上一篇 2017-05-02 22:49
下一篇 2017-05-02 23:41

相关推荐

  • linux系统文件的元数据

    linux系统文件的元数据 什么是元数据 文件的数据分两种: 一种元数据,既属性数据:metadata 一种就是数据本身:data 如何查看元数据: stat stat命令用于显示文件的状态信息 [root@localhost ~]# stat /tmp/mylinux File: ‘/tmp/mylinux’ Size: 143 Blocks: 0 IO …

    Linux干货 2018-03-11
  • CentOS6删除/etc/fstab和/boot后恢复

    CentOS6删除/etc/fstab和/boot后恢复 背景: Linux CentOS系统和启动相关的文件都在/boot目录下,如果我们将/boot目录下所有的文件都删除,然后在恢复系统,那以后在遇到系统启动问题时就都可以解决了。在这基础上,在将/etc/fstab文件删除,这样更加大了修复的难度,不过这都是可以修复的,这里就将介绍如何修复。 实验环境:…

    2017-09-01
  • MHA

    1.关于MHA MHA是一款开源的mysql的高可用程序,它为mysql主从复制架构提供了automating master failover功能。MHA在监控到master节点故障时,会提升其中拥有最新数据的slave节点成为新的master节点,在此期间,MHA会通过与其他从节点获取额外的信息来避免不一致性的问题。MHA还提供了master节点的在线切换…

    2016-11-26
  • 使用replicate-rewrite-db 实现复制映射 + Replicate_Wild_Do_Table实现复制过滤

    实验环境:CentOS7.2 + MySQL5.7 node1(192.168.2.171)和node2(192.168.2.172) 为两台不同业务的MySQL服务器。 业务方有个需求,需要将node1上的employees库的departments 、dept_manager 这2张表同步到 node2 的 hellodb 库下面。 node1的empl…

    Linux干货 2017-05-06
  • 第二周-作业

    第二周作业: 题1、Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示。 Linux上常见的文件管理类命令有mkdir、touch、cp、mv、rm、stat。     mkdir:创建新目录         用法:mk…

    Linux干货 2016-12-08
  • kickstart+http+dhcp+tftp实现centos7的无人值守安装

    环境:IP: 172.16.0.11 centos 7.2 一. tftp 安装tftp服务端和客户端 [root@localhost ~]# yum -y install tftp tftp-server 启动tftp [root@localhost ~]# systemctl start tftp.socket [root@localhost ~]# s…

    Linux干货 2017-06-03