1、初步介绍

LVM是 Logical Volume Manager(逻辑卷管理)的简写,它是Linux环境下对磁盘分区进行管理的一种机制。Linux用户安装Linux操作系统时遇到的一个常见的难以决定的问题就是如何正确地评估各分区大小,以分配合适的硬盘空间。普通的磁盘分区管理方式在逻辑分区划分好之后就无法改变其大小,当一个逻辑分区存放不下某个文件时,这个文件因为受上层文件系统的限制,也不能跨越多个分区来存放,所以也不能同时放到别的磁盘上。随着Linux的逻辑卷管理功能的出现,这些问题都迎刃而解,用户在无需停机的情况下可以方便地调整各个分区大小。

2、进一步介绍操作过程

2.1、使用lvm管理磁盘之前,准备工作(准备一块空硬盘进行演示需要)实际生产线上,应该以单个块硬盘为准,不建议在磁盘上分多个pv。尽量保持单独硬盘大小一致)

Linux磁盘管理之LVM_Linux

对于硬盘分区怎么创建这里就不过多演示,之前的博客有,需要的同学自行查找!我只把需要的命令指出

 Linux磁盘管理之LVM_操作系统_02

由于lvm是一个软件程序,所以在为LVM添加磁盘磁盘分区之前,需要把磁盘的格式修改为8e,也就是lvm格式。这样lvm程序才能管理。

Linux磁盘管理之LVM_lvm管理_03

修改完之后,需要按W键保存退出。这里需要提醒下,如果是新添加的硬盘,第一次划分的时候,可以不需药同不磁盘列表,会自动读取。但是如果是多次操作过的,建议操作不同一下,避免出现问题,系统无法识别;

[root@node5 ~]# partx -a /dev/sdb

这里还有一个需要提醒的,一块scsi硬盘最多在linux系统上支持15个分区,尽量规划好

Linux磁盘管理之LVM_操作系统_04

2.2、创建lvm中的物理卷(pv)

Linux磁盘管理之LVM_软件管理linux磁盘_05 

[root@node5 ~]# pvcreate /dev/sdb{1,2,3,5}——其中它包含了之前创建几个分区

创建的pv,我使用了比较偷懒的办法,一次把需要的pv全部创建完成了

可以通过使用pvscan或者pvdisplay命令查看创建pv的结果在这里查询结果略带使用一点点正则。

Linux磁盘管理之LVM_软件管理linux磁盘_06

2.3、物理卷创建结束之后,接着去创建VG(卷组)

Linux磁盘管理之LVM_lvm管理_07

在这里创建的VG以VGtest为名字,然后还指定了PE块大小。这里一样偷懒创建哈~,

一样可以通过vgscan和vgdisplay命令查询其创建结果如何

Linux磁盘管理之LVM_Linux_08

Linux磁盘管理之LVM_软件管理linux磁盘_09

2.4、VG创建结束之后,接下来进行lv的创建

Linux磁盘管理之LVM_软件管理linux磁盘_10

对于lv的创建其实很简单,基本只需要指定通过-n指定其名字,-L指定需要lv的容量打下,然后指定在哪个VG下创建即可。

创建完成之后,确认创建结果

Linux磁盘管理之LVM_软件管理linux磁盘_11

Linux磁盘管理之LVM_Linux_12

3、创建结束之后,接下来去把已经创建好的lv格式化,挂载就能够正常使用,和正常磁盘没什么区别

3.1、格式化lv磁盘

Linux磁盘管理之LVM_软件管理linux磁盘_13

3.2、格式化完成之后,挂载磁盘即可

Linux磁盘管理之LVM_Linux_14

3.3、检查文件系统是否能够正常使用

Linux磁盘管理之LVM_磁盘管理_15

4、lvm的延伸部分一,准备工作,确认创建lv的空间大小

Linux磁盘管理之LVM_Linux_16

Lv和之前创建的大小无误。

4.1、如果创建的lv空间不够大,那么该咋办呢???

Linux磁盘管理之LVM_Linux_17

这里需要主要的一点是,当个想要要lv扩容的时候,注意下,-L 后面如果有+size组成那么,就说嘛在原来的基础上在加上多少空间,但是如果是size那就表示把原来的空间,扩展到现在的大小。在操作lv的时候还是需要谨慎些。

4.2、扩容之后,去查看lv的大小的时候,会发现一个很有意思的事情,扩展的空间没有被加上,这是为啥勒?

Linux磁盘管理之LVM_lvm管理_18

这里你是不是怀疑没扩容成功呢??其实不然确实已经扩容成功,可以去查看率确认。

Linux磁盘管理之LVM_操作系统_19

究其原因呢,是因为没有把扩容的部分没有同步,只需要同步一下即可

Linux磁盘管理之LVM_软件管理linux磁盘_20

那你是不是怀疑,数据有没有被损坏??其实也没有

Linux磁盘管理之LVM_lvm管理_21

其实对于扩容来说还是很简单的,但是对于缩减来说,那就需要特别的小心。如果一不小心操作错误,那可后果你懂的,不需要我说的!

4.3、对于缩减操作接下来需要特别注意些,这里再三强调,数据无价,损坏你懂的!

4.3.1、在缩减空间之前需要把存在磁盘上的数据,备份以防缩减导致数据丢失这里就不演示了

Linux磁盘管理之LVM_lvm管理_22

再三确认依据被卸载了。

4.3.2、在缩减之前还需要对其进行检测,看看磁盘是否存储问题,再三确认。

Linux磁盘管理之LVM_操作系统_23

4.3.3、在对lv空间缩减的时候,实际上是先把文件系统的空间大小缩写,然后再去缩写实际上的空间打下,如果次序颠倒,那就恭喜你,被损坏了。先进行文件系统空间缩减。

Linux磁盘管理之LVM_Linux_24


4.3.3、文件系统的空间缩减之后,接着去缩减lv空间大小

Linux磁盘管理之LVM_软件管理linux磁盘_25

4.3.4、在缩减lv空间之后,建议在挂载之前还是需要再次检查一下文件系统,是否有问题

Linux磁盘管理之LVM_操作系统_26

4.3.5、检查没问题之后,挂载文件系统

Linux磁盘管理之LVM_lvm管理_27

4.3.6、挂载之后,确认空间大小极其是否数据完整

Linux磁盘管理之LVM_磁盘管理_28

5、lvm的延伸二

如果VG的空间不足,那又该咋办呢??

5.1、首先需要添加一块pv

Linux磁盘管理之LVM_Linux_29

添加完成之后,可以通过pvscan确认创建成功

Linux磁盘管理之LVM_操作系统_30

这里顺带把移除PV的操作也演示出来,其实很简单

Linux磁盘管理之LVM_lvm管理_31

5.2、接着去给VG扩容,很简单操作

Linux磁盘管理之LVM_磁盘管理_32

创建完成之后,去看确认是否已经添加成功

Linux磁盘管理之LVM_Linux_33

在这里还是需要提示下对已,缩减VG很简单的,操作以下的操作

Linux磁盘管理之LVM_Linux_34

6、移除lV到磁盘的过程

6.1、卸载以及挂载的文件系统,然后删除LV

Linux磁盘管理之LVM_软件管理linux磁盘_35

6.2、接着去移除VG(vgremove VGtest )

Linux磁盘管理之LVM_Linux_36

6.3、最后再去移除pv即可

Linux磁盘管理之LVM_lvm管理_37

6.4、通过查看pvscan,确认是否已经删除完成

Linux磁盘管理之LVM_lvm管理_38