当前位置:网站首页 > 产品管理 > 正文

lvm逻辑卷创建(lvm进行逻辑卷管理时创建顺序)



首发日期 , 以下为原文内容:

古老的 e5 主机目前有这些存储设备 (硬盘): 系统盘 (M.2 NVMe SSD 480GB), 数据盘 (3.5 英寸 SATA 硬盘 4TB x2). 窝决定使用 LVM 对数据盘进行管理.

逻辑卷管理器 (LVM) 可以认为是一种 (单机) 存储虚拟化 技术. 多个物理存储设备 (PV) 组成一个存储池 (VG), 然后划分虚拟分区 (LV).

窝觉得, 对窝等穷人 (不超过 4 块大容量硬盘) 来说, RAID (磁盘阵列) 的用处不大. 只有很多块硬盘的时候, RAID 才可能有明显优势.

LVM 在管理方面具有很高的灵活度, 功能非常强大. 比如, 可以很方便的随时调整虚拟分区 (LV) 的大小 (扩容/缩容, ), 将 LV 从一块硬盘移动到另一块硬盘 (), 一个 LV 横跨多块硬盘. 还有快照 (snapshot), 软件 RAID (), 动态存储空间分配 (), 加速缓存 (), 压缩去重 (), 加密等许多功能. 运行虚拟机 (比如 QEMU/KVM) 时, 可以直接将 LV 分配给虚拟机作为虚拟硬盘使用, 提高性能.

相关文章: 《安装 Fedora CoreOS 操作系统》 https://www.bilibili.com/read/cv

+ <https://sourceware.org/lvm2/>

+ <https://gitlab.com/lvmteam/lvm2>

+ <https://www.man7.org/linux/man-pages/man8/lvm.8.html>

  - 2.2 创建 pv (物理卷)

  - 2.3 创建 vg (卷组)

  - 2.4 创建 lv (逻辑卷)

  - 2.5 显示详细信息

  - 3.2 挂载 (mount)

  - 3.3 systemd 开机挂载

  - 4.2 更多高级操作

+ 物理卷 (PV): 一块物理硬盘, 或者硬盘上的一个分区. 也就是底层的物理存储设备.

+ 卷组 (VG): 多个 PV 组成的一个存储池, 相当于一块虚拟大硬盘.

+ 逻辑卷 (LV): 从 VG 之中划分, 相当于一个虚拟分区.

LVM 将 PV 划分为许多小的数据存储块 (PE, 默认 4MB), VG 就是一堆 PE 的集合, 然后把 PE 分配给 LV. 当上层软件 (比如 filesystem 文件系统) 访问 LV 时, LVM 找出要访问的数据对应哪个 PE, 从而访问对应的 PV.

有了这个虚拟化架构, 许多强大的高级功能就能很容易实现了. 比如动态调整 LV 的大小, 只要重新分配 PE 即可, 比如把未使用的空闲 PE 分配给 LV (扩容), 所以操作很快, 通常在几秒之内即可完成. 比如有 2 块 500GB 的硬盘 (PV), 但是想创建一个 800GB 的 LV, 超过了单块硬盘的容量. 此时只需要将这 2 块硬盘加入同一个 VG, 然后创建 LV 即可. 也就是把不同 PV 的 PE 分配给同一个 LV.

警告: 对硬盘和 LVM 进行操作可能造成数据丢失或损坏 (特别是误操作), 请提前备份重要数据 !! 免责声明: 本文不对因此造成的数据丢失或损坏承担任何责任.

警告: 对硬盘和 LVM 进行操作可能造成数据丢失或损坏 (特别是误操作), 请提前备份重要数据 !! 免责声明: 本文不对因此造成的数据丢失或损坏承担任何责任.

警告: 对硬盘和 LVM 进行操作可能造成数据丢失或损坏 (特别是误操作), 请提前备份重要数据 !! 免责声明: 本文不对因此造成的数据丢失或损坏承担任何责任.

如果硬盘接到别的计算机, 能够看到分区 (可能无法识别), 而不是识别为一块未分区的硬盘, 这或许可能减小数据丢失的概率 (一定程度上避免误操作). 另外, 分区之后, 可以只把一块硬盘的一部分 (分区) 分给 LVM, 其余部分还可以作为普通分区使用, 这提高了管理的灵活度.

可以看到 2 块数据盘 (, ), 还没有分区表.  是系统盘, GPT 分区表 (), 忽略.

关于 fdisk 工具的使用, 请读者自行查阅相关资料. 下面是分区之后的结果:

目前没有更多需求, 所以将整个硬盘空间分成了一个分区. 一共 2 个分区: , .

使用  命令查看 PV 列表, 使用  命令创建 PV (相当于格式化分区). 这些命令需要 root 权限, 所以前面加上 . 比如:

使用  命令查看 VG, 使用  命令创建 VG. 在创建前后分别查看 PV 和 VG 的状态, 比如:

因为窝只有 2 块硬盘, 窝希望一块硬盘突然挂掉之后, 另一块完全不受影响, 所以分别对每块硬盘创建一个 VG, 而没有加入同一个 VG.

作为穷人, 预计窝一个月买不了几块硬盘 (很可能一年也买不了几块), 所以使用这种命名方案. 读者随意.

使用  命令查看 LV, 使用  命令创建 LV. 在创建前后分别查看 PV, VG, LV 的状态, 比如:

在每个 VG 创建了一个 LV, 名称分别为 , , 容量为 500GB. 可以看到, 创建 LV 之后, PV 和 VG 的空闲空间 (Free) 相应减少.

由于对 LV 进行扩容是很方便快捷的操作, 刚开始创建 LV 时可以指定较小的容量, 以后再增加. 这可以提高管理灵活度, VG 有空闲空间可以应对更多需求.

上面使用 LVM 命令成功创建了 PV, VG, LV, 也就是相当于给虚拟硬盘划分好了虚拟分区, 关于 LVM 使用的部分已经结束了, 喵呜啦 ~~

但是通常在使用之前, 还要格式化分区, 也就是建立 文件系统 (filesystem).

此处选择使用 , 因为 btrfs 功能丰富, 具有很高的管理灵活度. btrfs 技术上基于 B-Tree 和写时复制 (CoW), 具有压缩, 子卷 (subvol), 快照, 软件 RAID 等功能.

Linux 的文件系统 (VFS) 整个系统形成一棵完整的树状结构, 从根目录 () 开始. 挂载 (mount) 就是把文件系统 (块设备) 安装到这棵树上的操作. 挂载之后才能访问文件系统之中的文件.

挂载点 (mount point) 类似于这棵树上的某个枝条, 也就是挂载安装的位置 (目录). 与挂载相反的操作是卸载 (umount), 关机之前需要正常卸载文件系统, 防止数据丢失.

此处创建了两个目录 , . 挂载点最好是空目录, 否则挂载后会 "遮盖" 原来的目录, 导致原来目录中的文件无法访问 (卸载后会恢复原状).

使用  命令进行挂载, 指定块设备 (LV) 和挂载点, 使用  指定挂载选项, 比如:

其中  选项表示启用压缩 (btrfs 文件系统的功能), 压缩算法为 .  表示不允许使用 suid,  表示不允许创建设备文件. 因为这个是数据盘, 所以禁止这些特殊文件, 可以提高系统的安全性.

上面使用  命令手动挂载, 重启之后就会失效. 如果想要开机挂载, 可以编写 systemd 配置文件, 比如:

参考资料: <https://www.freedesktop.org/software/systemd/man/latest/systemd.mount.html>

上面介绍了开始使用 LVM 的完整操作, 包括: 硬盘分区, 创建 PV, VG, LV, 格式化, 挂载, 开机挂载.

使用  命令对 LV 进行扩容, 使用  参数指定容量,  表示增大 500GB, 如下:

可以看到, LV 已经扩容了. 接下来进行文件系统的扩容, 对于  文件系统可以使用  命令, 比如:

扩容完毕. 注意, 上述操作完全可以在系统正常运行的过程中进行, 无需中断或停机, 也就是 在线 扩容.

<https://www.man7.org/linux/man-pages/man8/vgextend.8.html>

+ (2) 从 VG 移除 PV. 使用  命令. 移除 PV 之前, 可能需要使用  命令将其中的数据 (PE) 转移.

<https://www.man7.org/linux/man-pages/man8/vgreduce.8.html>

<https://www.man7.org/linux/man-pages/man8/pvmove.8.html>

<https://www.man7.org/linux/man-pages/man8/pvscan.8.html>

<https://www.man7.org/linux/man-pages/man8/lvremove.8.html>

快照 (snapshot) 可以保存一个 LV 在创建快照时刻的状态 (数据). 快照可以用来备份数据, 比如对一个 LV 创建快照, 然后对快照进行备份. 因为快照中的数据是不变的, 而一个运行中的文件系统, 会不停读写数据, 对备份造成困难.

<https://www.man7.org/linux/man-pages/man8/lvcreate.8.html>

LVM 支持 raid0, raid1, raid4, raid5, raid6, raid10. 需要多块硬盘 (PV) 才能创建 RAID.

硬件 RAID (阵列卡) 相比, 软件 RAID 会使用更多的 CPU 和内存资源. 但是软件 RAID 具有更高的灵活度, 比如可以只把一块硬盘的一部分用于 RAID, 而硬件 RAID 只能把整块硬盘用于 RAID.

<https://www.man7.org/linux/man-pages/man7/lvmraid.7.html>

LVM 可以构建带缓存的多级存储系统. 比如使用大容量硬盘存储数据, 前面使用快速的 SSD 作为缓存, 缓存通过存储热点数据, 可能提高整个系统的存储性能.

<https://www.man7.org/linux/man-pages/man7/lvmcache.7.html>

<https://www.man7.org/linux/man-pages/man7/lvmvdo.7.html>

逻辑卷管理器 (LVM) 使用物理卷 (PV), 卷组 (VG), 逻辑卷 (LV) 这 3 层抽象, 提供了很高的灵活度, 功能很强大, 使用起来却简单方便.

文本介绍了使用 LVM 对硬盘进行存储管理的整个过程: 硬盘分区 (fdisk), 创建 PV, VG, LV, 格式化 (btrfs), 挂载 (mount), 开机挂载 (systemd). 另外介绍了一些 LVM 的管理操作与高级功能.

作为穷人, 很难拥有大规模服务器集群 (几十台甚至数百台), 能有两三台廉价二手服务器就已经很不错了, 只有一台那也能凑合. LVM 作为一种单机的存储虚拟化技术, 应该能发挥很好的作用. 狠狠的使用 LVM 吧 !

到此这篇lvm逻辑卷创建(lvm进行逻辑卷管理时创建顺序)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!

版权声明


相关文章:

  • 产品经理需要考什么证书知乎(产品经理需要什么专业技能)2025-07-30 17:27:09
  • 群晖管理员密码设置(群晖管理员密码设置要求)2025-07-30 17:27:09
  • sdk测试和产品测试区别(sdk测试的前景)2025-07-30 17:27:09
  • acl权限模型(acl权限管理)2025-07-30 17:27:09
  • 产品经理入门证书(产品经理需要考什么证书知乎)2025-07-30 17:27:09
  • acl权限模型(acl机制 管理权限)2025-07-30 17:27:09
  • rbac权限模型er图(rbac权限管理实现)2025-07-30 17:27:09
  • 进程管理器快捷键命令是哪个(进程管理器快捷键命令是哪个键)2025-07-30 17:27:09
  • 文件管理的音频怎么保存到本地(文件管理里的音频怎么发到微信)2025-07-30 17:27:09
  • 手机的文件管理在哪里找(荣耀手机的文件管理在哪里找)2025-07-30 17:27:09
  • 全屏图片