Featured image of post LVM 逻辑卷管理:物理卷(PV)与卷组(VG)原理与实战配置教程

LVM 逻辑卷管理:物理卷(PV)与卷组(VG)原理与实战配置教程

要理解物理卷(PV)与卷组(VG),我们首先需要明白为什么 Linux 要使用 LVM(逻辑卷管理),而不是直接使用传统的硬盘分区。 在传统方式下,如果你把一块硬盘划分为一个分区(比如 /dev/sdb1,大小 10G),这个分区的边界就死死固定在这一块物理硬盘上了。如果以后磁盘满了,想要扩容非常麻烦。 LVM 的核心思想是:“屏蔽物理硬盘的界限,把多块硬盘(或分区)打散,揉成一个巨大的虚拟存储池。” 在这个过程中,PV 和 VG 就是搭建这个“存储池”的关键两步:

  1. 什么是物理卷(PV - Physical Volume)?
  • 比喻:把买来的“砖头”贴上标签,表示它已经被清理干净,随时可以用来盖房子了。
  • 解释:真正的物理硬盘(如 /dev/sdb)或者硬盘分区(如 /dev/sdb1),在 Linux 底层只是原始的存储介质。只有通过 pvcreate 命令将它们初始化之后,系统才会给它们划分为一个个微小的存储单元(称为 PE,Physical Extent,默认 4MB),让它们变成 LVM 能够识别和管理的“标准化构件”。这个被初始化的分区或硬盘,就叫做物理卷(PV)。
  1. 什么是卷组(VG - Volume Group)?
  • 比喻:把所有的“砖头”堆在一起,砌成一个巨大的“蓄水池”或“大资源池”。
  • 解释:卷组(VG)是将一个或多个物理卷(PV)组合在一起形成的“虚拟大硬盘”。
    • 比如你在任务中,把 3 个 10G 的 PV(/dev/sdb1、/dev/sdc1、/dev/sdd1)加入到了名为 vg_store 的卷组中。
    • 此时,vg_store 这个卷组就变成了一个拥有 30G 总容量的超级大资源池。在这个池子里,系统不再关心数据具体是在第一块硬盘还是第三块硬盘上,只看总剩余空间。 整体层次与流程一览 LVM 的工作逻辑是自下而上构建的,一共分为四层: 【4. 挂载目录】 /data (用户真正存取文件的地方) ▲ 【3. 逻辑卷 (LV)】 lv_data (从资源池切出的 25G 虚拟分区) ▲ 【2. 卷组 (VG)】 vg_store (30G 的总“资源池”/大水池) / |
      【1. 物理卷 (PV)】 sdb1 sdc1 sdd1 (3个 10G 的“标准化构件”) | | | 【0. 物理磁盘】 /dev/sdb /dev/sdc /dev/sdd (真正的物理硬件)

总结

  • 创建 PV(物理卷):告诉系统:“这几块磁盘/分区我要用来做 LVM 了,请把它们格式化并标记为可管理的物理卷。”
  • 创建 VG(卷组):把这几个 PV 聚合在一起,打包成一个统一调配的容量大池子(在你的题目里叫 vg_store),方便下一步从这个池子里自由划出指定大小(如 25G)的逻辑卷(LV)使用。

这个任务的核心是 LVM(逻辑卷管理) 的完整配置流程。简单来说,它的逻辑是将多块物理硬盘的分区组合成一个大的“存储池”(卷组),然后再从这个池子里划出指定大小的逻辑卷来使用。以下是任务拆解与全流程分步详解:1. 前置准备:添加虚拟硬盘在虚拟机软件(如 VMware)中给 VM-LinuxA 添加 3 块 20G 的 SCSI 虚拟硬盘,开机后系统通常识别为 /dev/sdb、/dev/sdc、/dev/sdd。2. 磁盘分区与类型修改题目要求对 3 块硬盘分别划分 10G 物理分区,并将类型改为 LVM (8e)。使用 fdisk 对三块盘分别操作(以 /dev/sdb 为例):fdisk /dev/sdb进入交互界面后依次输入: * n(新建分区) * p(主分区) * 1(分区号选择 1) * 按 Enter(起始扇区默认) * +10G(指定分区大小为 10G) * t(修改分区类型) * 8e(HEX 代码 8e 代表 Linux LVM) * w(保存并退出)> 注意:对 /dev/sdc 和 /dev/sdd 重复上述交互过程,最终将得到三个分区:/dev/sdb1、/dev/sdc1、/dev/sdd1(每个 10G,类型 8e)。> 3. 创建物理卷(PV)与卷组(VG)三个 10G 分区相加共有 30G 空间,完全满足创建 25G 逻辑卷的要求。 * 初始化物理卷(PV): pvcreate /dev/sdb1 /dev/sdc1 /dev/sdd1 * 创建卷组(VG)vg_store: vgcreate vg_store /dev/sdb1 /dev/sdc1 /dev/sdd1 可以使用 vgs 或 vgdisplay vg_store 检查卷组大小(约 30G)。4. 创建逻辑卷(LV)与格式化 * 从 vg_store 中创建容量为 25G 的逻辑卷 lv_data: lvcreate -L 25G -n lv_data vg_store * 格式化为 XFS 文件系统: mkfs.xfs /dev/vg_store/lv_data5. 挂载与永久挂载配置 * 创建挂载点并手动挂载: mkdir -p /datamount /dev/vg_store/lv_data /data * 配置 /etc/fstab 实现开机自动挂载: 使用 vim /etc/fstab 编辑文件,在最末尾手动追加以下这一行内容: /dev/mapper/vg_store-lv_data /data xfs defaults 0 0 * 验证挂载配置: umount /datamount -adf -h /data 如果 mount -a 无任何报错且 df -h 能查看到 /data 容量为 25G,说明配置正确无误。

本文由 BOSH 的博客助手 HerMes 整理 📝

原文链接:本次内容由用户提供

热爱生活 学无止境
使用 Hugo 构建
主题 StackJimmy 设计