1.LVM介绍
lvm是logical volume manager 英文的缩写,中文意思就是逻辑卷管理器。是Linux系统中的管理工具,主要就是将物理磁盘和分区进行虚拟化,创建虚拟的磁盘空间,从虚拟的磁盘空间中按需分配,使用起来更灵活,更方便管理。
和window磁盘分区相比,window传统分区更像静态切割,切好了就固定,如果需要调整,需要借助第三方工具调整,还会影响正常业务运行;LVM类似一个动态水池,把多块硬盘的水倒入一个大池子(卷组),然后按需舀水(逻辑卷),水多了可以加池子,舀多了可以还回去,非常灵活。
2.LVM三层架构
PV(Physical Volume)
PV指物理卷,初始的物理存储设备,例如机械硬盘(HDD)、固态硬盘(SSD),需要创建物理卷,才能添加到LVM中的卷组中。
VG(Volume Group)
VG即卷组,它处于LVM中的核心位置,将多个物理卷组合成一个统一的存储结构,总容量大小为各个物理卷对应物理设备容量之和。卷组把多个物理磁盘虚拟成一个虚拟盘,可以灵活对该虚拟盘进行划分,分成多个逻辑卷。相当于window的磁盘阵列
LV(Logical Volume)
LV指逻辑卷,即对上面的VG进行划分,分配出来的虚拟的、灵活的逻辑空间,供操作系统使用。
PV → VG(存储池) → LV(逻辑卷)→ 文件系统 → 挂载点
3.三大系统 LVM 对比
|
对比项
|
CentOS / RHEL
|
Debian
|
Ubuntu
|
|---|---|---|---|
|
默认安装
|
桌面/服务器版可选 LVM
|
安装时可选 LVM
|
服务器版默认 LVM(桌面可选)
|
|
默认 VG 名
|
centos(7) 或 rhel(8+) |
自定义(安装时指定)
|
ubuntu-vg |
|
默认 LV 名
|
root、swap等 |
自定义
|
ubuntu-lv |
|
包管理
|
yum/dnf install lvm2 |
apt install lvm2 |
apt install lvm2 |
|
配置文件路径
|
/etc/lvm/lvm.conf |
/etc/lvm/lvm.conf |
/etc/lvm/lvm.conf |
|
服务名
|
lvm2-lvmetad |
lvm2-lvmetad |
lvm2-lvmetad |
|
常用文件系统
|
xfs(默认)、ext4
|
ext4(默认)、xfs
|
ext4(默认)、xfs
|
4.核心操作命令
4.1 物理卷 (PV) 管理
|
功能
|
命令
|
说明
|
|---|---|---|
|
创建 PV
|
pvcreate /dev/sdb |
初始化磁盘
|
|
查看 PV
|
pvs或 pvdisplay |
简略 / 详细
|
|
删除 PV
|
pvremove /dev/sdb |
清除标签
|
4.2 卷组 (VG) 管理
|
功能
|
命令
|
说明
|
|---|---|---|
|
创建 VG
|
vgcreate my_vg /dev/sdb |
创建名为 my_vg 的卷组
|
|
扩展 VG
|
vgextend my_vg /dev/sdc |
添加新磁盘到卷组
|
|
缩减 VG
|
vgreduce my_vg /dev/sdb |
移除磁盘(需先移数据)
|
|
查看 VG
|
vgs或 vgdisplay |
查看剩余空间看这里
|
4.3逻辑卷 (LV) 管理
|
功能
|
命令
|
说明
|
|---|---|---|
|
创建 LV
|
lvcreate -n my_lv -L 50G my_vg |
创建 50G 的逻辑卷
|
|
扩展 LV
|
lvextend -l +100%FREE /dev/my_vg/my_lv |
常用:吃满所有剩余空间
|
|
缩减 LV
|
lvreduce -L -10G /dev/my_vg/my_lv |
高危:不建议操作
|
|
查看 LV
|
lvs或 lvdisplay |
5.文件系统挂载与扩容(重点)
操作之前先创建LVM
# 1. 创建物理卷
sudo pvcreate /dev/sdb1
# 2. 创建卷组
sudo vgcreate my-vg /dev/sdb1
# 3. 创建逻辑卷
sudo lvcreate -L 50G -n my-lv my-vg # 指定大小
sudo lvcreate -l 100%FREE -n my-lv my-vg # 使用全部剩余空间
5.1 格式化与挂载
LVM 本身不处理文件,需要依赖文件系统。
1. 格式化(二选一)
判断文件系统类型(ext4 或 xfs)最标准、最快捷的方法是利用
df命令查看挂载详情。重点看 Type 这一列:
###centos系列
[root@delu1 ~]# df -T /
Filesystem Type 1K-blocks Used Available Use% Mounted on
/dev/sda3 xfs 51149416 3804988 47344428 8% /
####Ubuntu系列
[root@gao-ubt-2204 ~]# df -T /
Filesystem Type 1K-blocks Used Available Use% Mounted on
/dev/mapper/ubuntu--vg-ubuntu--lv ext4 24590672 7814760 15501444 34% /
###debian系列
root@debian13:~# df -T /
Filesystem Type 1K-blocks Used Available Use% Mounted on
/dev/sda1 ext4 49226388 6547384 40146040 15% /
ext4 (适合大多数通用场景,Ubuntu/Debian 默认):
mkfs.ext4 /dev/my_vg/my_lv
xfs (CentOS 7+ 默认,不支持缩容):
mkfs.xfs /dev/my_vg/my_lv
2.挂载
mkdir /data
mount /dev/my_vg/my_lv /data
echo "/dev/my_vg/my_lv /data ext4 defaults 0 0" >> /etc/fstab
5.2 在线扩容
# 扩展逻辑卷(加指定大小)
sudo lvextend -L +50G /dev/ubuntu-vg/ubuntu-lv
# 扩展逻辑卷(使用全部剩余空间)⭐
sudo lvextend -l +100%FREE /dev/ubuntu-vg/ubuntu-lv
# 扩展文件系统(ext4)
sudo resize2fs /dev/ubuntu-vg/ubuntu-lv
# 扩展文件系统(xfs,注意是挂载点路径)
sudo xfs_growfs /
5.3.缩容(需离线,风险较高)
# 1. 先卸载
sudo umount /mnt/data
# 2. 检查文件系统
sudo e2fsck -f /dev/my-vg/my-lv
# 3. 缩小文件系统
sudo resize2fs /dev/my-vg/my-lv 30G
# 4. 缩小逻辑卷
sudo lvreduce -L 30G /dev/my-vg/my-lv
生产环境谨慎!!!能不操作就不操作!!!
5.4 删除
# 按顺序:卸载 → 删 LV → 删 VG → 删 PV
sudo umount /mnt/data
sudo lvremove /dev/my-vg/my-lv
sudo vgremove my-vg
sudo pvremove /dev/sdb1
6.故障排查与注意事项
|
问题
|
解决方案
|
|---|---|
Device /dev/sdb excluded by a filter |
磁盘有旧分区表残留。使用
wipefs -a /dev/sdb清除签名。 |
Insufficient free space |
VG 空间不足。使用
vgs确认,或先 pvmove迁移数据。 |
Couldn't find device |
物理磁盘丢失。尝试
vgreduce --removemissing <vg_name>强制移除。 |
|
XFS 无法缩容
|
XFS 设计上不支持离线或在线缩容,只能备份数据后重建。
|
- THE END -
最后修改:2026年6月16日
非特殊说明,本博所有文章均为博主原创。
如若转载,请注明出处:https://7d.delu7.cn/132/.html
共有 0 条评论