文章目录
- 前言
- 一、LVM概述
- 二、LVM基本概念
- 三、LVM管理命令
-
- [3.1 命令分类](#3.1 命令分类)
- 四、LVM操作流程
-
- [4.1 关闭主机,添加两块新硬盘,重启主机](#4.1 关闭主机,添加两块新硬盘,重启主机)
- [4.2 使用fdisk工具进行分区设置](#4.2 使用fdisk工具进行分区设置)
- [4.3 创建物理卷](#4.3 创建物理卷)
- [4.4 创建卷组](#4.4 创建卷组)
- [4.5 创建逻辑卷](#4.5 创建逻辑卷)
- [4.6 格式化与挂载](#4.6 格式化与挂载)
- [4.7 扩容逻辑卷](#4.7 扩容逻辑卷)
-
- [4.7.1 创建新的物理卷](#4.7.1 创建新的物理卷)
- [4.7.2 扩展卷组](#4.7.2 扩展卷组)
- [4.7.3 扩展逻辑卷](#4.7.3 扩展逻辑卷)
- [4.7.4 刷新文件系统](#4.7.4 刷新文件系统)
- 总结
前言
LVM(Logical Volume Manager)是Linux环境下对磁盘分区进行管理的一种机制。它通过将底层物理硬盘抽象化,使管理员能够更灵活地分配、调整和管理存储空间。本文档将详细介绍LVM的核心概念、管理命令及操作流程,帮助用户快速掌握LVM的使用方法。
一、LVM概述
二、LVM基本概念
-
PV(Physical Volume,物理卷)
LVM的基本存储单元,通常对应为一个普通分区或整个硬盘。在创建物理卷时,系统会在存储设备头部建立LVM属性记录区,并将空间划分为默认4MB的物理扩展块(PE)。
PE(Physical Extent,物理扩展块)特性:- 可选大小:4/8/16/32/64MB
- 较小PE提升空间利用率
- 单个卷组最多支持65534个PE(PE大小直接影响卷组最大容量)
-
VG(Volume Group,卷组)
由一个或多个物理卷组成一个整体,即称为卷组,支持动态调整:
- 可随时添加新物理卷
- 可移除现有物理卷
-
LV(Logical Volume,逻辑卷)
基于卷组的逻辑存储单元:
- 与底层物理设备解耦
- 从卷组空间分配创建
- 支持文件系统格式化
三、LVM管理命令
3.1 命令分类
功能 | 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 |
四、LVM操作流程
需求:需要创建两个10G物理卷 并且设置逻辑卷15G挂载到 yjs0805
4.1 关闭主机,添加两块新硬盘,重启主机
-
关闭主机,添加两块新硬盘,重启主机。
-
或使用命令扫描新硬盘:
bashecho "- - -" > /sys/class/scsi_host/host0/scan
查看磁盘分区情况
bash
[root@simon ~]# fdisk -l

4.2 使用fdisk工具进行分区设置
- 使用
fdisk
工具将磁盘设备(如/dev/sdb
、/dev/sdc
)划分为主分区(如sdb1
、sdc1
),并将分区类型ID标记为"8e"(LVM类型)。
bash
fdisk /dev/sdb
fdisk /dev/sdc
bash
[root@simon ~]# fdisk /dev/sdb
欢迎使用 fdisk (util-linux 2.23.2)。
更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。
Device does not contain a recognized partition table
使用磁盘标识符 0xa9e88d6c 创建新的 DOS 磁盘标签。
命令(输入 m 获取帮助):n
Partition type:
p primary (0 primary, 0 extended, 4 free)
e extended
Select (default p):
Using default response p
分区号 (1-4,默认 1):
起始 扇区 (2048-20971519,默认为 2048):
将使用默认值 2048
Last 扇区, +扇区 or +size{K,M,G} (2048-20971519,默认为 20971519):
将使用默认值 20971519
分区 1 已设置为 Linux 类型,大小设为 10 GiB
命令(输入 m 获取帮助):t # 改变一个分区的系统号码
已选择分区 1
Hex 代码(输入 L 列出所有代码):8e # LVM类型
已将分区"Linux"的类型更改为"Linux LVM"
命令(输入 m 获取帮助):p
磁盘 /dev/sdb:10.7 GB, 10737418240 字节,20971520 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0xa9e88d6c
设备 Boot Start End Blocks Id System
/dev/sdb1 2048 20971519 10484736 8e Linux LVM
命令(输入 m 获取帮助):w
The partition table has been altered!
Calling ioctl() to re-read partition table.
正在同步磁盘。

4.3 创建物理卷
bash
pvcreate /dev/sdb1 /dev/sdc1
pvscan

4.4 创建卷组
bash
vgcreate vgname1 /dev/sdb1 /dev/sdc1
vgdisplay
4.5 创建逻辑卷
bash
lvcreate -L 15G -n lvname1 vgname1

4.6 格式化与挂载
-
格式化逻辑卷为XFS文件系统:
bashmkfs.xfs /dev/vgname1/lvname1
-
挂载到指定目录:
bashmount /dev/vgname1/lvname1 /yjs_0805 df -Th

4.7 扩容逻辑卷

可以看到,经过上述分配后,卷组vgname1的剩余空间仅剩5GB。当需要扩展逻辑卷时:
- 若需求空间小于5GB,直接执行
lvextend -L +扩展空间 /dev/vgname1/lvname1
即可完成扩展 - 若所需空间超过剩余空间(例如需要扩展10GB),则需要先扩展卷组容量,具体操作如下:
4.7.1 创建新的物理卷
方式和上面类似,就不赘述了。我创建一块大小为10g的物理卷/dev/sdd1。
4.7.2 扩展卷组
bash
vgextend vgname1 /dev/sdd1
vgdisplay vgname1

4.7.3 扩展逻辑卷
bash
lvextend -L +10G /dev/vgname1/lvname1

4.7.4 刷新文件系统
-
对于XFS文件系统:
bashxfs_growfs /dev/vgname1/lvname1
-
对于ext4文件系统:
bashresize2fs /dev/vgname1/lvname1

总结
创建与删除LVM流程如下:
创建 LVM 步骤:
- 使用
pvcreate
创建物理卷 (PV) - 通过
vgcreate
创建卷组 (VG) - 使用
lvcreate
创建逻辑卷 (LV) - 执行
mkfs.xfs
格式化逻辑卷 - 最后使用
mount
挂载逻辑卷
删除 LVM 步骤:
- 首先
umount
卸载逻辑卷 - 使用
lvremove
移除卷组中的所有逻辑卷 - 通过
vgremove
删除卷组 - 最后执行
pvremove
移除物理卷
LVM提供了一种灵活且高效的磁盘管理方式,支持动态调整存储空间,适用于需要频繁变更存储需求的场景。通过本文档的介绍,用户可以掌握LVM的核心概念、管理命令及操作流程,从而更好地利用LVM优化存储管理。建议在实际操作前备份重要数据,以避免意外情况导致的数据丢失。