18 LVM逻辑卷管理

  根据上一节的内容,我们知道md这个内核模块可以用来做软RAID的管理。同时RAID实现了两个功能:1、提高了磁盘的读写能力;2、对于数据进行了冗余备份;

  但是,如果是管理员手动误删的数据,则一样无法找回。同时,如果磁盘不够用了,这时候添加磁盘则是一件比较麻烦的事情;为了解决这两个问题,Linux系统内核提供了dm模块(device mapper)实现LVM功能;

LVM--逻辑卷管理

  LVM逻辑卷管理,主要功能即为:可以灵活的管理磁盘的大小,单某个逻辑卷不够用,可以将磁盘加大,同时,如果某个逻辑卷没有使用的空间比较多,则可以将空闲空间拿出来;LVM通过dm模块来实现这个功能;

  逻辑卷LVM分为三个层次:

18 LVM逻辑卷管理

  最下层为物理卷,我们叫做PV,它是真实存在的磁盘,上层LV的最大空间就由PV物理卷来决定;

  中间层为卷组VG,也就是由物理卷组成的一个集合;

  最上层为逻辑卷LV,从卷组中提取空间,逻辑卷进行格式化,进行磁盘挂载,可以使用;

  在一个卷组中可以有多个PV物理卷,VG的大小取决于PV总和的代销,每一个LV就是一个独立的分区,它的大小是可以改变的,同时LV逻辑卷也具有快照功能,能够对数据进行备份

  物理卷存储数据的单位叫做PE(physical extend),只有指定磁盘为PV后才会有这个概念。

  同理,逻辑卷存储数据的单位叫做LE(logic extend),它是用来存储数据的单元。

  【工作中,LVM经常是建立在RAID之上的】

LVM管理命令总结

  首先,我们可以通过 yum install lvm* 来安装lvm工具;

  lvm下常见的命令如下:

18 LVM逻辑卷管理

  【注意:在通过pvremove命令移除物理卷的时候,一定要先通过pvmove命令将上面的数据移动到其他磁盘才行】

常见操作

  创建一个lv逻辑卷,操作如下图:

18 LVM逻辑卷管理

    其中 lvcreate 命令中 -n 指定lv名称,-L 指定lv的大小,最后接上从哪个 VG 取这个空间,即可;

    除了 /dev/VGtest/LVtest 目录外,我们的逻辑磁盘还存放于 /dev/mapper 目录下面;

  1、扩展逻辑卷大小

  创建分区的过程就是创建逻辑边界的过程。这就已经确定了存储数据的空间大小,所以如果要扩张空间,就需要先扩展物理边界,再扩展逻辑边界,我们通过lvextend扩展物理边界,再通过resize2fs扩展逻辑边界:

  lvextend -L [+2]G /dev/VGtest/LVtest  #不加“+”表是扩展到2G,加“+”表示在原来的基础上扩展2G

18 LVM逻辑卷管理

  添加LV空间以后,依然还是无法使用的,因为新加的这部分空间是没有做文件系统的,所以,我们需要通过 resize2fs 命令将新加的磁盘空间添加文件大小;

18 LVM逻辑卷管理

  其中 -p 则是指定文件添加内容的参数;

  2、减小逻辑卷

  需要注意的是,不能在线缩减磁盘大小,必须先将逻辑卷卸载下来,并且确保缩减后的磁盘空间大小依然能够保存现有的数据,在缩减之前需要检查文件系统,确保文件系统处于一致性状态;

  操作如下:

18 LVM逻辑卷管理

  3、对逻辑卷做快照

  首先我们要明白,快照卷是不能修改的,它存在的目的就是在数据丢失的时候能恢复到当前数据格式下来,所以快照卷是不能修改的;

  lvcreate

    -s 指定该卷为镜像卷

    -p 指定该卷的r|w只读权限

    -L 数据的增长量不能超出快照卷的大小

  最后快照卷需要跟原卷在同一个卷组;

18 LVM逻辑卷管理

  恢复镜像则是:

  lvconvert --merge /dev/mapper/LVtest_backup

 

上一篇:数据库性能优化:SQL索引


下一篇:Informatica_(4)工作流