github编辑

23.3 UFS 文件系统

关于 UFS

UFS 全称为 Unix File System,即 UNIX 文件系统,起源于 UNIX v7。过去,macOS 也使用该文件系统作为根(root)文件系统。目前 FreeBSD 使用的是 UFS2。Linux 对 UFS 的读写支持不完整。

UFS 文件系统与手机等设备中使用的 UFS 存储完全不同,后者为 Universal Flash Storage(通用闪存存储),已发展到 4.0 版本(FreeBSD 在 10.4 版本中支持 eMMC;而 UFS 存储在 FreeBSD 15.0 的开发计划中,尚未支持)。作为文件系统的 UFS,其版本号为 2。手机内部系统不可能使用 UFS 文件系统,因为基于 Linux 的 Android 系统不支持该文件系统,这些设备的根文件系统通常为 ext4(部分新设备使用 F2FS)。

警告

UFS 文件系统只能扩大不能被缩小。

磁盘扩容

注意

此方案仅适用于向后扩展;如果 freebsd-ufs 分区前方存在空余空间,则无法使用此方法进行扩展。

  • gpart show 显示系统中所有磁盘的分区布局:

# gpart show
=>       3  41943035  da0  GPT  (20G)
         3       122    1  freebsd-boot  (61K)
       125     66584    2  efi  (33M)
     66709   2097152    3  freebsd-swap  (1.0G)
   2163861  10486633    4  freebsd-ufs  (5.0G)
  12650494  29292544       - free -  (14G)

系统盘大小为 5G,显示 da0 仅包含此一个分区。

  • 执行扩容命令

警告

如果你使用的是 GPT 分区表,此处的扩容操作(在虚拟机或云服务器上的)可能会破坏 GPT 分区表,所以要恢复 da0 磁盘的分区表:

执行后下面步骤相同。

调整 da0 磁盘上编号为 4 的 freebsd-ufs 分区大小:

选项 i 表示要扩容的分区,这里指扩展分区 freebsd-ufs

  • 使用 growfs 服务扩展文件系统(一次性操作,完成后无需重复执行):

  • 显示挂载的文件系统的磁盘使用情况

参数说明:

  • -h 为人类可读格式(显示为 KB、MB、GB 等)

  • -l 仅显示本地文件系统

以上输出显示,分区扩展已完成且文件系统已成功调整大小。

最后更新于