系统管理指南:设备和文件系统

自定义 UFS 文件系统参数

在更改由 newfs 命令指定的缺省文件系统参数之前,需要了解这些参数。本节介绍这些参数:

有关自定义这些参数的命令选项的说明,请参见 newfs(1M)mkfs_ufs(1M)

逻辑块大小

逻辑块大小是 UNIX® 内核用来读取或写入文件的块的大小。逻辑块大小通常与物理块大小不同。物理块大小通常为 512 字节,这是磁盘控制器可以读取或写入的最小块的大小。

缺省情况下,逻辑块大小设置为系统的页面大小。对于 UFS 文件系统,缺省的逻辑块大小为 8192 字节 (8 KB)。UFS 文件系统支持 4096 或 8192 字节(4 或 8 KB)的块大小。建议的逻辑块大小为 8 KB。


仅适用于 SPARC –

在 sun-4uTM 平台上,只能指定 8192 字节的块大小。


要选择最适合您系统的逻辑块大小,应同时考虑所需性能和可用空间。对于大多数 UFS 系统,8 KB 的文件系统可提供最佳的性能,在磁盘性能与主内存和磁盘的空间使用之间实现很好的平衡。

通常,当大多数文件都非常大时,要提高效率,应为文件系统使用较大的逻辑块大小。当大多数文件都非常小时,应为文件系统使用较小的逻辑块大小。可以对文件系统使用 quot -c filesystem 命令,显示有关按块大小分布文件的完整报告。

但是,在大多数情况下,在创建文件系统时设置的页面大小很可能是最佳大小。

段大小

在创建或扩展文件时,会按完整逻辑块或部分逻辑块(称为)为其分配磁盘空间。当文件需要磁盘空间时,首先分配完整块,然后为剩余部分分配某个块的一个或多个段。对于小文件,首先分配段。

能够为文件分配块中段而不是仅分配完整块,就减少了块中未使用的孔洞所导致的磁盘空间段化,从而节省了空间。

在创建 UFS 文件系统时,可定义段大小。缺省的段大小为 1 KB。每个块都可以分成 1 个、2 个、4 个或 8 个段,因此段大小从 8192 字节到 512 字节(仅适用于 4 KB 文件系统)不等。下限实际上为磁盘扇区大小(通常是 512 字节)。

对于多 TB 文件系统,段大小必须等于文件系统的块大小。


注 –

段的上限为逻辑块大小,在这种情况下段根本不是段。如果相对于空间而言,您更关心速度,则此配置对于具有非常大的文件的文件系统可能是最佳的。


选择段大小时,请考虑时间和空间之间的平衡:小的段大小可节省空间,但是需要更多的时间进行分配。通常,当大多数文件都很大时,要提高存储效率,应为文件系统使用较大的段大小。当大多数文件都很小时,应为文件系统使用较小的段大小。

最小空闲空间

最小空闲空间是在创建文件系统时保留的磁盘空间占总磁盘空间的百分比。缺省的保留空间为((64 MB/分区大小)* 100),向下舍入到最接近的整数,且介于 1% 与 10%(包括 1% 和 10%)之间。

空闲空间是很重要的,因为随着文件系统变满,文件访问的效率会越来越低。只要存在足够的空闲空间,UFS 文件系统就可以有效地运行。当文件系统变满,用尽可用的用户空间时,只有超级用户才能访问保留的空闲空间。

诸如 df 之类的命令报告用户可用空间的百分比,不包括作为最小空闲空间分配的百分比。当命令报告文件系统中正使用的磁盘空间超过 100% 时,说明一些保留空间已被超级用户使用。

如果将配额强加于用户,则可供他们使用的空间不包括保留的空闲空间。可以使用 tunefs 命令更改现有文件系统的最小空闲空间值。

旋转延迟

此参数已过时。不管指定什么值,该值始终设置为 0。

优化类型

优化类型参数设置为空间时间

有关更多信息,请参见 tunefs(1M)

Inode 数(文件)

每个 inode 的字节数指定文件系统中的 inode 密度。用文件系统的总大小除以该数,就可以确定要创建的 inode 数。分配 inode 后,不重新创建文件系统,就无法更改该数。

如果文件系统小于 1 GB,则每 inode 的缺省字节数为 2048 字节 (2 KB)。如果文件系统大于 1 GB,则使用以下公式:

文件系统大小 

每 Inode 的字节数 

小于或等于 1 GB 

2048 

小于 2 GB 

4096 

小于 3 GB 

6144 

3 GB 至 1 TB 

8192 

大于 1 TB 或是使用 -T 选项创建的

1048576 

如果使用的文件系统包含许多符号链接,则这些符号链接可以降低平均文件大小。如果文件系统将要包含许多小文件,则可以为此参数指定一个较小的值。但是,请注意具有太多的 inode 比 inode 不足要好得多。如果具有太少的 inode,则可能会在磁盘片还几乎为空时达到最大文件数。

UFS 文件和文件系统的最大大小

UFS 文件系统的最大大小约为 16 TB 的可用空间减去约 1% 的开销。稀疏文件可以具有 1 TB 的逻辑大小。但是,由于文件系统开销所致,可以存储在文件中的实际数据量比 1 TB 大约小 1%。

最大 UFS 子目录数

UFS 文件系统中每目录的最大子目录数为 32,767。此限制是预定义的,不能进行更改。