基于龙蜥衍生版 KeyarchOS 的 LVM 卷管理技术与实践 | 干货推荐

龙蜥社区OpenAnolis
发布于 2024-5-17 17:27
浏览
0收藏

编者按:在使用 Anolis OS 或龙蜥操作系统衍生版 KeyarchOS 时,若遇到磁盘空间不足的情况,如何对磁盘进行扩容?本文转载自浪潮信息操作系统公众号,将针对上述疑问进行详细解读。

背景

当用户对虚拟机进行扩容的过程中,可能会遇到以下问题:

用户在虚拟化平台中对虚拟机的磁盘进行了扩容操作,增加了磁盘的容量,但是操作系统并没有自动识别新的磁盘空间,仍然显示旧的磁盘容量,用户尝试查看磁盘空间情况,发现并没有新增的可用空间。

针对这个问题,本文将介绍在虚拟机中部署使用 KeyarchOS,如果遇到磁盘空间不足的情况,如何对磁盘进行扩容。

LVM扩容原理方案

LVM 技术是在物理硬盘分区和上层文件系统之间添加了一个逻辑层,为上层文件系统屏蔽下层硬盘分区布局,提供一个抽象的卷组,可以把多块硬盘分区进行卷组合并。这样一来,用户不必关心物理硬盘设备的底层架构和布局,就可以实现对硬盘分区的动态调整。

基于龙蜥衍生版 KeyarchOS 的 LVM 卷管理技术与实践 | 干货推荐-鸿蒙开发者社区(图1/LVM原理图)


基于龙蜥衍生版 KeyarchOS 的 LVM 卷管理技术与实践 | 干货推荐-鸿蒙开发者社区(图2/ 物理卷、卷组、逻辑卷之间的关系)


名词解释:

PV(physical volume):物理卷在逻辑卷管理系统最底层,可为整个物理硬盘或实际物理硬盘上的分区。它只是在物理分区中划出了一个特殊的区域,用于记载与LVM相关的管理参数。

VG(volume group):卷组建立在物理卷上,一卷组中至少要包括一物理卷,卷组建立后可动态的添加卷到卷组中,一个逻辑卷管理系统工程中可有多个卷组。

LV(logical volume):逻辑卷建立在卷组基础上,卷组中未分配空间可用于建立新的逻辑卷,逻辑卷建立后可以动态扩展和缩小空间。

LVM扩容的过程

1. 准备新磁盘或分区

可以是一个全新的物理磁盘,或者是一个已经存在的但没有被LVM使用的分区。

2. 创建物理卷(PV)

使用fdisk或parted等工具在新磁盘上创建分区

3. 扩展卷组(VG)

创建好物理卷后,需要将其添加到现有的卷组(VG)中

4. 扩展逻辑卷(LV)

扩展卷组后,将新增的空间分配给逻辑卷(LV)。

5. 调整文件系统大小

逻辑卷扩展后,文件系统也需要相应地调整大小以使用新增的空间。

6. 验证扩容结果

使用 df-h 命令来查看文件系统的新大小,确认扩容操作已经成功。

实践操作

环境信息:

服务器虚拟化系统:InCloud Sphere

服务器操作系统:KeyarchOS

操作:将磁盘从 40G 扩容到 100G 请确保在进行任何磁盘操作之前,备份重要数据以防意外发生。

1、打开虚拟机终端,通过 df-h 可以看到磁盘空间并没有增加,通过 lsblk 可以看到磁盘空间已经变成 100G,原因是没有对磁盘进行 LVM 扩容,下面将按照上述介绍的方案完成扩容。

基于龙蜥衍生版 KeyarchOS 的 LVM 卷管理技术与实践 | 干货推荐-鸿蒙开发者社区


基于龙蜥衍生版 KeyarchOS 的 LVM 卷管理技术与实践 | 干货推荐-鸿蒙开发者社区


2、创建分区

1)使用 fdisk [磁盘路径]命令将扩容的空间创建为分区。

基于龙蜥衍生版 KeyarchOS 的 LVM 卷管理技术与实践 | 干货推荐-鸿蒙开发者社区


2) 输入 n,一直按回车,创建新分区。

基于龙蜥衍生版 KeyarchOS 的 LVM 卷管理技术与实践 | 干货推荐-鸿蒙开发者社区


3) 输入 p,查看当前分区,可以看到已经新建了一个 60G 的分区;输入 w,回车,保存磁盘信息。

基于龙蜥衍生版 KeyarchOS 的 LVM 卷管理技术与实践 | 干货推荐-鸿蒙开发者社区

3、创建物理卷

1)使用 pvcreate 将新分区创建成物理卷。

基于龙蜥衍生版 KeyarchOS 的 LVM 卷管理技术与实践 | 干货推荐-鸿蒙开发者社区

4、 扩展卷组

1)查看卷组名称为 keyarchos,并且可以查看当前卷组大小。

基于龙蜥衍生版 KeyarchOS 的 LVM 卷管理技术与实践 | 干货推荐-鸿蒙开发者社区


2)将新创建的物理卷扩展到卷组中。

基于龙蜥衍生版 KeyarchOS 的 LVM 卷管理技术与实践 | 干货推荐-鸿蒙开发者社区


3)使用 vgdisplay 查看卷组,可以看出卷组中有了大约 60G 的空闲空间,由于卷组中会有一部分空间用于保存元数据以及块的大小对齐等因素因此显示的 Free PE/Size 大小会小于 60G。

基于龙蜥衍生版 KeyarchOS 的 LVM 卷管理技术与实践 | 干货推荐-鸿蒙开发者社区


5、 扩展逻辑卷

1) lvdisplay 查看需要扩容的逻辑卷,看到逻辑卷的 path为/dev/keyarchos/root。

基于龙蜥衍生版 KeyarchOS 的 LVM 卷管理技术与实践 | 干货推荐-鸿蒙开发者社区


2) 使用 lvextend 命令将剩余的卷组都添加到逻辑卷中。

基于龙蜥衍生版 KeyarchOS 的 LVM 卷管理技术与实践 | 干货推荐-鸿蒙开发者社区


3) 使用 lvdisplay 查看已经扩容成功。

基于龙蜥衍生版 KeyarchOS 的 LVM 卷管理技术与实践 | 干货推荐-鸿蒙开发者社区


6、调整文件系统大小

1)查看此逻辑卷的文件格式,可以看出为xfs格式。

基于龙蜥衍生版 KeyarchOS 的 LVM 卷管理技术与实践 | 干货推荐-鸿蒙开发者社区


2) 使用 xfs_growfs 对文件系统进行扩容。

基于龙蜥衍生版 KeyarchOS 的 LVM 卷管理技术与实践 | 干货推荐-鸿蒙开发者社区


7、验证扩容结果

1)通过 df-h 可以看到根目录的空间已经扩容。

基于龙蜥衍生版 KeyarchOS 的 LVM 卷管理技术与实践 | 干货推荐-鸿蒙开发者社区

以上就是在虚拟机运行KeyarchOS的场景中,针对虚拟机磁盘进行扩容的方法。

收藏
回复
举报
回复
    相关推荐