Linux Logical Volume Manager(LVM)是一种用于管理磁盘和存储空间的工具,通过卷组和逻辑卷提供了灵活的存储管理方式。 LVM的核心概念包括物理卷、卷组和逻辑卷。
以下是一个可视化的LVM工作原理图。假设有5个不同的磁盘,每个磁盘都有一个分区映射到物理卷(PV),这些磁盘被组合成一个卷组(VG),该卷组被分成两个不同的逻辑卷(LV),每个LV用于一个文件系统。
图片
假设在ubuntu系统上划分了一个100GB空间的磁盘, 根据LVM原理,划分层次如下:
在安装Ubuntu系统时,会出现一个屏幕提示,需要批准存储布局。默认情况下,存储布局将包括几个小的引导分区和第三个分区,LVM将使用该分区来创建根文件系统。
图片
图片
在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确认,如图:
图片
可以看到, 已经将系统默认留下的空间分配成功, 如果空间仍然不够, 则需要扩展基础磁盘来分配更多空间。
假设扩展空间计划是将现在的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抽象层, 根文件系统已经有足够的空间使用。
以上是如何对Linux的默认LVM空间进行扩容的详细内容。更多信息请关注PHP中文网其他相关文章!