• 1. 第六单元 文件系统和换页空间
  • 2. 简介日志文件系统内置在AIX中 AIX还需要换页空间以实现虚拟内存 本节介绍了以上两方面内容
  • 3. AIX中的文件系统日志文件系统(JFS/JFS2) 网络文件系统 CDROM文件系统 (CDRFS)//usr/bin/home/sally/john/usr/bin/mnt
  • 4. 日志文件系统结构超级块(Superblock):存放文件系统大小和标识、空闲块链表、nbpi inode:存放文件大小、所有者、权限、创建/访问/修改时间 数据块(Data Block):存放数据 间接块(Indirect Block):存放到数据块的指针 #dd count=1 bs=4k skip=31 seek=1 if=/dev/hdn of=/dev/hdn//usr/bin/home/sally/john/usr/bin/mnt
  • 5. 文件系统日志jfslog设备是循环日志。文件系统的结构变化被记入这个日志。 文件系统日志只保证文件系统结构的完整和一致,不保证文件内容数据的正确。 注意:数据块修改不记入日志,只有inode和间接块更改信息记入日志//usr/bin/home/sally/john/usr/bin/mnt
  • 6. JFS 日志 当创建日志文件系统时 AIX/LVM将创建一个jfslog/jfs2log设备(LV) 该设备很小 - 一般是一个 PP 在此处记录文件系统的变化 每个卷组只有一个 jfslog/jfs2log (默认) 也可以创建另外的的jfslog或尺寸较大的jfslog lv,但不常用//usr/bin/home/sally/john/usr/bin/mnt
  • 7. i节点结构inode内容: -权限 -指向数据块或间接块的指针个数 -文件类型 -所有者用户ID -文件大小 -所有者用户组ID -最后修改时间 -指向数据块或间接块的指针 -最后访问时间 -最后更改权限时间 -访问控制信息 inode的大部分信息可以用ls -l命令得到 //usr/bin/home/sally/john/usr/bin/mnt
  • 8. JFS I节点 - 创建当创建日志文件系统时 要确定i节点的数量 (JFS2不需要) 根据文件系统的大小,AIX会提供缺省值 若日志文件系统中包括数百万个小文件 需要增加 i节点数量(NBPI) 对于创建数据库的文件系统,即文件数量少,但非常大。 减少i节点数量 通常,默认值比较理想//usr/bin/home/sally/john/usr/bin/mnt
  • 9. JFS/JFS2日志文件系统: 意味着避免了在启动时进行文件系统检查 文件系统的变化都记录在jfslog中 当系统崩溃后,在启动时使用记录来修复文件系统的结构 文件中具体数据的变化不予记录 大型文件系统的检查(fsck)可能需要数小时 JFS意味着崩溃后的恢复非常快捷//usr/bin/home/sally/john/usr/bin/mnt
  • 10. JFS与JFS2比较//usr/bin/home/sally/john/usr/bin/mnt功能JFSJFS2理论上最大的文件尺寸64GB1PB理论上最大的文件系统尺寸1TB4PB测试过的最大文件尺寸64GB1TBI节点的个数固定 - 创建文件系统时设定可变- 只要有磁盘空间就可建立目录结构线性B树压缩支持不支持创建时属主sys:sysroot:system
  • 11. JFS/JFS2 - 创建日志文件系统能够以下列方式创建: 直接 接受系统为底层LV提供的很多默认值 适用于使用频率低的或临时文件系统 使用以前定义的逻辑卷 LV 可以实现完全的控制,如: 镜像、条带化、磁盘个数等。 smitty crfs N MB = N * 2048 blocks//usr/bin/home/sally/john/usr/bin/mnt
  • 12. JFS - 创建日志文件系统支持: 压缩文件系统 适用于单用户工作站 适用于离线备份 其它方面尽量少使用,因为占用CPU时间 大型文件的文件系统 (>2GB ) 除非您需要使用的大型文件。否则一般不使用,对系统性能稍有影响。//usr/bin/home/sally/john/usr/bin/mnt
  • 13. JFS/JFS2 的加载一旦创建后,您需要加载jfs AIX不能自动完成!! 作为 root: # mount /filesystem 为了查看文件系统,您可以: 使用 smit 使用 df -k -k = KB (不是 POSIX 512 字节块) 使用 mount 无选项 使用 mount all//usr/bin/home/sally/john/usr/bin/mnt
  • 14. JFS/JFS2 改变安装点文件系统的详细内容保存在: /etc/filesystems 包含安装点、 LV 和选项 重新命名一个 JFS 新的安装点 # chfs -m /test2 /test 或 卸载 jfs: umount /filesystem # smitty fs 编辑: vi /etc/filesystems 在新的位置重新安装: mount /new_point 改变jfs的位置 - 移动 LV//usr/bin/home/sally/john/usr/bin/mnt
  • 15. JFS/JFS2 - 调整容量文件系统可以在线扩展,但不可缩小。 这需要增加LV和JFS结构 需要至少增加一个PP 通常为 8MB, 16 MB 或 32MB 使用 smit jfs 来完成这项任务 使用 smit,可以方便地将容量加倍 在当前的容量前增加一个加号 chfs -a size=+8192 /test//usr/bin/home/sally/john/usr/bin/mnt
  • 16. JFS/JFS2 - 删除删除文件系统 卸载: umount /filesystem 删除 jfs: smit jfs 若您不能卸载,那么可能文件系统正在使用 文件处于打开状态 用户使用shell打开了目录 使用: fuser -xuc /tmp 若还不明白确切的原因,那么需要重新启动,但在重新启动前设置文件系统为不自动加载。//usr/bin/home/sally/john/usr/bin/mnt
  • 17. JFS/JFS2 检查df -显示文件系统剩余空间 du - 显目录、文件空间占有量 fsck命令 语法:fsck [ -p | -y | -n | -f ] [ fs_name ] 检查文件系统日志 检查inode、间接块、数据块和空闲块链表 如果不指定参数,fsck命令检验所有在/etc/filesystems中属性check=true的文件系统 问题报告存放在/lost+found目录中//usr/bin/home/sally/john/usr/bin/mnt
  • 18. JFS 列表除了常用的 UNIX 命令,还包括: 文件系统列表: lsfs 列出详细信息: lsfs -q 注释: bf = large file enabled//usr/bin/home/sally/john/usr/bin/mnt
  • 19. JFS - 整理磁盘碎片为了提高文件系统的空间利用率,对常规的日志文件系统不需要这项功能! 若您经常性创建文件和删除文件,那么需要 使用smitty jfs 选择对日志文件系统进行碎片整理 执行 查询 报告//usr/bin/home/sally/john/usr/bin/mnt
  • 20. 换页空间LVM的又一用途! 换页空间是专用的逻辑卷 使用不同的工具创建 但是使用标准的逻辑卷工具进行镜像内存磁盘
  • 21. 换页空间(paging space)当真实内存不够使用时,换页空间作为第二内存 程序和数据只有活动部分才必须存在于真实内存中,这使得换页空间的应用成为可能 换页空间使用量必须定期检查,如果大于70%,需要增加新的换页空间 当换页空间严重不足时,一条信息将被发送到控制台,新的进程不能生成,系统可能停机 换页空间不是内存的替代品,除了暂存数据外,它不能完成内存的其他功用内存磁盘
  • 22. 换页空间的容量? AIX 4.3 以前的版本 hd6 不能小于32MB,AIX 4.3 之后的版本 hd6 不能小于64MB. Paging space 不能大于磁盘空间的 20% . 如果物理内存小于 256 MB, paging space 应是内存的2倍. 如果物理内存大于或等于 256 MB, paging space 应是512MB. 目前,通常将 hd6 设为2GB.内存磁盘
  • 23. 换页空间创建推荐: 建议创建相同容量的分页空间 最大可能地分布在多个磁盘上 保证都处于在线状态 避免磁盘移到其它的系统中 (需要重启)MemoryDiskrootvgdatavgtmpvg
  • 24. 换页空间创建在AIX安装过程中自动创建 hd6 基于内存容量 通常不太够用 增加换页空间 使用 smit lvm 设置容量 设置当前的运行状态(active/deactive) 设置在下一次重启动时是否可用 mkps -s n vgname 系统启动时自动启用的换页空间设备存放在 /etc/swapspaces 文件中MemoryDisk
  • 25. 检测换页空间检查当前的换页空间: lsps -a Page Space Physical Volume Volume Group Size %Used Active Auto Type paging01 hdisk0 rootvg 320MB 1 yes yes lv paging00 hdisk2 rootvg 320MB 1 yes yes lv hd6 hdisk1 rootvg 384MB 1 yes yes lv 警告: lsps(MB)和创建换页(LP)使用不同的单位!! 使用 lsps -a -c #Psname:Pvname:Vgname:Size:Used:Active:Auto:Type paging01:hdisk0:rootvg:20:1:y:y:lv paging00:hdisk2:rootvg:20:1:y:y:lv hd6:hdisk1:rootvg:24:1:y:y:lv内存磁盘
  • 26. 换页空间的增加我们推荐使用足够的换页空间 换页空间的容量可以动态增加 若换页空间的容量不同,最好将它们设置成相同的容量 chps -s n psname 换页空间均匀使用 因此,有更多的换页空间就要使用更多的磁盘内存磁盘分页1分页2分页3分页4错误 - 最好是 使用相同的容量分页1分页2分页3分页4正确
  • 27. 换页空间的启用、停用swapon 启用一 paging space. #swapon -a # swapon /dev/paging01 停用 一个或多个paging spaces. smitty chps (aix5L 之前) swapoff (aix 5.1以后) # swapoff /dev/paging02内存磁盘
  • 28. 换页空间的镜像若换页空间磁盘发生故障,那么系统将暂停 为了实现更高的可用性 对换页空间进行镜像 就像镜像一个逻辑卷一样 smitty lvm + LV + set LV + add a copy 或使用命令:mklvcopy 内存磁盘
  • 29. 换页空间的删除在AIX4.3中: smitty chps shutdown -Fr smitty rmps 在AIX5L 中可在线删除换页空间或缩小换页空间的大小 swapoff psname rmps psname 内存磁盘
  • 30. 总结JFS/JFS2 快速、可靠 位于一个逻辑卷内 非常大的容量和文件容量 最好是为数据库准备2GB的文件空间 换页 以相同容量的换页空间来展开 磁盘多意味着换页高峰少内存磁盘