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 一般会使用到:
fdisk
parted
或gparted
lvm2
以上工具都可以通过 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 |