Azk*_*erM 4 freebsd vmware disk pfsense
我已经在ESXi上测试pfsense有一段时间了。现在我的空间快用完了。目前它大约有30GB,我想将它扩展到150GB,因为我计划安装鱿鱼进行缓存。到目前为止,我所做的是;
我的 pfsense 制造了很多麻烦。我所需要的只是在可能的情况下扩展旧 pfsense 上的磁盘,否则修复新磁盘(GUI 看起来非常缓慢)。
pfSense 当前基于 FreeBSD 8.x。实时扩展 UFS 文件系统的能力仅随 FreeBSD 10.x 一起提供,因此所有这些都应该在救援/安装模式下完成。
首先备份你的config.xml
文件!
要扩大 pfSense 根文件系统,您必须首先正确调整 BSD 分区方案(又名“bsd 片”)的大小:
重新调整 BSD 分区的大小
在控制台模式或通过 ssh,启动一个Shell
(示例只有 4GB 安装,4GB 可用磁盘):
[admin]:
gpart show
=> 63 16777153 ad0 MBR (8.0G)
63 8388513 1 freebsd [active] (4G)
8388576 8388640 - free - (4.0G)
=> 0 8388513 ad0s1 BSD (4G)
0 16 - free - (8.0k)
16 7339921 1 freebsd-ufs (3.5G)
7339937 1048576 2 freebsd-swap (512M)
Run Code Online (Sandbox Code Playgroud)
(假设您的磁盘被视为ad0
)
[admin]:
gpart resize -i 1 ad0
ad0s1 resized
Run Code Online (Sandbox Code Playgroud)
由于gpart
有关旧 MBR 分区方案的错误,我们需要强制全局大小更新,因为 MBR 仍然具有旧的全局大小。
获取freebsd
实际分区大小(gpart show ad0
输出的第二列):
[admin]:
gpart show ad0
=> 63 16777153 ad0 MBR (8.0G)
63 16777152 1 freebsd [active] (8G)
16777215 1 - free - (512B)
Run Code Online (Sandbox Code Playgroud)
使用bsdlabel
编辑这个值到的姿色c:
行:
[admin]:
bsdlabel -e /dev/ad0s1
# /dev/ad0s1:
8 partitions:
# size offset fstype [fsize bsize bps/cpg]
a: 15728640 16 4.2BSD 0 0 0
b: 1048496 15728656 swap
c: 8388513 0 unused 0 0 # "raw" part, don't edit
Run Code Online (Sandbox Code Playgroud)
所以编辑它以匹配这个数字;在我们的例子中:16777152(编辑器是vi
):
# /dev/ad0s1:
8 partitions:
# size offset fstype [fsize bsize bps/cpg]
a: 15728640 16 4.2BSD 0 0 0
b: 1048496 15728656 swap
c: 16777152 0 unused 0 0 # "raw" part, don't edit`
Run Code Online (Sandbox Code Playgroud)
分区现在已正确调整大小。
不断增长的 pfSense 根文件系统
由于默认的磁盘分区是在磁盘末尾设置交换,我们必须首先记下它的大小并在增长根文件系统之前将其删除:
(只要确保它是输出中ad0s1
第三列值的第二个文件系统gpart show
)
[admin]:
gpart delete -i 2 ad0s1
重新调整我们的根分区大小,但交换分区大小(gpart-s
选项只接受整数值,所以 7.5G = 7680M):
[admin]:
gpart resize -i 1 -s 7680M ad0s1
ad0s1a resized
Run Code Online (Sandbox Code Playgroud)
[admin]:
growfs /dev/ad0s1a
We strongly recommend you to make a backup before growing the Filesystem
Did you backup your data (Yes/No) ? Yes
new file systemsize is: 3932160 frags
Warning: 302144 sector(s) cannot be allocated.
growfs: 7532.5MB (15426496 sectors) block size 16384, fragment size 2048
using 41 cylinder groups of 183.72MB, 11758 blks, 23552 inodes.
super-block backups (for fsck -b #) at:
7525280, 7901536, 8277792, 8654048, 9030304, 9406560, 9782816, 10159072, 10535328, 10911584,
11287840, 11664096, 12040352, 12416608, 12792864, 13169120, 13545376, 13921632, 14297888,
14674144, 15050400
Run Code Online (Sandbox Code Playgroud)
并重新创建交换分区:
[admin]:
gpart add -t freebsd-swap ad0s1
ad0s1b added
Run Code Online (Sandbox Code Playgroud)
完毕。我们的分区表现在如下所示,并且根文件系统已正确扩展以使用其完整分区:
[admin]:
gpart show
=> 63 16777153 ad0 MBR (8.0G)
63 16777152 1 freebsd [active] (8G)
16777215 1 - free - (512B)
=> 0 16777152 ad0s1 BSD (8G)
0 16 - free - (8.0k)
16 15728640 1 freebsd-ufs (7.5G)
15728656 1048496 2 freebsd-swap (512M)
Run Code Online (Sandbox Code Playgroud)有关 FreeBSDgpart
和growfs
命令的更多信息:
注意:gpart
从 FreeBSD-10.0 开始,有关旧 MBR 分区方案的错误仍然存在。