大家好!在管理Linux系统时,大家是不是都曾遇到过硬盘空间不足的窘境?一旦分区确定,后期修改起来异常麻烦,因此从一开始就必须准确估算容量,这让人倍感压力。😩
今天我将介绍的LVM(Logical Volume Manager)正是一款强大而灵活的磁盘管理工具,它能解决这些烦恼。使用LVM,您可以像组装乐高积木一样,自由地合并、分割和扩展存储空间。
在这篇文章中,我将尽可能简单地解释LVM的核心概念——PV、VG、LV以及pvcreate命令!

🤔 什么是LVM?为什么要使用它?
LVM是Logical Volume Manager的缩写,它是内核的一项功能和程序,允许您将多个硬盘或分区整合为一个大型存储,并以逻辑单元进行灵活管理。
回想一下传统的磁盘分区方式(例如:/dev/sda1, /dev/sda2)。这种方式就像从一块巨大的石头中雕刻作品。一旦分割,就很难改变其大小或与其他部分合并。
相比之下,LVM则像是将多个乐高积木(硬盘/分区)组合成一个大型乐高底板(存储池),然后在其上自由地创建所需大小和形状的作品(要使用的分区)。如果需要,您以后还可以添加更多积木来扩大底板,或者增加或缩小作品的尺寸!✨
得益于这种灵活性,它具有以下优点:
- 动态分区大小调整:即使在系统使用过程中,也可以轻松地增加或缩小分区(逻辑卷)的大小。
- 多磁盘整合:可以将多个物理磁盘组合起来,像一个大磁盘一样使用。
- 快照功能:快照功能可以复制特定时间点的文件系统,从而实现安全的备份和恢复。
🧱 步骤1:创建物理卷(PV, Physical Volume)
LVM最基本的组成部分,就是物理卷(PV, Physical Volume)。
什么是PV (Physical Volume)? 它指的是已“准备好”用于LVM的整个物理硬盘(例如:/dev/sdb)或磁盘内的分区(例如:/dev/sdb1)。它是LVM中最小的物理单元,相当于“乐高积木”。
仅仅安装硬盘并不能使其立即成为LVM的材料。该磁盘(或分区)需要被贴上一个“标签”,表明“它将从现在开始用作LVM的材料”。
pvcreate 命令:变身为LVM材料!
此时使用的命令就是 pvcreate。
什么是pvcreate? 它是Physical Volume Create的缩写,是一个通过在特定磁盘或分区上写入元数据(标签),表明其可用于LVM,从而将其初始化为PV(物理卷)的命令。
用法
# 将整个/dev/sdb磁盘创建为PV
$ pvcreate /dev/sdb
# 将/dev/sdc1分区创建为PV
$ pvcreate /dev/sdc1
执行此命令后,该磁盘或分区就成为了LVM的材料,即PV。您可以使用pvs或pvdisplay命令查看当前系统中有哪些PV。
📦 步骤2:捆绑成卷组(VG, Volume Group)
现在,多个乐高积木(PV)已经准备就绪。下一步是将这些积木聚集起来,创建一个大型乐高底板(存储池)。这就是卷组(VG, Volume Group)。
什么是VG (Volume Group)? 它是由一个或多个PV(物理卷)组成的巨大集成存储池。只有有了VG,用户才能分配所需大小的空间。
例如,如果您将两个1TB的PV和一个500GB的PV捆绑成一个名为my_storage的VG,您将获得一个总计2.5TB的巨大单一存储空间。VG最大的优点是,您以后可以通过添加新的PV(vgextend)轻松扩展容量。
您可以使用 vgcreate 命令创建VG。
# 将/dev/sdb和/dev/sdc1组合创建名为'vg_data'的卷组
$ vgcreate vg_data /dev/sdb /dev/sdc1
🏠 步骤3:分配逻辑卷(LV, Logical Volume)
巨大的乐高底板(VG)已经创建,现在是时候创建用户实际使用的“作品”(分区)了。这被称为逻辑卷(LV, Logical Volume)。
什么是LV (Logical Volume)? 它是从VG(卷组)这个存储池中分配所需容量而创建的逻辑分区。用户将格式化并挂载此LV,将其用作存储实际数据的空间。
您可以根据home、data、backup等用途,在VG允许的容量范围内自由创建各种大小的LV。
使用 lvcreate 命令创建LV。
# 从'vg_data'卷组中创建名为'lv_webdata'的10GB逻辑卷
$ lvcreate -L 10G -n lv_webdata vg_data
这样创建的LV可以通过/dev/vg_data/lv_webdata等路径访问。然后,您可以使用mkfs.xfs或mkfs.ext4等命令对其进行格式化,并将其挂载到所需的目录中使用。
✨ 总结
我们再来总结一下LVM的工作方式吧?
- pvcreate: 将硬盘或分区转换为LVM材料(PV)。🧱
- vgcreate: 聚集准备好的PV,创建一个大型存储池(VG)。📦
- lvcreate: 从VG中分配所需空间,创建供用户使用的分区(LV)。🏠
- 格式化并挂载: 格式化创建的LV并将其连接到目录以供使用。🚪
LVM初看起来可能有些复杂,但一旦理解其结构,Linux存储管理就会变得更加自由和便捷。不要再被分区容量的担忧所束缚,使用LVM构建一个灵活而强大的存储环境吧!
标签: LVM, Linux, PV, VG, LV, pvcreate, Logical Volume Manager, 存储, Linux, 分区管理
发表回复