如何对Linux的默认LVM空间进行扩容

405次阅读  |  发布于11月以前

1.Linux LVM简介

Linux Logical Volume Manager(LVM)是一种用于管理磁盘和存储空间的软件工具, 它提供了一种灵活的方式来管理逻辑卷(Logical Volumes)和卷组(Volume Groups)。

LVM的工作原理涉及到几个核心概念:

下面是一个可视化的LVM工作原理图, 假设有5个不同的磁盘, 每个磁盘都有一个映射到物理卷(PV)的分区, 所有磁盘都被分组成单个卷组(VG), 卷组被分成两个不同的逻辑卷(LV), 每个LV都用于一个文件系统,如图:

假设在ubuntu系统上划分了一个100GB空间的磁盘, 根据LVM原理,划分层次如下:

2.Linux系统安装程序默认设置

以ubuntu系统为例, 在安装ubuntu系统的过程中, 会出现批准存储布局的屏幕提示, 默认情况下, 存储布局将有几个小的引导分区和第三个分区, LVM将使用该分区来创建根文件系统, 如图:

3.使用默认可用空间

在ubuntu默认情况下, 根文件系统使用的空间还不到总磁盘空间的一半, 首先使用df -h命令检查根文件系统的可用空间, 如下图:

从上图可以看到, 只使用了大约49GB空间的14%, 在实际正常使用过程中, 这点空间可能一瞬间就会被占满, 这次的目标就是对这49GB的卷进行扩容。

要检查卷组上的现有可用空间(安装程序默认设置留下的空间), 可以运行: vgdisplay命令检查可用空间,如图:

从上图中可以看到, 大约还有49.25GB的空间可使用, 当然, 这里的可用空间也可能会不够, 在下面会讲到。

要使用根逻辑卷(LV)的卷组(VG)上的可用空间, 可以先运行: lvdisplay命令检查逻辑卷大小, 然后运行:

lvextend -l +100%FREE /dev/ubuntu-vg/ubuntu-lv

将LV扩充到可用的最大大小, 之后再次运行lvdisplay以确保其更改成功,如图:

此时已经增加了根文件系统所在的块卷的大小, 但仍然需要在其之上扩展文件系统, 运行df -h来检查根文件系统, 然后运行命令:

resize2fs /dev/mapper/ubuntu — vg-ubuntu — lv

扩展文件系统, 并再次运行df -h确认,如图:

可以看到, 已经将系统默认留下的空间分配成功, 如果空间仍然不够, 则需要扩展基础磁盘来分配更多空间。

4.扩展物理磁盘空间

假设扩展空间计划是将现在的100GB扩展到200GB, 在实际应用中, 扩展的空间可能是虚拟机或RAID控制器或其它存储系统, 首先执行:cfdisk命令检查并查看是否列出了可用空间, 完成后使用q退出,如图:

如果没有看到列出的可用空间,可以使用:

echo 1>/sys/class/block/sda/device/rescan

启动 /dev/sda 的重新扫描, 完成后, 重新运行cfdisk, 这时应该可以看到新的可用空间了,如图:

从列表中选择/dev/sda3分区,然后从底部菜单中选择"调整大小"。按下Enter键, 它会提示确认新大小, 再次按Enter键, 将看到/dev/sda3分区拥有新的空间大小。

从底部菜单中选择"Write", 输入yes进行确认, 然后按Enter键, 输入q退出程序。

现在/dev/sda3物理卷(PV)的LVM分区已经完成扩展, 接着需要扩展PV, 运行命令:

pvresize /dev/sda3

执行该操作, 然后使用pvdisplay检查新大小,如图:

现在可以看到, PV已从98.5GB增加到198.5GB, 再次使用vgdisplay检查卷组(VG)的可用空间,如图:

可以看到VG有100GB的可用空间, 继续输入命令:

lvextend -l +100%FREE /dev/ubuntu-vg/ubuntu-lv

扩展LV以用完VG的所有可用空间, 然后执行lvdisplay命令确保更改成功,如图:

此时根文件系统的块卷已完成扩展, 但文件系统本身还没有调整大小来适应新的卷, 首先df -h检查一下文件系统的当前大小, 然后运行命令:

resize2fs /dev/mapper/ubuntu — vg-ubuntu — lv

调整大小, 并再次运行df -h检查新文件系统可用空间,如图:

可以看到,已经成功扩展了物理磁盘,并将可用空间一直向上延续到LVM抽象层, 根文件系统已经有足够的空间使用。

Copyright© 2013-2020

All Rights Reserved 京ICP备2023019179号-8