1. LVM 的介绍

引出 LVM:

centos7 非lvm根目录扩容 centos7 lvm管理_文件系统

对于生产环境下的服务器来说,如果存储数据的分区磁盘空间不够了怎么办?

数据复制到另一个硬盘中,再换一块更大的硬盘。这是传统的解决办法。

新时代的解决方案是:使用 LVM 动态扩容!

 LVM 的工作原理:

LVM(Logical Volume Manager)逻辑卷管理,是在磁盘分区和文件系统之间添加的一个逻辑层,来为文件系统屏蔽下层磁盘分区布局,提供一个抽象的盘卷,在盘卷上建立文件系统。管理员利用 LVM 可以在磁盘不用重新分区的情况下动态调整文件系统的大小,并且利用 LVM 管理的文件系统可以跨越磁盘,当服务器添加了新的磁盘后,管理员不必将原有的文件移动到新的磁盘上,而是通过 LVM 可以直接扩展文件系统跨越磁盘。

常用术语:

物理存储介质:LVM 的存储介质可以是磁盘分区、磁盘、RAID 或 SAN 磁盘,设备必须初始化为 LVM 物理卷,才能与 LVM 结合使用。

物理卷 PV:LVM 的基本存储逻辑块,但和基本的物理存储介质(分区、磁盘)比较,却包含有与 LVM 相关的管理参数。创建物理卷可以用硬盘分区,也可以用硬盘本身。

卷组 VG:一个 LVM 卷组由一个或多个物理卷组成。

逻辑卷 LV:LV 建立在 VG 之上,可以在 LV 之上建立文件系统。

PE:PV 物理卷中可以分配的最小存储单元,PE 的大小是可以指定的,默认为4MB。

LE:LV 逻辑卷中可以分配的最小存储单元,在同一个卷组中,LE 的大小和 PE 是相同的,并一一对应。

最小存储单元合集:

名称

最小存储单位

硬盘

扇区(512字节)

文件系统

block(1K 或 4K)

RAID

chunk(512K)

LVM

PE(4M)

LVM 主要元素构成:

centos7 非lvm根目录扩容 centos7 lvm管理_逻辑卷_02

LVM 的优点:

(1)使用卷组,使多个硬盘空间看起来像一个大的硬盘。

(2)使用逻辑卷,可以跨多个硬盘空间的分区,在使用逻辑卷时可以在空间不足时动态调整它的大小。在调整逻辑卷的大小时,不需要考虑逻辑卷在硬盘上的位置,不用担心是否有可用的连续空间。

(3)可以在线对 LV 和 VG 进行创建、删除和调整大小等操作,并且操作完成后 LVM 上的文件系统也要重新调整大小。

(4)允许创建快照,用来保存文件系统的备份。

RAID+LVM 合用的优势:LVM 是软件的卷管理方式,RAID 是磁盘管理的方法。对于重要的数据,使用 RAID 用来保护物理的磁盘不会因为故障而中断业务,再用 LVM 用来实现对卷的良性的管理,更好的利用磁盘资源。

2. LVM 的创建和删除

基本步骤:

(1)物理磁盘被格式化为 PV,空间被划分成一个个 PE,PV 包含 PE;

(2)不同的 PV 加入到同一个 VG 中,不同 PV 的 PE 全部进入到了 VG 的 PE 池内,VG 包含了 PV;

(3)在 VG 中创建 LV 逻辑卷,基于 PE 创建,组成 LV 的 PE 可能来自不同的物理磁盘,LV 基于 PE 创建; 

(4)LV 格式化后挂载使用;

(5)LV 的扩充缩减实际上是增加或减少组成该 LV 的 PE 数量,在这个过程中原始数据不会丢失。

LVM 常用的命令:

功能

PV 管理命令

VG 管理命令

LV 管理命令

scan 扫描

pvscan

vgscan

lvscan

create 创建

pvcreate

vgcreate

lvcreate

display 显示

pvdisplay

vgdisplay

lvdisplay

remove 移除

pvremove

vgremove

lvremove

extend 扩展

 

vgextend

lvextend

reduce 减少

 

vgreduce

lvreduce

 

查看卷名

简单对应卷信息的查看

扫描相关的所有的对应卷

详细对应卷信息的查看

物理卷

pvs

pvscan

pvdisplay

卷组

vgs

vgscan

vgdisplay

逻辑卷

lvs

lvscan

lvdisplay

创建并使用逻辑卷:

(1)添加一块磁盘,开始创建 PV

下述操作重复4次,创建4个主分区,每个分区1G!

centos7 非lvm根目录扩容 centos7 lvm管理_文件系统_03


创建 PV!

centos7 非lvm根目录扩容 centos7 lvm管理_文件系统_04


查看物理卷信息!

centos7 非lvm根目录扩容 centos7 lvm管理_文件系统_05


(2)创建 VG 卷组

centos7 非lvm根目录扩容 centos7 lvm管理_存储单元_06


查看卷组信息!

centos7 非lvm根目录扩容 centos7 lvm管理_逻辑卷_07

(3)创建 LV

-n:指定新逻辑卷的名称

-L:指定 LV 大小的 size

centos7 非lvm根目录扩容 centos7 lvm管理_逻辑卷_08

centos7 非lvm根目录扩容 centos7 lvm管理_逻辑卷_09


查看物理卷信息!已经使用了8个 PE!

centos7 非lvm根目录扩容 centos7 lvm管理_存储单元_10


查看卷组信息!

centos7 非lvm根目录扩容 centos7 lvm管理_linux_11

(4)格式化文件系统与挂载

创建挂载点!

centos7 非lvm根目录扩容 centos7 lvm管理_linux_12


逻辑卷的位置!

centos7 非lvm根目录扩容 centos7 lvm管理_逻辑卷_13


文件系统格式化!

centos7 非lvm根目录扩容 centos7 lvm管理_linux_14


挂载!

centos7 非lvm根目录扩容 centos7 lvm管理_存储单元_15


显示使用情况!

centos7 非lvm根目录扩容 centos7 lvm管理_逻辑卷_16


设置开机自动挂载!

centos7 非lvm根目录扩容 centos7 lvm管理_文件系统_17

(5)LV 扩容

-L +30:扩容30M

-L 30:扩容到30M

centos7 非lvm根目录扩容 centos7 lvm管理_存储单元_18


查看逻辑卷扩容情况!

centos7 非lvm根目录扩容 centos7 lvm管理_linux_19


扩容文件系统!

centos7 非lvm根目录扩容 centos7 lvm管理_逻辑卷_20


显示使用情况!已经扩容成功!

centos7 非lvm根目录扩容 centos7 lvm管理_逻辑卷_21

(6)VG 扩容

创建 PV!

centos7 非lvm根目录扩容 centos7 lvm管理_linux_22


开始扩容!

centos7 非lvm根目录扩容 centos7 lvm管理_centos7 非lvm根目录扩容_23


查看卷组扩容情况!

centos7 非lvm根目录扩容 centos7 lvm管理_linux_24

(7)指定 PE 的大小

-s:指定 size

centos7 非lvm根目录扩容 centos7 lvm管理_文件系统_25


查看卷组信息!

centos7 非lvm根目录扩容 centos7 lvm管理_文件系统_26

LVM 的删除:

(1)卸载

centos7 非lvm根目录扩容 centos7 lvm管理_centos7 非lvm根目录扩容_27

(2)移除 LV

centos7 非lvm根目录扩容 centos7 lvm管理_逻辑卷_28

(3)移除 VG

centos7 非lvm根目录扩容 centos7 lvm管理_linux_29

(4)移除卷组

centos7 非lvm根目录扩容 centos7 lvm管理_centos7 非lvm根目录扩容_30