Linux LVM 创建指南
LVM
Logical Volume Manager,即逻辑卷管理器,是一种逻辑卷管理模式。这种模式在硬盘的某个分区上创建一个逻辑层,在层内创建逻辑卷组和逻辑卷。相对于传统的管理模式,这种模式更为灵活。
基本术语
- Physical Volume:物理卷;
- Volume Group:卷组;
- Logical Volume:逻辑卷;
- Physical Extent:物理单元。
关系
PV处于LVM系统最低层,它可以是某个磁盘、RAID阵列,或与磁盘分区具有相同功能的硬件。
VG创建在PV之上,由一个或多个PV组成,可以在VG上创建一个或多个“LVM分区”(逻辑卷),功能类似非LVM系统的物理硬盘。
LV是从VG中分割出的一块空间,其上可以创建文件系统。LV的大小是可调节的。
PE是每一个PV划分出的基本单元,具有唯一编号的PE是可以被LVM寻址的最小存储单元。单个PE的默认大小为4MB。

LVM 管理:以 Ubuntu 为例
准备工作
管理 LVM 一般会使用到:
fdiskparted或gpartedlvm2
以上工具都可以通过 apt 安装,以下操作默认以 root 权限进行。
查看硬盘信息
通过以下指令查看硬盘信息:
1 | fdisk -l |
假设硬盘被挂载于/dev/sdc。
建立 LVM模式 分区
使用 fdisk 管理该磁盘:
1 | fdisk /dev/sdc |
- 通过
fdisk指令 新建一个分区,假定为/dev/sdc1; - 键入指令
t修改分区格式,选择该分区; - 键入指令
e,选择分区后键入8e将该分区转换为Linux LVM分区; - 键入指令
w保存并退出fdisk。
创建 PV
管理 PV 主要有以下指令:
1 | pvcreate ## 创建 PV |
通过以下指令初始化物理卷,假定为 /dev/sdc1:
1 | pvcreate /dev/sdc1 |
检查基本信息:
1 | pvs |
1 | pvdisplay |
创建 VG
管理 VG 主要有以下指令:
1 | vgcreate ## 创建 VG |
通过以下指令初始化 VG,假定为 /dev/sdc1 创建 VG 名为 vg_1
1 | vgcreate vg_1 /dev/sdc1 |
然后通过 vgs vgdisplay查看所有 VG 的信息。
创建 LV
管理 LV 主要有以下指令:
1 | lvcreate ## 创建 LV |
通过以下指令初始化 LV,假定为 vg_1 创建 LV 名为 lv_pri:
1 | lvcreate -L 500G -n lv_pri lv_1 |
该 LV 会被挂载至 /dev/[vg_name]/[lv_name],在此例中为 /dev/vg_1/lv_pri。通过 lvs lvdisplay /dev/vg_1/lv_pri查看所有 LV 的信息。
格式化LV
利用 mkfs 命令可将 LV 格式化,方法和格式化一个主分区、扩展分区一致。也可以使用 gparted 管理 LV。
扩展 VG 与扩容 LV
通过以下指令扩展 VG,例如将分区 /dev/sdd1 扩展入 VG vg_1:
1 | vgextend /vg_1 /dev/sdd1 |
通过以下指令扩容 LV /dev/vg_1/lv_pri:
1 | lvextend -L 523.33G /dev/vg_1/lv_pri |
删除 VG 与 LV
通过 lvremove 删除 LV:
1 | lvremove vg_1 vg_pri |
通过 vgremove 删除 VG:
1 | vgremove vg_1 |