750 likes | 911 Views
第八章. 文件系统. 第八章 文件系统管理. §8.1 文件系统基础 § 8.1.1 文件系统的概念 § 8.1.2 JFS 的结构 § 8.1.3 inodes § 8.1.4 文件系统的压缩 § 8.1.5 JFS 日志. 第八章 文件系统管理 (2). § 8.2 文件系统管理 § 8.2.1 列示文件系统 § 8.2.2 创建文件系统 § 8.2.3 更改文件系统 § 8.2.4 删除文件系统 § 8.2.5 文件系统碎片连续化
E N D
第八章 文件系统
第八章 文件系统管理 §8.1 文件系统基础 § 8.1.1 文件系统的概念 § 8.1.2 JFS的结构 § 8.1.3 inodes § 8.1.4 文件系统的压缩 § 8.1.5 JFS日志
第八章 文件系统管理(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 日志文件系统 cdrfs CD-ROM文件系统 nfs 网络文件系统
文件树 根目录 / home bin var tmp usr etc 在AIX系统中,不同的文件系统连接在一起,形 成有一个根的单棵文件树
系统满错误 不同文件系统的数据存在磁盘的不同区域上,文件 系统的长度不变时,即使整个系统仍有空闲的磁盘 空间,当某个文件系统满时也会发生文件系统满错 误
文件系统的功能 可以放置在磁盘上的任何地方 一些任务在文件系统上操作比在文件系统的每个 目录上操作更有效,如备份、迁移,在整个文件 系统采用安全性措施 可以通过文件系统限制用户的磁盘用量 符合特殊的安全性要求 把数据和程序组织成组,减少了文件管理的复杂 度并提高了性能
8. 1. 2 JFS的结构 超级块 inode 间接块 数据块 AIX日志文件系统建立在逻辑卷上,逻辑卷的磁盘空间划 分为4KB的簇,作为文件分配的最小单位
超级块与备份块 超级块 文件系统的第一个可寻址的块称为超级块, 该块存放 文件系统的标识信息(如文件系统名、文件系统长度、 inodes的数目)以及空闲inode表,空闲块表等 超级块是文件系统的关键数据,如果超级块损坏,则 文件系统不能正常安装。因此在第31块上存放了超级 块的备份块,以备超级块损坏时恢复 备份块
索引结点inode 超级块之后是固定数目的inodes, inodes存放了 文件的标识信息,此外还包含指向文件数据块的指 针 索引节点(inode)的信息可以用ls –l命令列出 inode不保存文件名,文件名存放在文件所在的目 录文件里
一些术语 逻辑块(Logical Block) 超级块(Superblock) 是在文件系统的第一个逻辑块; 是一个保留使用的逻辑块; 是不被文件系统使用的 Inode 块(blocks) 数据块— 包含数据 间接块— 包含指向数据块的指针
8. 1. 3 inodes 许可权 链接数 文件类型 用户ID 组ID 文件长度 数据块地址 更新时间 访问时间 修改时间 访问控制信息 inodes 上述信息可用ls -l 命令列出
inodes(2) 每个文件都对应一个inode,inode可包含以下信息: 存取许可权 类型 创建修改和访问时间 文件的链接数 文件的长度 硬盘上数据块的地址
磁盘分段(fragment) 4096 bytes 旧的AIX 版本 2000 bytes 空闲分区不能分配 给其它文件 文件长度=2000 bytes 4096 bytes AIX 5L 版本 2000 bytes 文件长度=2000 bytes 1024 1024 1024 1024 Fragment size=1024 bytes 空闲空间可以分 配给其他文件
磁盘分段(2) 为什么要磁盘分段 磁盘分段机制允许文件以小于4KB块的单位分配,适 用于小文件居多的文件系统,可以节省磁盘空间 怎样分段 JFS的分段机制依据以下原则来兼顾磁盘寻道时间、磁盘分配的低开销和磁盘空间的高利用率: 1、对一般文件和目录以4096字节为段长来分配 2、只有当文件和目录的长度小于32K时,才能以小于 4096字节的段长来分配
inode的数目 缺省nbpi=4096 nbpi=1024 4096 1024 缺省的文件系统中以4KB字节的磁盘空间来分配一个 inode, 用户可以通过NBPI值( Number of bytes per inode )来修改4KB的缺省值,NBPI值越小inode个数 就越多,反之亦然
分段与压缩的比较 AIX 的JFS支持文件系统的压缩和分段,这两种 措施都有助于节省磁盘空间 分段机制只对小文件系统十分有效;而数据压缩 机制对各种长度的文件均有效,平均而言,数据 压缩大约可以节省1/2的磁盘空间 注意:根文件系统不能压缩
文件系统碎片化 分段和数据压缩的引入,提高了空间的利用率,但同 时也引入了碎片化的问题,因为分配给逻辑块的段长 必须是磁盘上的连续空间,有时候文件中的空闲段的 总长度虽然大于逻辑块长,但是仍然没有足够的连续 段可以分配 AIX 的JFS提供了使碎片连续化的使用程序defragfs , 可以用于分段和压缩的文件系统
JFS日志(2) 内存映射文件 AIX使用内存映射文件,所有的写文件操作先写 入内存,然后等到sync系统调用(每分钟执行一 次),执行时才写到磁盘上 jfslog(/dev/hd8)是一个长度为一个PP的循环日 志表,每个卷组分配一个物理分区来作为日志区。 jfslog将所有对元数据(metadata)信息都立刻 写到jfslog ,从而保证了文件系统的完整性 jfslog
8. 2. 1 列示文件系统 # smit fs
lsfs命令 # lsfs
lsfs命令(2) 用lsfs命令可以列出系统中定义的文件系统。该 命令显示/etc/filesystems文件和有关逻辑卷的 信息 cat /etc/filesystems查看有关文件系统的内容 lsfs命令也可列示出CD-ROM文件系统和网络文 件系统NFS的信息
lsfs命令格式 lsfs [-q] [-c| -l] [-v vfstype | -u mountgrp] file system 输出显示可以按冒号分隔(-c )或分节式(-l )格式 -v选项指定只列出某种虚拟文件系统,-u 选项指定安 装组,- q选项列出超级块中的段长信息,压缩算法、 nbpi值、bf值(为true则支持大文件系统)等 smit fs菜单中也有相应的选项可以列示文件系统信息
列示已安装文件系统 # mount
mount命令 mount命令不带参数时,用来列出当前文件系统目录 树中已安装的文件系统 带参数时可用来执行安装操作 文件系统安装时可以指定读写权限 在smit fs 菜单中选择List all Mounted File Systems, 可以列出同样的信息
两类文件系统 系统创建的文件系统和用户创建的文件系统 文件系统分为系统创建和用户创建的这两种类型, 系统创建的文件系统用于存放系统文件和部分应用 程序,用户创建的文件系统包含用户数据和应用程 序 标准的设备名(系统创建的文件系统) hd4 / hd1 /home hd2 /usr hd3 /tmp hd9var /var
8. 2. 2 创建文件系统 # smitty crjfslv
直接创建文件系统 # smitty crjfs
mkfs与crfs命令 用户可以用mkfs在已经创建的逻辑卷上创建文件 系统,这种方式允许用户通过设置逻辑卷的属性来 控制文件系统在磁盘上的分配 而crfs命令用于直接创建文件系统,它完成的工作比mkfs更多
crfs执行过程 调用mklv创建逻辑卷 调用mkfs在逻辑卷上创建文件系统 在ODM库和/etc/filesystems增加适当的记录
文件系统参数 volumn group(-g volgrp): 为文件系统指定逻辑卷所处的卷组 size in 512 byte blocks (-a size=值) : 以512 byte为单位的文件系统的实际长度 mount point (-m mntpt) : 指文件系统安装在系统目录树中的目录名
文件系统参数(2) Automount?(-A yes |no) : 设置系统初启时是否自动安装 Permissions (-p rw|ro) : 安装的文件系统以只读(ro )或读写(rw )方 式安装 Mount Options: 与安全性相关,可能取值为:nosuid (禁止setuid和 setgid程序运行),nodev(禁止设备打开操作)
文件系统参数(3) Fragment size (-a fragment=size): 指定JFS的段长 number of bytes per inode (-a nbpi=value): 文件系统中索引节点的大小 Compression algorithm {-a compress=(no|LZ) }: 指定数据压缩算法,缺省值为no
文件系统的安装和卸载 # smitty mountfs
文件系统的安装和卸载(2) 文件系统只有安装在系统目录树中后,才能被用 户所访问,安装操作可以针对单个文件系统或一 组文件系统 /etc/filesystems文件中凡是定义了 mount=true 或mount=automatic属性的文件系统将在系统启 动时自动安装
文件系统的安装和卸载(3) 对已安装的文件系统系统在shutdown过程中将进 行卸载操作 尽管管理员和普通用户可以使用mount命令,必须 要求用户对安装点有写许可权,对根目录有读许可 权,mount命令才生效
安装权限 普通用户: 属于system组并对安装点有写许可权时,有权安 装文件系统 系统管理员: 对安装点有写许可权时可执行安装,还能够按照 /etc/filesystems文件中的设置安装文件系统 Root: 能够以任何许可权在任何安装点上安装文件系统
8. 2. 3 更改文件系统 # smitty chjfs
8. 2. 4 删除文件系统 # smitty rmfs
删除文件系统(2) rmfs命令 删除文件系统可以用smit菜单或高级命令rmfs rmfs命令会从ODM库和/etc/filesystems中删除 有关文件系统和逻辑卷的信息,当文件系统被删 除时,它所处的逻辑卷也随之删除
删除文件系统(3) 注意事项: 删除文件系统之前,文件系统必须从整个目录树中 拆卸下来。如果文件系统仍在使用(即某些用户和 进程正在访问该文件系统或以文件系统中的某目录 作为当前的工作目录时),不能删除该文件系统
8. 2. 5 文件系统碎片连续化 defragfs命令使磁盘碎片连续化 defragfs 命令的语法为:defragfs [-q|-r] filesystem 选项及其含义如下: -q 报告文件系统的当前状态 -r 指出文件系统的当前状态以及真正执行碎片连续化 (即不带-q及-r选项)后的结果状态
文件系统碎片连续化(2) defragfs命令的输出信息如下: 移动的段数:向用户报告的需移动的数据块数 移动的逻辑块数:向用户报告系统当前的非连续块 数以及需要重分配的块数 尝试分配的次数:重分配的执行次数 精确匹配数目:指基于文件长度对文件进行连续化 的重分配时精确匹配的数目
8. 2. 6 验证文件系统 命令语法 fsck [ -p | -y | -n ] [ -f ] [ filesystem ] 验证文件系统的内容: 检查日志记录 检查inodes 间接块数据块空闲表 不指定文件系统时检查/etc/filesystems 文件中标记 为check=true所有文件系统 错误记录存放在/lost+found 目录中
验证文件系统(2) 验证的过程包括以下步骤: 检查日志 检查数据块,确保每个块要么分配给单个文件,或者 处在空闲表中 检查文件长度 检查目录项