购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

3.4 文件系统管理

文件系统管理是AIX存储结构中的最后一环。逻辑卷定义完成后,其具体使用一般有两个方向:

■ 直接作为裸设备使用;

■ 在逻辑卷上定义文件系统。

如果直接作为裸设备使用,则逻辑卷创建完成后,加以必要的授权信息,就可以交由应用系统,例如作为Oracle数据文件、Sybase设备文件、DB2 数据空间使用了。例如下面datavg中定义的逻辑卷,显然是为了一套Oracle数据库准备的。

如果按照文件系统方式使用,则后续工作是文件系统的创建和维护。例如下面datavg中定义的逻辑卷lv_striped,它定义了一套JFS2 文件系统,也是为了存放Oracle数据库而准备的。

提示: 使用逻辑卷作为数据库裸设备使用是UNIX上运行数据库应用的一种通行做法。在老版本的UNIX(如SCO OpenServer)中,将磁盘分区作为裸设备。在Linux 2.4 或更早的版本中,也一般以磁盘分区作为裸设备。

3.4.1 文件系统的创建和挂载

下面介绍在逻辑卷上的文件系统管理方式和过程。AIX允许通过SMITTY工具进行文件系统的定义和管理,命令是“smitty fs”。也有对应的高级命令实现相同的功能,命令是lsfs或“lsfs 文件系统名 ”。例如在下面的示例中,我们查询一个已定义的文件系统lv_striped,然后将其挂载到文件系统中的/oracledata目录下,如图3-39 所示。

图3-39 查看和挂载文件系统

使用mount命令可以列出当前系统中所有已挂载(安装)的文件系统,如图3-40所示。

使用mkfs、crfs命令可以创建文件系统。这两个命令略有不同:crfs会调用mklv命令创建逻辑卷,然后调用mkfs在逻辑卷上创建文件系统,最后在ODM库和/etc/filesystems中增加适当的记录。而mkfs命令将在逻辑卷上创建文件系统。

下面的示例过程创建了文件系统test,其文件系统类型为JFS2,文件系统将置于rootvg逻辑卷上,并挂载到/test目录,大小为 10MB(最后结果是 16MB,即 32768 个512B,因为该大小需要是逻辑分区的整数倍),如图3-41 所示。

图3-40 列出系统中当前已挂载的文件系统信息

图3-41 使用crfs创建文件系统

crfs命令中有几个重要的参数如下。

■ -g:文件系统所在的卷组。

■ -a:文件系统的大小,实际按照逻辑分区的整数倍来调整。

■ -m:指文件系统挂载点,也就是安装在系统目录树中的目录名。

■ -A:新创建的文件系统是否在系统初启时自动安装。

■ -p:安装的文件系统是以只读(ro)还是读写(rw)方式安装。

下面的示例过程创建了另外一个文件系统test1,不同的是该文件系统只读,如图3-42 所示。

图3-42 使用crfs创建文件系统

文件系统只有挂载在系统目录树中才能被用户所访问,挂载操作可以针对单个的文件系统,也可以是一组文件系统。

提示: 文件系统是UNIX的重要组成部分。文件系统要么创建在分区上,要么创建在逻辑卷上。逻辑卷是物理分区的逻辑集合,其好处就是当空间使用满时,可以动态扩展逻辑卷,进而扩展文件系统。磁盘分区的扩展则困难许多。

3.4.2 文件系统的卸载和删除

在文件系统配置文件/etc/filesystems文件中,如果某个文件系统定义了mount=true或mount=automatic属性,则该文件系统在系统启动时自动挂载。除此之外,任何时候管理员都可以挂载和卸载非系统文件系统。在下面的示例中我们挂载了/test和/test1 文件系统,如图3-43 所示。

图3-43 挂载指定文件系统

上面的mount命令先后挂载了文件系统test和test1,随后用mount命令查看当前的挂载情况。其中,/test1 文件系统只读。

卸载文件系统的命令是umount。只有在文件系统卸载后,才可以进行参数调整,或者执行文件系统删除操作。下面的示例过程卸载了文件系统,如图3-44 所示。

图3-44 卸载指定文件系统

注意一点,如果用户正在使用文件系统,则文件系统卸载失败。如需继续卸载,可以使用fuser命令,将用户对文件系统的使用进程杀死,然后才可以卸载文件系统。

已卸载的文件系统可以删除。删除文件系统可以用SMITTY菜单,或者高级命令rmfs。在下面的示例中,我们使用rmfs命令将前面创建的两个文件系统删除,如图3-45所示。

图3-45 删除指定文件系统

上述结果再次说明,文件系统删除之前必须已经从整个目录树中卸载下来。如果文件系统仍在使用中,即某些用户进程正在访问该文件系统,则不能删除该文件系统。

另外,rmfs命令同时会从ODM库和/etc/filesystems中删除有关这个文件系统和逻辑卷的相关信息,并且删除对应的逻辑卷。

提示: mount是一个非常传统的UNIX命令,用于挂载和卸载文件系统,UNIX有若干变种,但mount命令却始终如一。

3.4.3 文件系统空间使用维护

随着时间的推移,磁盘空间会被逐渐占用。因此监控文件系统的增长、控制增长的文件和规划文件系统空间的使用,是空间使用管理的重要内容。

虽然AIX支持文件系统空间的动态增大,但这个操作必须由管理员手工完成。如果哪一个文件系统已经涨到 100%,用户在执行包含磁盘空间请求的操作时就会报错。

通常,经常运行df命令来查看磁盘空间的使用情况是十分必要的,工程上往往是通过cron来定期运行df命令作为日常检查并生成报告。在本书的第10章中,我们就在Oracle备份任务中添加了df 空间使用检查的功能。

df命令显示文件系统的总长度和空闲空间,可通过如下命令实现:

和df命令配合的,还有另外一个命令du,该命令用来查看文件针对磁盘的空间占用情况,它显示了文件或目录所占用的磁盘块数。du命令的使用如下:

上面的命令显示了/usr文件系统中文件和目录所占的磁盘块数,并按磁盘块数升序排列。

3.4.4 文件系统的扩展

AIX支持文件系统的空间扩展,而且AIX提供的是文件系统的动态扩展,只要卷组上有足够的可使用空间即可。

文件系统可以通过chfs命令动态增加大小,其一般过程是首先使用df命令确定文件系统当前的使用状态、使用比例:

然后计算这个文件系统需要添加的空间,折合成数据块(512B)数。最后,使用chfs命令设定文件系统的新尺寸,如图3-46 所示。

图3-46 文件系统的空间扩展

在SMITTY环境下可以完成同样的功能,运行smitty chjfs命令,进入到文件系统属性设定页面,然后更改其空间占用即可。

提示: 显然,和其他主流UNIX相比,AIX文件系统的创建和扩展显得容易许多,这提供了工程上的巨大益处——空间维护不必停止应用。 iEdIfCmkpncY6Qxl58ArWnF4WfNYZXq6p86k0oznBqPRBKG0/hfD6TILYIAnNw7M

点击中间区域
呼出菜单
上一章
目录
下一章
×