Skip to content

LVM

Published:

LVM 概念简介

LVM 是 Linux 系统中用于管理磁盘驱动器和类似存储设备的一种方法。它提供了比传统的分区管理更多的灵活性。LVM 允许用户创建、调整、重新分配存储空间,而无需关心底层物理硬盘的具体分布。

LVM 的主要组件

  1. 物理卷(Physical Volumes, PVs): 这些是 LVM 的基础。一个物理卷可以是一个完整的硬盘,一个硬盘的分区,或者甚至是一个 RAID 数组。在 LVM 中,物理卷是存储的最底层单元。
  2. 卷组(Volume Groups, VGs): 卷组是一种高级抽象,它允许你将多个物理卷组合成一个大的存储池。你可以将一个或多个物理卷添加到一个卷组中。卷组让你把物理存储设备的细节抽象化,让管理更加灵活和方便。
  3. 逻辑卷(Logical Volumes, LVs): 在一个卷组内,你可以创建多个逻辑卷。这些逻辑卷就像传统的分区,但它们拥有更多的灵活性。你可以在不影响数据的情况下动态地调整它们的大小,或者将它们跨越多个物理卷。

LVM 的优势

使用场景

实际需求

需求说明:平台部署至客户服务器,目前服务器磁盘目前为500GB,平台运行占用磁盘空间无法确定大小,所以先将其中一块硬盘挂载到 /data 目录下,后期如果不够用再将其它硬盘扩容到 /data 目录下,这可以通过使用 LVM 实现,LVM 允许你以后方便地扩展存储空间。下面是详细的步骤:

挂载 /dev/vdb 到 /data

  1. 安装 LVM
yum install lvm2
  1. 安装完成后,你可以通过检查 LVM 版本来验证它是否正确安装
lvm version
  1. 确保 LVM 服务在启动时自动运行
systemctl enable lvm2-lvmetad
  1. 查看现有磁盘-确认 /dev/vdb 是否存在
lsblk
  1. 创建物理卷(Physical Volume, PV)
sudo pvcreate /dev/vdb
  1. 创建卷组(Volume Group, VG)-创建一个新的卷组。这里以 data_vg 为例
sudo vgcreate data_vg /dev/vdb
  1. 创建逻辑卷(Logical Volume, LV)-创建一个新的逻辑卷。以 data_lv 为例,使用卷组 data_vg 的所有可用空间
sudo lvcreate -l +100%FREE -n data_lv data_vg
  1. 格式化逻辑卷-通常使用 ext4 文件系统
sudo mkfs.ext4 /dev/data_vg/data_lv
  1. 创建挂载点并挂载逻辑卷
sudo mkdir -p /data
sudo mount /dev/data_vg/data_lv /data
  1. 更新 fstab 以确保启动时自动挂载-编辑 /etc/fstab 文件,添加以下行
/dev/data_vg/data_lv /data ext4 defaults 0 2

将来扩展 /data 目录

  1. 当你有一个新硬盘(比如 /dev/vdc)时,首先要创建一个新的物理卷
sudo pvcreate /dev/vdc
  1. 扩展卷组-将新的物理卷添加到现有的卷组 data_vg 中
sudo vgextend data_vg /dev/vdc
  1. 扩展逻辑卷-扩展 data_lv 以使用新添加的空间。例如,将逻辑卷扩展到新的最大大小
sudo lvextend -l +100%FREE /dev/data_vg/data_lv
  1. 调整文件系统大小-最后,你需要扩展文件系统以使用新的逻辑卷大小。对于 ext4 文件系统,可以使用
sudo resize2fs /dev/data_vg/data_lv