一、EVE-NG硬盘扩容

在使用EVE-NG时,最为关心的资源就是:CPU、内存、网卡、硬盘。内存、CPU、网卡的扩容都非常的容易。但是硬盘的扩容就比较难操作了,因为EVE-NG在安装时,默认情况下,磁盘使用LVM管理。我们下载的官方ova文件中的默认设定如下图:

E33.png

硬盘空间只有40GB,一旦硬盘的40GB被上传的镜像占满时,EVE-NG就无法继续上传镜像了,所以,这对严重依赖QEMU虚拟设备的用户来说,容量太小。在进行硬盘和swap的扩容时,一定要了解LVM。这涉及使用LVM管理新增硬盘。所以请务必查阅上文连接文章,当然如果你对LVM很熟悉,就当我放屁。

二、根目录自动扩容

EVE-NG默认的磁盘大小为40GB,在处理硬盘时,需要用到的命令是:df和fdisk(分区工具)

显示磁盘分区使用情况:df -h (-h表示以人类阅读方式显示信息)

显示所有磁盘和磁盘分区:fdisk -l (-l表示所有磁盘)

接下来,我们按照LVM一贯的步骤来对EVE-NG进行硬盘扩容!

步骤一:查看磁盘分区信息

df -h

E34.png

fdisk -l

E35.png

#查看所有可用块设备的信息
lsblk

E36.png

#查看当前物理卷信息
pvdisplay

E37.png

#查看卷组信息
vgdisplay

由下图得知,卷组名为eve-ng-vg,大小为39.52G

E38.png

得知了卷组信息后,我们需要了解这个卷组被分成了几个逻辑卷

#查看逻辑卷信息
lvdisplay

E39.png

从上面的信息得出了LVM结构,sda5(即PV)被加入到了eve-ng-vg(即VG)中,eve-ng-vg又被划分为两个逻辑卷/dev/eve-ng-vg/root和/dev/eve-ng-vg/swap_1(即LV),root大小为31.5G、swap_1大小为8G。因为EVE-NG的目录为/opt/unetlab/,/dev/eve-ng-vg/root被挂载到了/上。所以扩容需求就是对/dev/eve-ng-vg/root逻辑卷进行扩容。所以只需要在EVE-NG这个虚拟机设置中添加一块新硬盘即可(需要关闭EVE-NG)。

步骤二:自动扩容

自动扩容的概念就是当我们增加了新硬盘后,新硬盘的容量会自动的类似做了一些我们需要手动做的步骤,比如取消挂载、将逻辑卷/dev/eve-ng-vg/root增加100G的容量、检查文件系统的完整性、重置逻辑卷容量、重新挂载等,这些操作已经无需做了。

E40.png

E41.png

三、根目录手动扩容

自动扩容只适用于增加的新硬盘,如果你想在不增加新硬盘,只增加原有的硬盘大小的情况下扩容就需要用到手动扩容

步骤一:虚拟机中的手动扩容

首先增加原有硬盘空间到80G,选择硬盘后单击“扩展”,输入扩容后的硬盘大小完成硬盘空间扩容

E42.png

增加好硬盘空间后,需要记住fdisk分区工具所需要用到的命令:

20200313094649.png

步骤二:磁盘分区

#查看磁盘分区信息
fdisk -l

注意我们将硬盘增加到了80G,也就是净增加40G,这40G虽然在/dev/sda硬盘中,但是40G并没有被划分入一个分区中,所以我们需要将其单独划分一个分区

E43.png

#将40G划分新分区
fdisk /dev/sda

这时候就用到了fdisk工具了,将磁盘/dev/sda划分分区图示

E44.png

tips:每个磁盘的最多主分区(primary)数量和扩展分区(extended)数量总和不超过4个,扩展分区最多1个,所以在创建新分区时选择了主分区创建

步骤三:卷组扩容

重启EVE-NG后,分区表生效,接下来的操作就是将新分区/dev/sda3加入到eve-ng-vg卷组中(前面LVM-逻辑卷管理器文章中提到了PV可以是分区/硬盘/RAID,所以希望这句话能打消你的疑惑)

#查看卷组
vgdisplay

E45.png

将PV(即/dev/sda3分区)加入到eve-ng-vg卷组中

vgextend eve-ng-vg /dev/sda3

E46.png

#再次查看卷组
vgdisplay

E47.png

我们必须注意到扩容完eve-ng-vg卷组后,这40G该如何分?我的规划是将30G分给/dev/eve-ng-vg/root逻辑卷,剩下的10G分给/dev/eve-ng-vg/swap_1

步骤四:根目录扩容

老样子,做任何事之前,都要先了解下情况在进行下一步操作

tips:由于/dev/eve-ng-vg/root逻辑卷挂载在了/下,所以就称作了根目录扩容,其实具体扩容是对/dev/eve-ng-vg/root这个逻辑卷扩容

#显示/dev/eve-ng-vg/root逻辑卷信息
lvdisplay /dev/eve-ng-vg/root

E48.png

#扩容/dev/eve-ng-vg/root逻辑卷增加30G
lvextend -L +30G /dev/eve-ng-vg/root
lvdisplay /dev/eve-ng-vg/root

E49.png

此时,查看文件系统挂载情况下的话,发现并没有加入进去,这是因为虽然逻辑卷扩容了,但是该逻辑卷的文件系统并没有扩容,需要重新调整文件系统的大小

#调整文件系统大小
resize2fs /dev/eve-ng-vg/root

E50.png

至此,根目录扩容成功!

步骤五:swap扩容

前面eve-ng-vg卷组中还有10G要分给swap分区。Swap分区为交换分区,当物理内存不够用时,需要将物理内存中的一部分空间释放出来,以供当前运行的程序使用,而使用的这些被释放的内存的程序可能很久没有运行,这些数据被临时保存在swap空间中,等到程序重新运行时,再从swap空间中恢复到内存中继续使用。只有在物理内存不够时,才会进行swap交换,俗称“虚拟内存”。

tips:Windows也是有虚拟内存的:计算机属性-高级系统配置-高级-性能设置-高级,默认情况下虚拟内存和物理内存大小一致

#查看分区信息
fdisk -l
#查看/dev/eve-ng-vg/swap_1逻辑卷信息
lvdisplay /dev/eve-ng-vg/swap_1

E51.png

E52.png

由上图,/dev/eve-ng-vg/swap_1逻辑卷大小为8G,默认被挂载到swap分区。在进行扩容前,需要卸载swap分区。

#卸载swap分区
swapoff /dev/eve-ng-vg/swap_1

E53.png

#将剩余的10G左右容量全部扩容至/dev/eve-ng-vg/swap_1逻辑卷中
mkswap /dev/eve-ng-vg/swap_1

E54.png

#挂载/dev/eve-ng-vg/swap_1到swap分区中,并查看分区容量
swapon /dev/eve-ng-vg/swap_1

E55.png