0

0

如何创建Linux逻辑卷 LVM管理完整操作流程

P粉602998670

P粉602998670

发布时间:2025-08-13 11:06:02

|

1220人浏览过

|

来源于php中文网

原创

创建lvm的流程为:先将硬盘创建为物理卷(pv),再将pv加入卷组(vg),从vg中创建逻辑卷(lv),最后格式化并挂载使用;2. 扩展lv时需先用lvextend扩展容量,再用xfs_growfs或resize2fs扩展文件系统;3. 可通过pvcreate和vgextend向vg添加新物理卷以扩容;4. 缩小lv仅ext4支持,需先卸载、缩小文件系统再缩小lv;5. 删除顺序为lv→vg→pv,需依次执行lvremove、vgremove、pvremove;6. 常用命令包括pvs、vgs、lvs、pvdisplay、vgdisplay、lvdisplay和lsblk等;7. 生产环境中推荐使用lvm以便灵活管理存储空间,理解卷组作为存储池的概念是关键,操作前应备份数据并确认设备无重要信息,整个流程适用于centos、rhel、ubuntu等主流linux发行版。

如何创建Linux逻辑卷 LVM管理完整操作流程

创建 Linux 逻辑卷(LVM)并进行完整管理的操作流程,主要包括物理卷(PV)、卷组(VG)和逻辑卷(LV)的创建、扩展、缩小、删除等操作。LVM 提供了灵活的磁盘管理方式,相比传统分区更便于动态调整存储空间。

以下是完整的 LVM 管理操作流程,适用于 CentOS、RHEL、Ubuntu 等主流 Linux 发行版。


一、LVM 基本组成与流程概述

LVM 包含三个核心层级:

  • 物理卷(Physical Volume, PV):底层物理存储设备(如硬盘或分区)
  • 卷组(Volume Group, VG):由一个或多个 PV 组成的存储池
  • 逻辑卷(Logical Volume, LV):从 VG 中划分出的可格式化使用的逻辑分区

操作顺序为:
硬盘 → 创建 PV → 加入 VG → 创建 LV → 格式化并挂载使用


二、创建 LVM 的完整步骤

1. 准备物理存储设备

假设你有两块新硬盘

/dev/sdb
/dev/sdc
,我们将用它们来创建 LVM。

注意:操作前请确认设备无重要数据。
# 查看当前磁盘情况
lsblk
fdisk -l

2. 创建物理卷(PV)

将磁盘或分区初始化为物理卷:

pvcreate /dev/sdb /dev/sdc

查看 PV 信息:

pvdisplay
# 或简要查看
pvs

3. 创建卷组(VG)

将一个或多个 PV 组合成一个卷组,例如命名为

vg_data

vgcreate vg_data /dev/sdb /dev/sdc

查看 VG 信息:

vgdisplay
# 或
vgs

卷组名称可自定义,建议有含义,如

vg_mysql
vg_home
等。

4. 创建逻辑卷(LV)

从卷组

vg_data
中创建一个逻辑卷,例如 10GB 大小,命名为
lv_web

lvcreate -L 10G -n lv_web vg_data

参数说明:

  • -L
    :指定大小(支持 G、M)
  • -n
    :指定逻辑卷名称
  • vg_data
    :卷组名

查看 LV:

lvdisplay
# 或
lvs

设备路径通常为:

/dev/vg_data/lv_web

Designs.ai
Designs.ai

AI设计工具

下载

5. 格式化并挂载逻辑卷

对 LV 进行文件系统格式化(如 ext4 或 xfs):

mkfs.xfs /dev/vg_data/lv_web
# 或使用 ext4
# mkfs.ext4 /dev/vg_data/lv_web

创建挂载点并挂载:

mkdir /data/web
mount /dev/vg_data/lv_web /data/web

写入

/etc/fstab
实现开机自动挂载:

echo "/dev/vg_data/lv_web /data/web xfs defaults 0 0" >> /etc/fstab

建议使用 UUID 挂载更稳妥,可通过

blkid /dev/vg_data/lv_web
查看。


三、LVM 动态管理操作

LVM 的优势在于可动态调整大小。

1. 扩展逻辑卷(扩容)

假设需要将

lv_web
从 10G 扩到 15G:

# 先扩展 LV 大小
lvextend -L 15G /dev/vg_data/lv_web

# 再扩展文件系统(xfs 需用 xfs_growfs,ext4 用 resize2fs)
xfs_growfs /data/web
# 如果是 ext4,则使用:
# resize2fs /dev/vg_data/lv_web

注意:xfs 只支持扩容,不支持缩容;ext4 支持缩容但需先卸载。

也可以直接扩展剩余所有空间:

lvextend -l +100%FREE /dev/vg_data/lv_web
xfs_growfs /data/web

2. 向卷组添加新物理卷(扩展 VG)

如果 VG 空间不足,可添加新硬盘:

pvcreate /dev/sdd
vgextend vg_data /dev/sdd

之后即可用新增空间扩展 LV。

3. 缩小逻辑卷(仅 ext4 支持,xfs 不支持)

⚠️ 风险较高,务必先备份数据,且文件系统需支持。

以 ext4 为例:

# 1. 卸载文件系统
umount /data/web

# 2. 检查并缩小文件系统(先缩文件系统,再缩 LV)
e2fsck -f /dev/vg_data/lv_web
resize2fs /dev/vg_data/lv_web 8G

# 3. 缩小逻辑卷
lvreduce -L 8G /dev/vg_data/lv_web

# 4. 重新挂载
mount /dev/vg_data/lv_web /data/web

4. 删除逻辑卷、卷组、物理卷

删除顺序:LV → VG → PV

# 1. 卸载并删除 LV
umount /data/web
lvremove /dev/vg_data/lv_web

# 2. 删除卷组
vgremove vg_data

# 3. 删除物理卷
pvremove /dev/sdb /dev/sdc

四、常用查看命令汇总

命令 作用
@@######@@ 简要列出所有物理卷
@@######@@ 显示 PV 详细信息
@@######@@ 简要列出卷组
@@######@@ 显示 VG 详细信息
@@######@@ 简要列出逻辑卷
@@######@@ 显示 LV 详细信息
@@######@@ 查看挂载点使用情况
@@######@@ 查看块设备树状结构

五、实际使用建议

  • 生产环境建议使用 LVM:便于后期扩容,尤其是数据库、日志等增长型数据。
  • 避免在根分区不用 LVM 的系统上随意操作:如需对
    pvs
    扩容,建议提前规划。
  • 定期检查空间使用:通过
    pvdisplay
    vgs
    监控剩余空间。
  • 快照功能可选:LVM 支持快照(snapshot),可用于备份前的瞬时一致性保护。

基本上就这些。LVM 看似复杂,但掌握

vgdisplay
lvs
lvdisplay
和扩展流程后,管理起来非常灵活。关键是理解“存储池”的概念——卷组就是池子,逻辑卷是从池子里分出来的空间。

df -h
lsblk
/
vgs
lvs
pvcreate
vgcreate
lvcreate

相关专题

更多
数据库三范式
数据库三范式

数据库三范式是一种设计规范,用于规范化关系型数据库中的数据结构,它通过消除冗余数据、提高数据库性能和数据一致性,提供了一种有效的数据库设计方法。本专题提供数据库三范式相关的文章、下载和课程。

348

2023.06.29

如何删除数据库
如何删除数据库

删除数据库是指在MySQL中完全移除一个数据库及其所包含的所有数据和结构,作用包括:1、释放存储空间;2、确保数据的安全性;3、提高数据库的整体性能,加速查询和操作的执行速度。尽管删除数据库具有一些好处,但在执行任何删除操作之前,务必谨慎操作,并备份重要的数据。删除数据库将永久性地删除所有相关数据和结构,无法回滚。

2074

2023.08.14

vb怎么连接数据库
vb怎么连接数据库

在VB中,连接数据库通常使用ADO(ActiveX 数据对象)或 DAO(Data Access Objects)这两个技术来实现:1、引入ADO库;2、创建ADO连接对象;3、配置连接字符串;4、打开连接;5、执行SQL语句;6、处理查询结果;7、关闭连接即可。

347

2023.08.31

MySQL恢复数据库
MySQL恢复数据库

MySQL恢复数据库的方法有使用物理备份恢复、使用逻辑备份恢复、使用二进制日志恢复和使用数据库复制进行恢复等。本专题为大家提供MySQL数据库相关的文章、下载、课程内容,供大家免费下载体验。

255

2023.09.05

vb中怎么连接access数据库
vb中怎么连接access数据库

vb中连接access数据库的步骤包括引用必要的命名空间、创建连接字符串、创建连接对象、打开连接、执行SQL语句和关闭连接。本专题为大家提供连接access数据库相关的文章、下载、课程内容,供大家免费下载体验。

323

2023.10.09

数据库对象名无效怎么解决
数据库对象名无效怎么解决

数据库对象名无效解决办法:1、检查使用的对象名是否正确,确保没有拼写错误;2、检查数据库中是否已存在具有相同名称的对象,如果是,请更改对象名为一个不同的名称,然后重新创建;3、确保在连接数据库时使用了正确的用户名、密码和数据库名称;4、尝试重启数据库服务,然后再次尝试创建或使用对象;5、尝试更新驱动程序,然后再次尝试创建或使用对象。

410

2023.10.16

vb连接access数据库的方法
vb连接access数据库的方法

vb连接access数据库方法:1、使用ADO连接,首先导入System.Data.OleDb模块,然后定义一个连接字符串,接着创建一个OleDbConnection对象并使用Open() 方法打开连接;2、使用DAO连接,首先导入 Microsoft.Jet.OLEDB模块,然后定义一个连接字符串,接着创建一个JetConnection对象并使用Open()方法打开连接即可。

397

2023.10.16

vb连接数据库的方法
vb连接数据库的方法

vb连接数据库的方法有使用ADO对象库、使用OLEDB数据提供程序、使用ODBC数据源等。详细介绍:1、使用ADO对象库方法,ADO是一种用于访问数据库的COM组件,可以通过ADO连接数据库并执行SQL语句。可以使用ADODB.Connection对象来建立与数据库的连接,然后使用ADODB.Recordset对象来执行查询和操作数据;2、使用OLEDB数据提供程序方法等等。

219

2023.10.19

高德地图升级方法汇总
高德地图升级方法汇总

本专题整合了高德地图升级相关教程,阅读专题下面的文章了解更多详细内容。

68

2026.01.16

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
PHP+MySQL基础入门课程
PHP+MySQL基础入门课程

共113课时 | 7.2万人学习

Python 并发编程实战
Python 并发编程实战

共12课时 | 0.7万人学习

php初学者入门课程
php初学者入门课程

共10课时 | 0.6万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号