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

文件系统的类型

Solaris OS 支持三种类型的文件系统:

要确定文件系统的类型,请参见确定文件系统的类型

基于磁盘的文件系统

基于磁盘的文件系统存储在硬盘、CD-ROM 和软盘等物理介质上。可以按不同的格式向基于磁盘的文件系统中进行写入。下表介绍了可用的格式。

基于磁盘的文件系统 

格式说明 

UFS 

UNIX 文件系统(基于 4.3 Tahoe 发行版中提供的 BSD Fat Fast File 系统)。 UFS 是 Solaris OS 缺省的基于磁盘的文件系统。

必须首先对磁盘格式化并将其分成片,然后才能在磁盘上创建 UFS 文件系统。有关格式化磁盘和将磁盘分片的信息,请参见第 11 章,管理磁盘(概述)

ZFS 

ZFS 文件系统是 Solaris 10 6/06 发行版中新增的文件系统。有关更多信息,请参见《Solaris ZFS 管理指南》。 

HSFS 

High Sierra、Rock Ridge 和 ISO 9660 文件系统。High Sierra 是第一个 CD-ROM 文件系统。ISO 9660 是 High Sierra 文件系统的官方标准版本。HSFS 文件系统在 CD-ROM 上使用,它是只读文件系统。Solaris HSFS 支持 ISO 9660 的 Rock Ridge 扩展。这些扩展存在于 CD-ROM 上时可提供所有 UFS 文件系统功能和文件类型,但可写性和硬链接除外。

PCFS 

PC 文件系统,该系统可用于对 DOS 格式磁盘上(针对基于 DOS 的个人计算机上写入)的数据和程序进行读写访问。

UDF 

通用磁盘格式 (Universal Disk Format, UDF) 文件系统,这是使用称为 DVD(Digital Versatile Disc 或 Digital Video Disc,数字通用光盘或数字视频光盘)的光介质技术来存储信息的行业标准格式。  

每种类型的基于磁盘的文件系统通常都与以下特定的介质设备关联,如下所示:

但是,这些关联并不具有限制性。例如,可以在 CD-ROM 和软盘上创建 UFS 文件系统。

通用磁盘格式 (Universal Disk Format, UDF) 文件系统

UDF 文件系统是用于在 DVD(Digital Versatile Disc 或 Digital Video Disc,数字通用光盘或数字视频光盘)光介质上存储信息的行业标准格式。

UDF 文件系统是作为可动态装入的 32 位和 64 位模块提供的,并且使用系统管理实用程序同时在 SPARC 和 x86 平台上创建、挂载和检查该文件系统。Solaris UDF 文件系统适用于支持的 ATAPI 和 SCSI DVD 驱动器、CD-ROM 设备以及磁盘和软盘驱动器。此外,Solaris UDF 文件系统完全符合 UDF 1.50 规范。

UDF 文件系统可提供以下功能:

UDF 文件系统中不包括以下功能:

UDF 文件系统需要以下内容:

Solaris UDF 文件系统实现提供了以下内容:

基于网络的文件系统

可以从网络对基于网络的文件系统进行访问。通常,基于网络的文件系统驻留在一个系统上(通常是服务器),并由其他系统通过网络进行访问。

通过 NFS,可以管理分布式资源(文件或目录),方法是将其从服务器导出,然后在单独的客户机上进行挂载。有关更多信息,请参见NFS 环境

虚拟文件系统

虚拟文件系统是基于内存的文件系统,该文件系统提供对特殊内核信息和工具的访问。大多数虚拟文件系统不占用文件系统磁盘空间。但是,CacheFS 文件系统使用磁盘上的文件系统以包含高速缓存。另外,一些虚拟文件系统(如临时文件系统 (temporary file system, TMPFS))还会使用磁盘上的交换空间。

CacheFS 文件系统

CacheFSTM 文件系统可以用于提高远程文件系统或慢速设备(如 CD-ROM 驱动器)的性能。高速缓存文件系统时,会将从远程文件系统或 CD-ROM 中读取的数据存储在本地系统上的高速缓存中。

如果要提高 NFS 或 CD-ROM 文件系统的性能和可伸缩性,应该使用 CacheFS 文件系统。CacheFS 软件是一种通用的文件系统高速缓存机制,该软件通过减少服务器和网络的负载来提高 NFS 服务器的性能和可伸缩性。

由于 CacheFS 软件设计为分层文件系统,因此该软件可将一个文件系统高速缓存到另一个文件系统上。在 NFS 环境中,CacheFS 软件可增加客户机与服务器数目的比例,减少服务器和网络负载,并提高客户机在点对点协议 (Point-to-Point Protocol, PPP) 等慢速链路上的性能。另外,也可以将 CacheFS 文件系统与 AutoFS 服务结合使用,以帮助提高性能和可伸缩性。

有关 CacheFS 文件系统的详细信息,请参见第 20 章,使用 CacheFS 文件系统(任务)

临时文件系统

临时文件系统 (temporary file system, TMPFS) 使用本地内存进行文件系统的读取和写入。通常,使用内存进行文件系统的读取和写入比使用 UFS 文件系统要快得多。使用 TMPFS 文件系统可以节省利用本地磁盘或网络读取和写入临时文件的成本,从而提高系统性能。 例如,在编译程序时即会创建临时文件。OS 在处理这些文件的同时会产生大量的磁盘活动或网络活动。使用 TMPFS 保存这些临时文件可以显著加快对其进行创建、处理和删除的速度。

TMPFS 文件系统中的文件不是永久性的。在取消挂载文件系统以及关闭或重新引导系统时,将删除这些文件。

TMPFS 是 Solaris OS 中 /tmp 目录的缺省文件系统类型。可以将文件复制或移动到 /tmp 目录中或从中复制或移动文件,就像在 UFS 文件系统中进行的操作一样。

TMPFS 文件系统使用交换空间作为临时后备存储。如果包含 TMPFS 文件系统的系统没有充足的交换空间,则可能会出现以下两种问题:

有关创建 TMPFS 文件系统的信息,请参见第 18 章,创建 UFS、TMPFS 和 LOFS 文件系统(任务)。 有关增加交换空间的信息,请参见第 21 章,配置其他交换空间(任务)

回送文件系统

使用回送文件系统 (loopback file system, LOFS),可以创建新的虚拟文件系统,以便使用替代的路径名访问文件。 例如,可以在 /tmp/newroot 上创建根 (/) 目录的回送挂载。此回送挂载使整个文件系统分层结构看起来就像在 /tmp/newroot 下对其进行复制一样,其中包括从 NFS 服务器挂载的任何文件系统。路径名以根 (/) 目录或 /tmp/newroot 开头的所有文件都将是可访问的。

有关如何创建 LOFS 文件系统的信息,请参见第 18 章,创建 UFS、TMPFS 和 LOFS 文件系统(任务)

进程文件系统

进程文件系统 (process file system, PROCFS) 驻留在内存中,并且包含 /proc 目录中按进程号排序的活动进程的列表。/proc 目录中的信息由 ps 等命令使用。调试器和其他开发工具也可以使用文件系统调用来访问进程的地址空间。


注意 – 注意 –

请勿删除 /proc 目录中的文件。从 /proc 目录中删除进程不会中止这些进程。/proc 文件不占用磁盘空间,因此不必从此目录中删除文件。


/proc 目录无需管理。

其他虚拟文件系统

以下列出的其他类型的虚拟文件系统用于参考。这些文件系统无需管理。

虚拟文件系统 

说明 

CTFS 

CTFS(contract file system,合同文件系统)是用于创建、控制和查看合同的界面。合同可通过提供更丰富的错误报告,以及采用延迟资源删除时间的方法(可选),增强进程与其所依赖的系统资源之间的关系。

服务管理工具 (service management facility, SMF) 使用进程合同(一种合同类型)来跟踪构成服务的进程,以便可以将多进程服务某部分中出现的故障标识为该服务的故障。 

FIFOFS(先入先出) 

为进程提供对数据的公共访问的指定管道文件

FDFS(文件描述符) 

使用文件描述符提供用于打开文件的显式名称

MNTFS 

为本地系统提供对已挂载文件系统表的只读访问 

NAMEFS 

主要由 STREAMS 用来在文件顶部动态挂载文件描述符

OBJFS 

OBJFS(对象)文件系统可描述当前由内核装入的所有模块的状态。此文件系统由调试器用来访问有关内核符号的信息,而不必直接访问内核。

SPECFS(特殊) 

提供对字符特殊设备和块设备的访问

SWAPFS 

由内核使用以进行交换

扩展的文件属性

UFS、NFS 和 TMPFS 文件系统均已增强,包括扩展的文件属性。通过扩展的文件属性,应用程序开发者可以将特定属性与文件关联。例如,开发用于管理窗口系统的应用程序的开发者可能会选择将显示图标与文件关联。扩展的文件属性在逻辑上表示为与目标文件关联的隐藏目录中的文件。

可以使用 runat 命令在扩展属性名称空间中添加属性和执行 shell 命令。此名称空间是与指定文件关联的隐藏属性目录。

要使用 runat 命令向文件添加属性,必须首先创建属性文件。


$ runat filea cp /tmp/attrdata attr.1

然后,使用 runat 命令列出文件的属性。


$ runat filea ls -l

有关更多信息,请参见 runat(1) 手册页。

许多 Solaris 文件系统命令已经修改,可以通过提供可识别属性的选项来支持文件系统属性。使用此选项可查询、复制或查找文件属性。有关更多信息,请参见每个文件系统命令的特定手册页。

交换空间

Solaris OS 将一些磁盘片用于临时存储而不是用于文件系统。这些片称为交换片或交换空间。如果系统没有足够的物理内存来处理当前进程,则可将交换空间用于虚拟内存存储区域。

由于许多应用程序依赖于交换空间,因此您应该知道如何规划、监视和添加更多交换空间(如果需要)。有关交换空间的概述和添加交换空间的说明,请参见第 21 章,配置其他交换空间(任务)