当前位置: 代码网 > 服务器>服务器>Linux > Linux操作系统之逻辑卷管理LVM详解

Linux操作系统之逻辑卷管理LVM详解

2026年04月26日 Linux 我要评论
linux系统中,随着数据量的不断增长,单个物理硬盘或单个磁盘分区因磁盘空间有限,可能无法满足数据存储需求。为解决磁盘空间不足问题,linux引入了逻辑卷管理(lvm)技术,允许用户灵活地管理和扩展存

linux系统中,随着数据量的不断增长,单个物理硬盘或单个磁盘分区因磁盘空间有限,可能无法满足数据存储需求。

为解决磁盘空间不足问题,linux引入了逻辑卷管理(lvm)技术,允许用户灵活地管理和扩展存储资源。

逻辑卷管理 lvm(logical volume manager)是linux系统下的一个逻辑卷管理工具,它提供了一个抽象层,允许用户对物理硬盘进行更灵活的管理。

lvm通过将物理硬盘或磁盘分区转换为物理卷(pv),然后将物理卷组合成卷组(vg),最后在卷组上创建逻辑卷(lv)来实现对存储资源的灵活管理。

一、lvm术语

物理卷(pv, physical volume)

 物理卷就是指磁盘、磁盘分区或从逻辑上和磁盘分区具有同样功能的设备(如raid),是lvm的基本存储逻辑块,但和基本的物理存储介质(如分区、磁盘等)比较,却包含有和lvm相关的管理参数。

比如你新添加了一块磁盘 /dev/sdb, 那么你可以将整块磁盘/dev/sdb 标记成一个pv,也可以先对/dev/sdb 分区,如分了两个主分区/dev/sdb1 和 /dev/sdb2 ,然后将这两个分区/dev/sdb1 和 /dev/sdb2 分别标记成一个pv。

卷组(vg, volume group)

 lvm卷组类似于非lvm系统中的物理硬盘,其由物理卷组成,相当于磁盘容量总和的一个存储池。能在卷组上创建一个或多个“lvm分区”(逻辑卷),lvm卷组由一个或多个物理卷组成。

逻辑卷(lv, logical volume)

lvm的逻辑卷类似于非lvm系统中的硬盘分区,在逻辑卷之上能建立文件系统(比如/tmp或/var等)。

pe(physical extent)

 每一个物理卷被划分为称为pe(physical extents)的基本单元,具有唯一编号的pe是可以被lvm寻址的最小单元。pe的大小是可配置的,默认为4mb。

le(logical extent)

 逻辑卷也被划分为被称为le(logical extents) 的可被寻址的基本单位。在同一个卷组中,le的大小和pe是相同的,并且一一对应。

总的来说, 使用lvm 机制创建一个lv 的过程是:一块硬盘(物理存储介质)被格式化为物理卷(physical volume),其内部被分成若干个默认大小为4m的pe(physical extent),然后在pv的基础上创建卷组(volume group),可以把一个或者多个pv加到vg中,vg就好像一个空间池,有多少个pv,vg就有多大的容量,最后基于vg创建逻辑卷(logical volume) ,一个逻辑卷就是若干个pe,然后将lv格式化再挂载(将lv当成传统磁盘划分里面的磁盘分区)。

二、lvm卷类型

 在 lvm 中,您可以选择使用线性逻辑卷(linear lv)或条带逻辑卷(striped lv)来管理存储空间。这两种方式在磁盘资源的利用和性能方面有所不同。

线性逻辑卷(linear lv)

 线性逻辑卷是 lvm 中的一种基本形式,它将物理卷上的数据按照线性顺序进行存储。换句话说,数据从一个物理卷的末尾延伸到下一个物理卷的开始,依次类推,直到所有物理卷都被使用完毕。

特点:

  • 数据按照线性顺序存储,从一个物理卷延伸到下一个物理卷。
  • 简单直观,易于管理。
  • 适用于小型环境或者对数据读取顺序要求不高的场景。

条带逻辑卷(striped lv)

条带逻辑卷是一种高级形式的逻辑卷,它将数据分布在多个物理卷之间,以提高读写性能和并发能力,数据被分成固定大小的条带(或块),依次存储在不同的物理卷上。

特点:

  • 数据被分割成条带,并分布在多个物理卷上,增加了读写并发能力和性能。
  • 更好地利用了磁盘资源,提高了磁盘io
  • 适用于对性能要求较高、需要大量并发读写操作的场景。

数据安全性对比

线性逻辑卷和条带逻辑卷在数据安全性上差异显著,主要体现在故障影响范围数据恢复可能性上。

线性卷在磁盘故障时仍有望恢复部分数据,而条带卷一旦有一块磁盘损坏,则可能导致卷内所有数据的丢失。

特性维度线性逻辑卷 (linear logical volume)条带逻辑卷 (striped logical volume)
基本原理数据按顺序写入磁盘,写满第一个才写入第二个数据被分割成小块(条带),并行写入多个磁盘,类似raid 0
主要目标方便地聚合多个磁盘的存储空间追求极致i/o性能,通过并行读写提升吞吐量
数据安全性提供有限的数据恢复可能性灾难性数据丢失风险极高
故障影响单个磁盘故障,仅损失该磁盘上的数据单个磁盘故障,可能导致整个卷的数据都不可访问或损坏
数据恢复有机会恢复幸存的、未被损坏的文件几乎所有文件都会丢失,恢复难度极大
应用场景通用存储、文件服务器(对性能要求不高)高性能计算、数据库日志、临时数据(单点故障影响小的场景)

综上,不过是线性卷还是条带卷都不适合存储对数据安全性要求高的数据,只适合存储一些对容量要求较高,对数据安全性风险要求低或可有可无的数据,如应用日志。

三、lvm操作

硬盘分区

 首先,使用fdisk、parted等工具检测系统中的新硬盘,并对其进行分区,根据需要选择合适的分区类型和大小,不分区也可用整块磁盘创建物理卷,所以分区不是必选项,看实际情况而定。

创建物理卷

 使用pvcreate命令将新硬盘的分区转换成物理卷(pv)。例如,假设新硬盘的设备路径为/dev/sdc和/dev/sde,执行以下命令将其转换为物理卷:

pvcreate /dev/sdc /dev/sde

创建卷组

 使用vgcreate命令将创建好的物理卷处理成卷组(vg)。例如,创建一个名为testvg的卷组,包含/dev/sdc和/dev/sde这两个物理卷:

vgcreate testvg /dev/sdc /dev/sde

创建逻辑卷

使用lvcreate命令将卷组分成若干个逻辑卷(lv)。例如,在myvg卷组上创建一个名为mylv的逻辑卷,大小为10gb:

lvcreate -l 10g -n testlv testvg

格式化逻辑卷

使用mkfs命令对逻辑卷进行格式化,以便存储数据。例如,将testlv逻辑卷格式化为ext4文件系统:

mkfs.ext4 /dev/testvg/testlv

挂载逻辑卷

创建一个目录作为逻辑卷的挂载点,然后使用mount命令将逻辑卷挂载到该目录。例如,将testlv逻辑卷挂载到/testdir目录:

mkdir /testdir
echo "/dev/testvg/testlv /testdir ext4 defaults 0 0" >> /etc/fstab
mount -a
df -h

 现在,新硬盘已经成功挂载到linux系统中,并且可以通过lvm进行灵活的管理和扩展。

四、lvm扩容操作

当需要扩展逻辑卷的大小时,可以使用lvextend命令进行扩容。例如,将testlv逻辑卷的大小扩展为20gb:

lvextend -l 20g /dev/testvg/testlv

扩容后,需要更新文件系统的容量以识别新的空间。对于ext2、ext3、ext4文件系统,可以使用resize2fs命令;对于xfs文件系统,可以使用xfs_growfs命令。例如,更新testlv逻辑卷上的ext4文件系统:

resize2fs /dev/testvg/testlv

testlv逻辑卷的大小已经成功扩展为20gb,并且文件系统已经更新了容量。

若lv使用的是xfs文件系统,例如,更新testlv2逻辑卷上的xfs文件系统则执行以下命令进行更新:

xfs_growfs /dev/testvg/testlv2

完成以上步骤后,testlv2逻辑卷的大小已经成功扩展为20gb,并且文件系统已经更新了容量。

五、lvm常用命令

pvdisplay #显示物理卷的属性信息
vgdisplay [卷组名] #显示卷组的属性信息
lvdisplay #查看逻辑卷属性信息
pvs      #查看卷组
lvs      #查看逻辑卷
pvcreate  #创建物理卷
vgcreate 卷组名 物理卷全路径名[物理卷全路径名] #创建卷组
lvcreate  #创建逻辑卷
vgrename 原卷组名 新卷组名 #卷组重命名
vgcfgbackup [卷组名] #把卷组中的vgda信息备份到“/etc/lvmconf”目录中的文件
vgcfgrestore -n 卷组名 物理卷全路命名  #从备份文件中必得指定物理卷的信息卷组的建立与删除命令
vgremove 卷组名 #删除卷组
vgextend 卷组名 物理卷全路径名[物理卷全路径名] #将物理卷加入卷组
vgreduce 卷组名 物理卷全路径名[物理卷全路径名] #将物理卷从卷组中移除
lvremove  #删除逻辑卷
lvextend -l|--size +逻辑卷大小增量 逻辑卷全路径名
lvreduce q -l|--size +逻辑卷减小量 逻辑卷全路径名
pvremove   #移除物理卷
lvscan   #扫描逻辑卷
pvmove /dev/sdb /dev/sdd #迁移pv,可以不停机检修

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持代码网。

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2026  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com