第八章文件系统第八章文件系统管理§8.1文件系统基础§8.1.1文件系统的概念§8.1.2JFS的结构§8.1.3inodes§8.1.4文件系统的压缩§8.1.5JFS日志第八章文件系统管理(2)§8.2文件系统管理§8.2.1列示文件系统§8.2.2创建文件系统§8.2.3更改文件系统§8.2.4删除文件系统§8.2.5文件系统碎片连续化§8.2.6验证文件系统§8.2.7文件系统设置存档第八章文件系统管理(3)§8.3磁盘空间管理§8.3.1磁盘空间管理§8.3.2列示剩余磁盘空间§8.3.3控制增长的文件§8.3.4显示磁盘使用情况§8.3.5磁盘限量系统§8.3.6测试题第八章文件系统管理(4)掌握文件系统的组成结构掌握如何增加一个文件系统掌握如何修改文件系统掌握如何控制文件系统的增长掌握如何管理磁盘空间掌握磁盘限量系统的设置本章要点8.1.1文件系统的概念文件系统是存储文件的目录层次结构,由一个根目录和许多子目录组成文件系统是数据存储的方式文件系统类型jfs日志文件系统jfs2扩展型日志文件系统cdrfsCD-ROM文件系统nfs网络文件系统标准的JFS和JFS2的主要功能对照表文件树在AIX系统中,不同的文件系统连接在一起,形成有一个根的单棵文件树/homebinvartmpusretc根目录系统满错误不同文件系统的数据存在磁盘的不同区域上,文件系统的长度不变时,即使整个系统仍有空闲的磁盘空间,当某个文件系统满时也会发生文件系统满错误文件系统的功能可以放置在磁盘上的任何地方一些任务在文件系统上操作比在文件系统的每个目录上操作更有效,如备份、迁移,在整个文件系统采用安全性措施可以通过文件系统限制用户的磁盘用量符合特殊的安全性要求把数据和程序组织成组,减少了文件管理的复杂度并提高了性能8.1.2JFS的结构inode数据块间接块超级块AIX日志文件系统建立在逻辑卷上,逻辑卷的磁盘空间划分为4KB的簇,作为文件分配的最小单位超级块与备份块文件系统的第一个可寻址的块称为超级块,该块存放文件系统的标识信息(如文件系统名、文件系统长度、inodes的数目)以及空闲inode表,空闲块表等超级块是文件系统的关键数据,如果超级块损坏,则文件系统不能正常安装。因此在第31块上存放了超级块的备份块,以备超级块损坏时恢复超级块备份块索引结点inode超级块之后是固定数目的inodes,inodes存放了文件的标识信息,此外还包含指向文件数据块的指针索引节点(inode)的信息可以用ls–l命令列出inode不保存文件名,文件名存放在文件所在的目录文件里一些术语逻辑块(LogicalBlock)超级块(Superblock)是在文件系统的第一个逻辑块;是一个保留使用的逻辑块;是不被文件系统使用的Inode块(blocks)数据块—包含数据间接块—包含指向数据块的指针8.1.3inodesinodes许可权链接数文件类型用户ID组ID文件长度数据块地址更新时间访问时间修改时间访问控制信息上述信息可用ls-l命令列出inodes(2)每个文件都对应一个inode,inode可包含以下信息:存取许可权类型创建修改和访问时间文件的链接数文件的长度硬盘上数据块的地址磁盘分段(fragment)2000bytes4096bytes空闲分区不能分配给其它文件旧的AIX版本文件长度=2000bytes1024102410241024AIX5L版本4096bytes文件长度=2000bytesFragmentsize=1024bytes2000bytes空闲空间可以分配给其他文件磁盘分段(2)磁盘分段机制允许文件以小于4KB块的单位分配,适用于小文件居多的文件系统,可以节省磁盘空间为什么要磁盘分段怎样分段JFS的分段机制依据以下原则来兼顾磁盘寻道时间、磁盘分配的低开销和磁盘空间的高利用率:1、对一般文件和目录以4096字节为段长来分配2、只有当文件和目录的长度小于32K时,才能以小于4096字节的段长来分配inode的数目缺省nbpi=4096nbpi=102440961024缺省的文件系统中以4KB字节的磁盘空间来分配一个inode,用户可以通过NBPI值(Numberofbytesperinode)来修改4KB的缺省值,NBPI值越小inode个数就越多,反之亦然8.1.4文件系统的压缩分段与压缩的比较AIX的JFS支持文件系统的压缩和分段,这两种措施都有助于节省磁盘空间分段机制只对小文件系统十分有效;而数据压缩机制对各种长度的文件均有效,平均而言,数据压缩大约可以节省1/2的磁盘空间注意:根文件系统不能压缩文件系统碎片化分段和数据压缩的引入,提高了空间的利用率,但同时也引入了碎片化的问题,因为分配给逻辑块的段长必须是磁盘上的连续空间,有时候文件中的空闲段的总长度虽然大于逻辑块长,但是仍然没有足够的连续段可以分配AIX的JFS提供了使碎片连续化的使用程序defragfs,可以用于分段和压缩的文件系统8.1.5JFS日志JFS日志(2)AIX使用内存映射文件,所有的写文件操作先写入内存,然后等到sync系统调用(每分钟执行一次),执行时才写到磁盘上jfslog(/dev/hd8)是一个长度为一个PP的循环日志表,每个卷组分配一个物理分区来作为日志区。jfslog将所有对元数据(metadata)信息都立刻写到jfslog,从而保证了文件系统的完整性内存映射文件jfslog8.2.1列示文件系统#smitfslsfs命令#lsfslsfs命令(2)用lsfs命令可以列出系统中定义的文件系统。该命令显示/etc/filesystems文件和有关逻辑卷的信息cat/etc/filesystems查看有关文件系统的内容lsfs命令也可列示出CD-ROM文件系统和网络文件系统NFS的信息lsfs[-q][-c|-l][-vvfstype|-umountgrp]filesystem输出显示可以按冒号分隔(-c)或分节式(-l)格式-v选项指定只列出某种虚拟文件系统,-u选项指定安装组,-q选项列出超级块中的段长信息,压缩算法、nbpi值、bf值(为true则支持大文件系统)等smitfs菜单中也有相应的选项可以列示文件系统信息lsfs命令格式列示已安装文件系统#mountmount命令mount命令不带参数时,用来列出当前文件系统目录树中已安装的文件系统带参数时可用来执行安装操作文件系统安装时可以指定读写权限在smitfs菜单中选择ListallMountedFileSystems,可以列出同样的信息两类文件系统文件系统分为系统创建和用户创建的这两种类型,系统创建的文件系统用于存放系统文件和部分应用程序,用户创建的文件系统包含用户数据和应用程序标准的设备名(系统创建的文件系统)hd4/hd1/homehd2/usrhd3/tmphd9var/var系统创建的文件系统和用户创建的文件系统8.2.2创建文件系统#smittycrjfslv直接创建文件系统#smittycrjfsmkfs与crfs命令用户可以用mkfs在已经创建的逻辑卷上创建文件系统,这种方式允许用户通过设置逻辑卷的属性来控制文件系统在磁盘上的分配而crfs命令用于直接创建文件系统,它完成的工作比mkfs更多crfs执行过程调用mklv创建逻辑卷调用mkfs在逻辑卷上创建文件系统在ODM库和/etc/filesystems增加适当的记录文件系统参数volumngroup(-gvolgrp):为文件系统指定逻辑卷所处的卷组sizein512byteblocks(-asize=值):以512byte为单位的文件系统的实际长度AIX5.3以后还可以选择以MB或GB为单位mountpoint(-mmntpt):指文件系统安装在系统目录树中的目录名Automount?(-Ayes|no):设置系统初启时是否自动安装Permissions(-prw|ro):安装的文件系统以只读(ro)或读写(rw)方式安装MountOptions:与安全性相关,可能取值为:nosuid(禁止setuid和setgid程序运行),nodev(禁止设备打开操作)文件系统参数(2)Fragmentsize(-afragment=size):指定JFS的段长numberofbytesperinode(-anbpi=value):文件系统中索引节点的大小Compressionalgorithm{-acompress=(no|LZ)}:指定数据压缩算法,缺省值为no注:JFS2文件系统已取消了以上这几个选项文件系统参数(3)文件系统的安装和卸载#smittymountfs文件系统的安装和卸载(2)文件系统只有安装在系统目录树中后,才能被用户所访问,安装操作可以针对单个文件系统或一组文件系统/etc/filesystems文件中凡是定义了mount=true或mount=automatic属性的文件系统将在系统启动时自动安装文件系统的安装和卸载(3)对已安装的文件系统系统在shutdown过程中将进行卸载操作尽管管理员和普通用户可以使用mount命令,必须要求用户对安装点有写许可权,对根目录有读许可权,mount命令才生效安装权限普通用户:属于system组并对安装点有写许可权时,有权安装文件系统系统管理员:对安装点有写许可权时可执行安装,还能够按照/etc/filesystems文件中的设置安装文件系统Root:能够以任何许可权在任何安装点上安装文件系统8.2.3更改文件系统#smittychjfs8.2.4删除文件系统#smittyrmfs删除文件系统(2)删除文件系统可以用smit菜单或高级命令rmfsrmfs命令会从ODM库和/etc/filesystems中删除有关文件系统和逻辑卷的信息,当文件系统被删除时,它所处的逻辑卷也随之删除rmfs命令删除文件系统(3)删除文件系统之前,文件系统必须从整个目录树中拆卸下来。如果文件系统仍在使用(即某些用户和进程正在访问该文件系统或以文件系统中的某目录作为当前的工作目录时),不能删除该文件系统注意事项:8.2.5文件系统碎片连续化defragfs命令使磁盘碎片连续化defragfs命令的语法为:defragfs[-q|-r]filesystem选项及其含义如下:-q报告文件系统的当前状态-r指出文件系统的当前状态以及真正执行碎片连续化(即不带-q及-r选项)后的结果状态文件系统碎片连续化(2)移动的段数:向用户报告的需移动的数据块数移动的逻辑块数:向用户报告系统当前的非连续块数以及需要重分配的块数尝试分配的次数:重分配的执行次数精确匹配数目:指基于文件长度对文件进行连续化的重分配时精确匹配的数目defragfs命令的输出信息如下:8.2.6验证文件系统检查日志记录检查inodes间接块数据块空闲表不指定文件系统时检查/etc/filesystems文件中标记为check=true所有文件系统错误记录存放在/lost+found目录中命令语法验证文件系统的内容:fsck[-p|-y|-n][-f][filesystem]验证文件系统(2)检查日志检查数据块,确保每个块要么分配给单个文件,或者处在空闲表中检查文件长度检查目录项验证的过程包括以下步骤:fsck命令参数指定-p选项时,验证文件系统的过程只会引起极少的变动,不会影响其他用户的工作-y(yes)和-n(no)选项用来指定对系统提问的回答。-y选项通常用来修改损坏的文件系统,允许删除一些损坏的文件8.2.7文件系统设置存档运行lsfs命令并将输出存档/etc/filesystems文件的内容存档运行df检查空闲的磁盘空间运行mount命令检查所有已安装的文件系统8.3.1磁盘空间管理监控文件系统的增长判断增长的原因控制增长的文件规划文件系统空间的使用控制用户磁盘用量消除文件系统碎片AIX支持文件系统长度的动态增长,但是必须由管理员手工完成,因此系统管理员必须经常监视文件系统的增长管理员应需要经常运行df命令来查看磁盘使用情况