经常有群友问我,怎样在ESXi上扩展pfSense虚拟机磁盘容量,我告诉他们,先备份配置,然后重新建个虚拟机,再导入配置。这种方法简单易用,不容易出现问题。由于pfSense的底层操作系统是freeBSD,我们也可以使用freeBSD的分区命令来扩容磁盘。下面介绍在pfSense的shell环境下扩充pfSense磁盘容量的方法。

以下操作在​​pfSense plus 22.01中文定制版​​系统上完成。

在扩容之前,我的pfSense虚拟机占用2G的磁盘空间,磁盘的使用量已经处于红色报警区域。在扩容之前,建议先备份防火墙配置。

ESXi上pfSense虚拟机磁盘扩容方法_pfsense 磁盘扩容

下面开始扩容过程。

1、首先在ESXI中,找到pfSesne虚拟机,编辑虚拟机的设置,将硬盘修改为10G。

ESXi上pfSense虚拟机磁盘扩容方法_pfsense 磁盘扩容_02

2、启动虚拟机,进入pfSense的shell环境中,输入以下命令,查看磁盘占用情况。

gpart show

ESXi上pfSense虚拟机磁盘扩容方法_pfsense 磁盘扩容_03

2、删除pfSense的swap分区(后面要调整swap大小),该分区位于ada0s1的第2分区,先禁用swap分区,再执行命令删除。

swapoff -a
gpart delete -i 2 ada0s1

ESXi上pfSense虚拟机磁盘扩容方法_pfsense 磁盘扩容_04

3、将新增加的8G磁盘扩充到ada0上。执行以下命令:

gpart resize -i 1 ada0

ESXi上pfSense虚拟机磁盘扩容方法_pfsense 磁盘扩容_05

可以看到ada0s1的空闲磁盘已变为8.1G,包含之前删除的103M swap空间。

4、将pfSense所使用的freebsd-ufs分区扩展为7.5G(7.5×1024=7680,如果是8G整数,输入“gpart resize -i 1 -s 8G ada0s1”),输入以下命令:

gpart resize -i 1 -s 7680M ada0s1

ESXi上pfSense虚拟机磁盘扩容方法_pfsense 磁盘扩容_06

5、将剩余2.5G磁盘划分为swap空间。执行以下命令:

gpart add -t freebsd-swap ada0s1

ESXi上pfSense虚拟机磁盘扩容方法_pfsense 磁盘扩容_07

激活swap分区:

swapon -a

6、最后,输入下面的命令,完成UFS分区扩展,根据提示输入“yes"。

growfs /

ESXi上pfSense虚拟机磁盘扩容方法_pfsense 磁盘扩容_08

7、再进入pfSense,查看磁盘占用情况。

ESXi上pfSense虚拟机磁盘扩容方法_pfsense 磁盘扩容_09

顺利扩容成功。