内容


IBM AIX V5.3 系统管理(Test 222)认证指南系列

第 3 部分:文件系统(上)

Comments

开始之前

了解本教程中包含的内容以及如何最好地利用本教程。

关于本教程

文件系统提供了一种非常方便的方法,以存储和访问逻辑卷中的数据。文件系统由各种各样的文件、目录和其他数据结构组成。文件系统对相关的信息进行维护,并标识文件或者目录数据所处的具体位置。本教程向您十分详细地讲解了 AIX 文件系统管理的各个方面。包括基础知识,不同的文件系统类型,如何创建、删除文件系统,如何修改文件系统的属性等,这些都是成为一个合格管理员所需要了解的知识。

目标

在完成了本教程的两部分内容后,您应该对 AIX V5.3 的文件系统有一个比较详细的了解,了解各种不同的文件系统的作用,应该可以独立完成特性类型文件系统的创建、删除以及修改属性等基本操作。当然对于一些比较常见的错误信息,也应该了解如何进行解决。

先决条件

开始学习本教程前,您需要有一定的 AIX 操作系统的操作经验,对基本的 AIX 的命令行操作或者是 SMIT 操作都要有一定的了解。

系统要求

要完成本教程中的示例,您需要具有 AIX 操作系统的 root 权限或者是具有同等权限的用户。

文件系统类型

在 AIX 5L Version 5.3 中,支持下列类型的文件系统:

日志文件系统

之所以将这种类型文件系统称为日志文件系统是因为,这种系统使用日志技术来维护控制结构的完整性。每个日志文件系统必须位于不同的 JFS 逻辑卷。因此,该文件系统的大小为一个逻辑分区大小的倍数。

增强的日志文件系统

这是初始日志文件系统的增强版本。它使用基于区段的分配以支持更高的性能、更大的文件系统和更大的文件大小。每个增强的日志文件系统必须位于不同的 JFS2 逻辑卷。当使用缺省选项安装操作系统时,将创建 JFS2 文件系统。

网络文件系统

网络文件系统 (NFS) 是一种分布式文件系统,它允许用户访问位于远程计算机的文件和目录,可以像使用本地文件和目录那样使用这些远程文件和目录。

CD-ROM 文件系统

CD-ROM 文件系统 (CDRFS) 是一种文件系统类型,它允许您通过一般的文件系统接口来访问 CD-ROM 中的内容。

文件系统结构

日志文件系统使用了各种数据结构,如超级块、分配组、索引节点,块、分段和设备日志。

超级块

超级块中包含关于文件系统的控制信息,如文件系统的整体大小(单位为 512 字节的块)、文件系统名称、文件系统日志设备、版本编号、索引节点的数目、空闲索引节点列表、空闲数据块列表、创建时间和日期,以及文件系统状态。所有这些数据都存储在文件系统的第一个逻辑块中。如果这些数据损坏,可能会使得该文件系统无法使用。所以,系统在逻辑块 31 中保存了超级块的另一个副本。

分配组

分配组由索引节点及其相应的数据块组成。分配组可以跨越多个相邻的磁盘块,并且提高 I/O 操作的速度。JFS 和 JFS2 文件系统都使用了分配组。对于 JFS 文件系统,可以在创建文件系统时指定分配组的大小。

索引节点

索引节点包含关于文件的控制信息,如类型、大小、拥有者、文件创建、修改或者最近访问的日期和时间。它还包含指向存储文件实际数据的数据块的指针。每个文件都具有对应的索引节点。

对于 JFS 文件系统,索引节点的最大数目(对应着文件的最大数目),由创建文件系统时所指定的每个索引节点拥有的字节数(number of bytes per inode,nbpi)值来确定。对于文件系统中的每个 nbpi 字节,都会创建一个索引节点。索引节点的总数是固定的。nbpi 值需要与分配组大小相关联。

JFS 将所有的文件系统限制为 16 MB (224) 个索引节点。

JFS2 文件系统动态地管理索引节点所需的空间,所以不存在任何 nbpi 参数。

数据块

数据块存储了文件的实际数据,或者指向其他数据块的指针。磁盘块大小的缺省值为 4 KB。

分段

逻辑块的分段可用于支持小于逻辑块标准大小 (4 KB) 的文件。这个规则仅适用于文件大小小于 32 KB 的最后一个逻辑块。

如果只有 JFS 文件系统,您可以选择使用压缩使得文件的所有逻辑块存储为相邻分段的序列。对文件系统进行压缩,将增加使用该文件系统时 CPU 的使用量和 I/O 活动。

如果需要支持大量较小的文件,这些特性是非常有价值的。在安装的时候,必须为文件系统指定分段的大小。不同的文件系统可以使用不同的分段大小。

设备日志

日志文件系统的日志存储了关于文件系统元数据更改的事务信息。如果计算机崩溃,可以使用该数据来回滚未完成的操作。JFS 文件系统用于对 jfslog 类型的逻辑卷进行日志记录,而 JFS2 文件系统用于对 jfs2log 类型的逻辑卷进行日志记录。

不对数据块中的数据进行日志记录。日志设备用于确保文件系统的完整性,而不是数据的完整性。

在安装了操作系统之后,rootvg 卷组中所有的文件系统都使用逻辑卷 hd8 作为公共的日志。

您可以创建一个能够使用内联日志 (inline log) 的 JFS2 文件系统。这意味着,可以将日志数据写入到与该文件系统相同的逻辑卷,而不是写入到日志逻辑卷。

文件系统的区别

表 7-1 显示了 JFS 和 JFS2 文件系统之间的一些区别。

表 7-1

功能 JFS JFS2
体系结构上最大的文件系统大小 1 TB 4 PB
体系结构上最大的文件大小 64 GB 4 PB
索引节点的数目 在创建文件系统时确定 动态
索引节点大小 128 字节 512 字节
分段大小 512 512
块大小 4096 4096
目录组织 线性 B-树
压缩
创建时缺省的所有权 sys.sys root.system
缺省文件模式的 SGID SGID=on SGID=off
配额

日志文件系统的区别

JFS 和 JFS2 文件系统可以共存于相同的系统中。

如果您需要将数据从 JFS 文件系统迁移到 JFS2 文件系统,那么您必须对 JFS 文件系统进行备份,然后将数据还原到 JFS2 文件系统。

对文件系统进行碎片整理

分段和压缩的使用,以及大量文件的创建和删除,都可能降低连续的空闲磁盘空间的数量。defragfs 命令可用于提高或者报告文件系统中连续空间的状态。要对文件系统 /home 进行碎片整理,可以使用下面的命令:

defragfs /home

显示关于索引节点的信息

您可以使用 istat 命令来显示关于某个特定索引节点的信息,如示例 8 所示

示例 7-8 使用 istat 命令

# istat /etc/passwd

Inode 66 on device 10/4 File

Protection: rw-r--r--

Owner: 0(root)          Group: 7(security)

Link count:   1         Length 644 bytes

Last updated:   Thu Dec  1 18:14:12 CST 2005

Last modified:  Thu Dec  1 18:14:12 CST 2005

Last accessed:  Mon Dec  5 17:04:17 CST 2005

对文件系统问题进行故障排除

这个部分将讨论一些与文件系统相关的问题,以及如何解决这些问题。

对超级块错误进行恢复

如果您在使用 fsck 或者 mount 命令时收到下面的错误之一,那么该问题可能是超级块遭到损坏:

fsck: Not an AIX3 file system

fsck: Not an AIXV3 file system

fsck: Not an AIX4 file system

fsck: Not an AIXV4 file system

fsck: Not a recognized file system type

mount: invalid argument

使用下列命令的其中一个,通过将超级块备份还原到主超级块,从而解决这个问题:

dd count=1 bs=4k skip=31 seek=1 if=/dev/lv00 of=/dev/lv00

在完成了还原过程之后,使用 fsck 命令检查文件系统的完整性。如果该操作无法解决这个问题,那么重新创建文件系统,并从备份还原数据。

无法卸载文件系统

如果文件系统中存在任何处于活动状态的引用,则不能卸载该文件系统。下面的情况可能导致一个已装入的文件系统中存在打开的引用:

  • 文件系统中存在打开的文件。在卸载文件系统之前,必须关闭这些文件。要确定指定的文件系统中所有包含打开引用的进程的进程 ID,最好的方法是使用 fuser 命令。可以使用 kill 命令终止包含打开引用的进程,然后就可以完成卸载工作了。
  • 如果文件系统仍然处于繁忙状态并且无法对其进行卸载,那么这可能是由于加载了内核扩展,但存在于源文件系统中。fuser 命令无法显示这些类型的引用,因为并没有涉及到任何用户进程。然而,genkex 命令将报告所有已加载的内核扩展。
  • 该文件系统中装入了其他文件系统。如果该文件系统中装入了任何其他文件系统,那么将在源文件系统中装入其他文件系统的装入点存在打开的引用。要卸载某个文件系统,需要卸载其中所装入的所有文件系统。
  • 用户正使用该文件系统中的目录作为其当前工作目录。对于使用某个目录作为其当前工作目录的进程,fuser 命令将在对应的进程 ID 后面追加字母“c”,而 -u 标志可以表示进程的拥有者。可以将其与 find 命令一同使用,如下面的示例所示:
# find /home -type d -exec fuser -u {} \;

/home:

/home/lost+found:

/home/guest:

/home/kenzie:3548c(kenzie)

文件系统没有剩余空间

文件系统没有剩余空间可能会产生各种各样的问题。例如,有些系统创建的文件系统,如 /、/usr、/var 和 /tmp,由某些系统命令所使用。如果这些文件系统中没有可用空间,那么可能会产生一些预料之外的结果。请始终确保在这些文件系统中存在足够的空闲空间。您可以使用诸如 df 或 du 之类的命令,监视您的文件系统的空间使用情况。

总结

经过本教程的学习,您应该对 AIX V5.3 文件系统的一些基础知识有所了解了。这是进一步学习的基础,在后面我们会着重向您讲述如何进行文件系统的管理操作,如创建、删除文件系统等。 请您继续访问本教程的下半部分,继续您的学习。


相关主题


评论

添加或订阅评论,请先登录注册

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=10
Zone=AIX and UNIX
ArticleID=271902
ArticleTitle=IBM AIX V5.3 系统管理(Test 222)认证指南系列
publish-date=11292007