在本指南中,我们将介绍如何在 Linux 中逐步创建扩展 lvm 分区。

1、基础概念

  1. PV:physical volume 物理卷,同一磁盘可划分为多个物理卷
  2. VG:volume group 卷组,一个到多个PV可组成一个卷组
  3. LVM 是逻辑卷管理 (Logical Volume Management) 的缩写,它是 Linux 系统上专门为服务器推荐的管理磁盘或存储的方法。LVM 分区的一个主要优点是我们可以在线扩展它的大小,而不需要任何停机时间。也可以减少 LVM 分区,但不建议。
  4. 挂载点:lv与挂载点是1:1的关系

综上:Linux的磁盘管理其实就是把物理磁盘先进行划分,分成一块块pv,然后对pv进行分组形成vg,再将vg分配给lv,最后将lv挂载到挂载点上进行使用。之所以进行这么多层次的划分,就是为了能灵活的对磁盘进行逻辑上的区分使用。

2、前期准备,创建PV

在磁盘 /dev/sdb 上创建 PV 之前,确保安装了 lvm2 包

sudo apt install lvm2     // On Ubuntu / Debian
sudo dnf install lvm2    // on RHEL / CentOS

运行如下 pvcreate 命令在磁盘 /dev/sdb 上创建 PV

pvcreate /dev/sdb
结果:Physical volume “/dev/sdb” successfully created.

3、 创建 VG (卷组)

  1. 要创建卷组,我们将使用 vgcreate 命令。创建 VG 就是将 PV 添加到卷组中。
sudo vgcreate ubuntu-vg /dev/sdb
结果:Volume group “ubuntu-vg” successfully created
  1. 查看 VG (ubuntu-vg) 的状态,运行如下命令。
vgs ubuntu-vg
# 或者
vgdisplay ubuntu-vg

centos 激活 lv分区_逻辑卷

以上输出说明卷组 (ubuntu-vg) 的大小为 1.75 GB,物理扩展 (PE) 的大小为 4MB。PE 的大小可以在创建 VG 时更改。

4、创建 LV (逻辑卷)

  1. lvcreate 命令用于从逻辑卷组中创建逻辑卷。
lvcreate -L 1.2T -n ubuntu-lv2 /dev/ubuntu-vg

创建一个/dev/ubuntu-vg卷组下1.2T大小的名为ubuntu-lv2的逻辑卷。

结果:Logical volume “ubuntu-lv2” created.

  1. 查看 LV 的状态,运行如下命令
lvs /dev/volgrp01/lv01
# 或者
lvdisplay /dev/volgrp01/lv01

centos 激活 lv分区_linux_02

上面的输出说明已经成功创建了大小为 1.2T 的 LV(ubuntu-lv2 )。

5、LVM 分区格式化

  1. 使用 mkfs 命令 格式化 LVM 分区,在本例中 LVM 分区是 /dev/ubuntu-vg/ubuntu-lv2,运行以下命令将 LVM 分区格式化为 ext4 文件系统。
mkfs.ext4 /dev/ubuntu-vg/ubuntu-lv2

centos 激活 lv分区_逻辑卷_03

  1. 创建挂载 /ubuntu-lv2 目录
mkdir /ubuntu-lv2
  1. 运行 mount 命令把分区挂载在 /ubuntu-lv2
mount /dev/ubuntu-vg/ubuntu-lv2 /ubuntu-lv2

6、扩展lvm的大小

  1. 查看卷组中是否有多余的磁盘空间
vgdisplay

centos 激活 lv分区_ubuntu_04

如果卷组有剩余空间,可以使用以下命令对逻辑卷进行扩容,如下图,扩容后再查看逻辑卷(lvs)发现大小已经更改

lvextend -L +358G  /dev/ubuntu-vg/ubuntu-lv2
Logical volume ubuntu-vg/ubuntu-lv2 successfully resized

centos 激活 lv分区_逻辑卷_05

  1. 针对ext2/ext3/ext4文件系统的resize2fs命令来进行调整文件系统大小,针对xfs系统文件使用xfs_growfs来调整大小。
resize2fs /dev/ubuntu-vg/ubuntu-lv2
xfs_growfs /dev/ubuntu-vg/ubuntu-lv2

centos 激活 lv分区_linux_06