一、EVE-NG硬盘扩容
在使用EVE-NG时,最为关心的资源就是:CPU、内存、网卡、硬盘。内存、CPU、网卡的扩容都非常的容易。但是硬盘的扩容就比较难操作了,因为EVE-NG在安装时,默认情况下,磁盘使用LVM管理。我们下载的官方ova文件中的默认设定如下图:
硬盘空间只有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
fdisk -l
查看所有可用块设备的信息 | |
lsblk |
查看当前物理卷信息 | |
pvdisplay |
查看卷组信息 | |
vgdisplay |
由下图得知,卷组名为eve-ng-vg,大小为39.52G
得知了卷组信息后,我们需要了解这个卷组被分成了几个逻辑卷
查看逻辑卷信息 | |
lvdisplay |
从上面的信息得出了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的容量、检查文件系统的完整性、重置逻辑卷容量、重新挂载等,这些操作已经无需做了。
三、根目录手动扩容
自动扩容只适用于增加的新硬盘,如果你想在不增加新硬盘,只增加原有的硬盘大小的情况下扩容就需要用到手动扩容
步骤一:虚拟机中的手动扩容
首先增加原有硬盘空间到80G,选择硬盘后单击“扩展”,输入扩容后的硬盘大小完成硬盘空间扩容
增加好硬盘空间后,需要记住fdisk分区工具所需要用到的命令:
步骤二:磁盘分区
查看磁盘分区信息 | |
fdisk -l |
注意我们将硬盘增加到了80G,也就是净增加40G,这40G虽然在/dev/sda硬盘中,但是40G并没有被划分入一个分区中,所以我们需要将其单独划分一个分区
将40G划分新分区 | |
fdisk /dev/sda |
这时候就用到了fdisk工具了,将磁盘/dev/sda划分分区图示
tips:每个磁盘的最多主分区(primary)数量和扩展分区(extended)数量总和不超过4个,扩展分区最多1个,所以在创建新分区时选择了主分区创建
步骤三:卷组扩容
重启EVE-NG后,分区表生效,接下来的操作就是将新分区/dev/sda3加入到eve-ng-vg卷组中(前面LVM-逻辑卷管理器文章中提到了PV可以是分区/硬盘/RAID,所以希望这句话能打消你的疑惑)
查看卷组 | |
vgdisplay |
将PV(即/dev/sda3分区)加入到eve-ng-vg卷组中
vgextend eve-ng-vg /dev/sda3
再次查看卷组 | |
vgdisplay |
我们必须注意到扩容完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 |
扩容/dev/eve-ng-vg/root逻辑卷增加30G | |
lvextend -L +30G /dev/eve-ng-vg/root | |
lvdisplay /dev/eve-ng-vg/root |
此时,查看文件系统挂载情况下的话,发现并没有加入进去,这是因为虽然逻辑卷扩容了,但是该逻辑卷的文件系统并没有扩容,需要重新调整文件系统的大小
调整文件系统大小 | |
resize2fs /dev/eve-ng-vg/root |
至此,根目录扩容成功!
步骤五: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 |
由上图,/dev/eve-ng-vg/swap_1逻辑卷大小为8G,默认被挂载到swap分区。在进行扩容前,需要卸载swap分区。
卸载swap分区 | |
swapoff /dev/eve-ng-vg/swap_1 |
将剩余的10G左右容量全部扩容至/dev/eve-ng-vg/swap_1逻辑卷中 | |
mkswap /dev/eve-ng-vg/swap_1 |
挂载/dev/eve-ng-vg/swap_1到swap分区中,并查看分区容量 | |
swapon /dev/eve-ng-vg/swap_1 |