Linux磁盘管理 (二) ———— LVM

207 阅读3分钟

本文已参与「新人创作礼」活动,一起开启掘金创作之路。

Linux磁盘管理 (二) ———— LVM

LVM理论

LVM,即Logical Volume Manager,逻辑卷管理器,是一种硬盘的虚拟化技术,可以允许用户的硬盘资源进行灵活的调整和动态管理。

LVM是Linux系统对于硬盘分区管理的一种机制,诞生是为了解决硬盘设备在创建分区后不易修改分区大小的缺陷。尽管对硬盘的强制性扩容和缩容理论上是可行的,但是却可能造成数据丢失。LVM技术是通过在硬盘分区和文件系统之间增加一个逻辑层,提供了一个抽象的卷组,就可以把多块硬盘设备、硬盘分区,甚至RAID整体进行卷则合并。并可以根据情况进行逻辑上的虚拟分割,这样一来,用户不用关心物理硬盘设备的底层架构和布局,就可以实现对硬盘分区设备的动态调整。

LVM的架构体系中,有三个很重要的概念:

PV,物理卷,即实际存在的硬盘、分区或者RAID

VG,卷组,是由多个物理卷组合形成的大的整体的卷组

LV,逻辑卷,是从卷组上分割出来的,可以使用使用的逻辑存储设备

LVM架构体系如下图所示:

LVM创建和管理命令

在部署LVM时,要依次配置PV物理卷、VG卷组和LV逻辑卷。

常用的LVM部署命令如下表所示:

功能/命令物理卷管理卷组管理逻辑卷管理
扫描pvscanvgscanlvscan
建立pvcreatevgcreatelvcreate
显示pvdisplayvgdisplaylvdispaly
删除pvremotevgremotelvremote
扩展物理卷不能扩展vgextendlvextend
缩小物理卷不能缩小vgreducelvreduce

PV、VG、LV的关系:

硬盘或分区做成pv,然后将pv或多个pv建立vg,vg上建立lv。然后再把lv挂载到目录上使用。

image.png

逻辑卷可以看成一个逻辑硬盘。逻辑卷屏蔽了底层的磁盘分区

image.png

增加VG空间通过添加硬盘来实现,增加LV空间通过减小VG来实现。

创建一个LV:

基本步骤:

添加三块大小为3GB的硬盘 :sdb、sdc、sdd

1、把硬盘分成一个主分区,并把分区标识改成 8e。

fisk /dev/sdb
n
<回车>
t
8e
w //保存,并退出

(其它硬盘同理)

2、建立物理卷(这步可以省略,直接做VG)

  pvcreate  /dev/sdb1

  pvcreate  /dev/sdc1

  pvcreate  /dev/sdd1

2、把分好区的硬盘组成卷组VG。(会自动把分区变成PV,VG名:vg1)

先装软件lvm软件

yum  install  -y  lvm2

# vgcreate   /dev/vg1    /dev/sdb1  /dev/sdc1  /dev/sdd1 

# vgs //查看所有vg

3、 在vg上创建lv(名称为lv1,大小为1G的逻辑卷)

# lvcreate -n  lv1  –L  1G  /dev/vg1

# lvs

mkfs.ext4  /dev/vg1/lv1 //格式化lv1为ext4格式

4、挂载

  mount /dev/vg1/lv1  /mnt/lv1  

5、永久挂载(在/etc/fstab文件里添加一行信息)

/dev/vg1/lv1   /mnt/lv1   ext4  defaults   0   0

6、增大lv1的空间1GB:

用lvs查看lv1的大小

lvextend  -L +1G  /dev/vg1/ lv1

7、增加vg1空间,将硬盘sde的第一个逻辑分区扩容到vg空间

  vgextend  vg1   /dev/sde5

8、减少lv1的空间1G

 Lvreduce  -L -1G  /dev/vg1/lv1

9、删除逻辑卷

lvremove  /dev/vg1/lv1     //必须先取消挂载