一、LVM概述
1.1 基本概念
LVM(Logical Volume Manager,逻辑卷管理)是一种在Linux系统中用于管理磁盘和卷的技术,它提供了动态调整磁盘和卷大小的灵活性,同时还带来了数据保护和故障恢复的功能。
/boot分区用于存放引导文件,不能基于LVM创建
1.2 优点
- 灵活性:在不重新分区或重新格式化的情况下,动态地调整逻辑卷的大小,扩展卷组的存储容量等。
- 数据保护:数据快照(snapshot)功能,可以创建卷的快照备份,以便在需要时还原文件系统到先前的状态。
- 故障恢复:LVM允许你使用热插拔(hot-swappable)的方式添加或移除磁盘,从而方便在系统运行时进行故障恢复和替换。
1.3 构成(部分)
-
物理卷PV :物理硬盘或者分区
-
逻辑卷组VG : 多个物理卷组合而成
-
逻辑卷LV:在卷组中创建,逻辑上的
-
物理扩展 PE(Physical Extend) : 保存数据的最小单元,默认4MB
1.4 怎么建立逻辑卷?
1)建立物理卷
2)建立逻辑卷组
3)创建逻辑卷
4)格式化安装文件系统
5)挂载
二、LVM 命令
功能 | 物理卷管理 | 卷组管理 | 逻辑卷管理 |
---|---|---|---|
Scan扫描 | pvscan | vgscan | lvscan |
Create建立 | pvcreate | vgcreate | lvcreate |
Display显示 | pvdisplay | vgdisplay | lvdisplay |
Remove删除 | pvremove | vgremove | lvremovr |
Extend扩展 | vgextend | lvextend | |
Reduce减少 | vgreduce | lvreduce |
2.1 物理卷管理
2.1.1创建物理卷 pvcreate
命令格式
pvcreate 设备名... // 创建物理卷
pvcreate /dev/sdb // 将物理硬盘sdb 初始化为物理卷
2.1.2 移除已建立的物理卷 pvremove
pvremove 设备名.. //移除,可移除多个
pvremove /dev/sdb /dev/sdc
2.1.3 显示物理卷列表 pvscan
命令格式
pvscan [选项] // 显示所有物理卷
2.1.4 显示物理卷属性 pvdisplay
命令格式
pvdisplay [选项]
//物理卷的属性
PV Name 物理卷名称
VG Name 卷组名
PV Size 物理卷大小,总容量
Allocatable 是否能分配给逻辑卷
PE Size PE(数据最小单元)的大小,默认4MB
Total PE PE的总数
Free PE 物理卷上尚未被分配给任何逻辑卷的空闲物理区块的数量
Allocated PE 能分配的数量
PV UUID 标识符
2.2 卷组管理
2.2.1 创建卷组 vgcreate
命令格式
vgcreate 卷组名 物理卷... # 创建逻辑卷组
vgcreate test /dev/sdb /dev/sdc
//创建卷组test,包含物理卷/dev/sdb /dev/sdc
2.2.2 添加物理卷到逻辑卷组 vgextend
命令格式
vgextend 逻辑卷组 新物理卷 //将新物理卷添加到逻辑卷组中
vgextend test /dev/sdd //扩展逻辑卷组test
2.2.3 移除卷组 vgremove
命令格式
vgremove 卷组名 //移除
vgremove test //移除test卷组
2.2.4 显示卷组列表 vgsacn
2.2.5 显示卷组属性 vgdisplay
2.3 逻辑卷管理
2.3.1 创建逻辑卷 lvcreate
命令格式
lvcreate [选项] 逻辑卷名 卷组名 //创建逻辑卷
在逻辑卷组test中创建名为test1的逻辑卷,大小为10GB
lvcreate -L 10G -n test1 test
lvcreat -l PE的个数 // 1PE=4MB
-l 256 //要1G 就是256个 PE
2.3.2 扩展逻辑卷的大小 lvextend
lvextend -L +扩容大小 -r 逻辑卷 //扩展逻辑卷
-r 立刻刷新文件系统
lvextend -L +5G -r /dev/test/test1
2.3.3 删除逻辑卷 lvremove
命令格式
lvremove 逻辑卷名(绝对路径)
lvremove /dev/test/test1 //移除逻辑卷test1
2.3.4 显示逻辑卷列表 lvscan
2.3.5 显示逻辑卷属性 lvdisplay
三、LVM配置实例
3.1 新建逻辑卷test1
1.添加新硬盘
添加步骤可参考linux磁盘管理中的磁盘分区实验
2.直接建立卷组test(物理卷会自动生成)
用lsblk
命令查看能否识别新硬盘
用vgcreate
命令创建卷组(包含物理卷 /dev/sdb 和 /dev/sdc )
3.创建逻辑卷test1
用lvcreate
命令建立逻辑卷test1,分配10G
lsblk
查看一下是否生效
成功
4.格式化,安装文件系统xfs
mkfs -t xfs /dev/test/test1
5.挂载
这里采用临时挂载的方式
mount /dev/test/test1 /mnt
3.2 扩容逻辑卷test1
1.添加新硬盘
2.扩展卷组test
vgextend test /dev/sdd
3.扩容逻辑卷test1
lvextend -L +5G -r /dev/test/test1
lsblk //查看磁盘分区
扩容成功
3.3 扩容逻辑卷root
1.找到逻辑卷root所属卷组
用lvdisplay
命令查看,root所属组为centos
2.扩展组centos
vgextend centos /dev/sdd
3.扩展root
lvextend -L +5G -r /dev/centos/root
4. 检测是否成功
lvdisplay /dev/centos/root //查看root属性
扩容成功