天天看点

AIX 5L支持的5种文件系统:JFS,JFS2,NFS,CDRFS,UDFS

JFS(Journaled File System):          日志型文件系统

JFS2(Enhanced Journalted File System): 增强的日志型文件系统

NFS(Network File System):              网络文件系统

CDRFS(CD-ROM File System):          CD-ROM文件系统

UDFS(DVD-ROM File System):          DVD-ROM文件系统

系统中所有文件和目录都存储在树根(/)之下,根文件系统存在于rootvg中。

其他文件系统都独立于根文件系统。

手工安装本地/远程文件系统: mount

卸载本地/远程文件系统:        umount

root文件系统位于/dev/hd4逻辑卷上,所有权属性:

(1)AIX Ver4.3.3及以前:bin.bin

(2)AIX Ver5.1L:        root.system(防止root用户的Dead Letter写入根文件系统)

显示文件系统中超级块的内容,i节点的映射表和磁盘映射表。

#dumpfs /dev/hd1        (文件系统更新失败用fsck命令修复)

AIX4以上的日志型文件结构中引入“碎片”(Fragment)概念。目的:减少磁盘空间的浪费。

AIX4之前的系统:数据存储的最小单元是逻辑块,有“碎片”之后,则以Fragment为最小单位。

碎片的大小在文件系统创建时指定并存于超级块中。JFS支持大小:512,1024,2048和4096字节。

巨型文件系统有两种碎片大小:32*4096字节(128K)和4096字节。文件大于4MB,则128K大碎片,否则使用4096字节的Fragment。

碎片并非越小越好,因为太小可能增加I/O操作成本,而且可能造成大量残片。

使分散碎片连续化:defragfs(可能对文件系统的性能产生影响)。

每个文件或目录都有一个i节点(Index Node),i节点包含文件或目录的基本信息,如文件类型、访问权限、主用户ID、组ID和文件的连接数。(i节点本质上是一个指向文件数据块的指针。)

i节点数量由nbpi(Number of Bytes Per i-node 每个i节点拥有的字节数)参数来指定。

日志型文件系统支持的nbpi值:512,1024,2048,4096(默认值),8192,16384,[32768,65536,131072,仅AIX4.2及以后版本适用]。

分配位图Allocation Bitmap:

(1)碎片分配映射图 Fragment Allocation Map (记录文件系统中每个碎片的分配状态)

(2)磁盘i节点位图 Disk i-node Bitmap    (记录每个i节点的状态)

分配组(AG:Allocation Group)

三种大小:(1)碎片分配组大小

      (2)磁盘i节点分配组大小

      (3)每个分配组中磁盘i节点数

默认分配组大小:8MB(AIX V4.1固定为:8MB)

AG的可能值;8MB,16MB,32MB,64MB(AIX4.2及以后适用,最大为64MB)

查看文件系统碎片大小和分配组的大小:

#dumpfs /dev/mylv

文件系统大小一般限制为:nbpi*2^24或碎片大小*2^28。

1byte = 8bits

1KB = 1024bytes

1MB = 1024KB

....

+---------------------------------------------------------+

| B     KB MB GB TB PB EB ZB     YB     |

+---------------------------------------------------------+

| Byte Kilo Mega Giga Tera Peta Exa Zetta Yotta |

+---------------------------------------------------------+

| 10^ 3     6     9     12 15 18 21     24     |

+---------------------------------------------------------+

IBM宣布支持最大的文件大小为:1024GB,即1TB。

查看文件系统的范围:

#lsfs -q /home

AIX Ver4.3开始,支持压缩文件系统。但JFS2文件系统不支持数据压缩。不能压缩根(/)文件系统和/usr文件系统。

AIX Ver3.1之后,JFS日志(Log)已是一个可恢复的文件系统。

AIX使用特殊的逻辑卷(JFS日志设备)来记录文件系统对元数据(Meta-Data)的修改情况。

逻辑卷(JFS日志设备)是一个循环日志表,系统异常中断时,用此事务日志来恢复文件系统。

sync命令:把内存缓冲区内容及时送入磁盘

filemon命令:监视文件系统的性能、报告文件、虚拟内存段、逻辑卷和物理卷的I/O活动。

简单规则:4GB的文件系统对应2MB的JFS日志设备。

由于i节点的结构有很大的区别,所以:JFS使用直接地址和间接地址块来寻址,而JFS2使用B+树来寻址。

#date >now.txt    (通过date命令产生now.txt文件)

#cat now.txt        (通过cat命令查看now.txt的内容)

#istat now.txt    (用istat命令查看now.txt的i节点内容)

#ls -ial /dev/hd3 (显示文件所在文件系统的设备)

link命令或symlink函数把一个i节点链接给许多文件名。

单次间接寻址可存取1024*4096字节(4MB)大小的文件。

二次间接寻址可存取512*1024*4096(2GB)大小的文件。

read(),write()系统调用函数所允许的最大文件大小是2GB-1(即2^31 - 1)。

JFS2类型文件系统可创建一个内嵌(Inline)式的日志,每个JFS2类型的文件系统拥有一个它自己的日志设备而不必使之共享。

在多硬盘多文件系统时,增加了可靠性(Reliability),可用性(Availability)和可维护性(Serviceability),简称RAS。

#mount 安装本地/远程文件系统

JFS2两种日志:

(1)独立日志(Outline Log)

(2)内嵌日志(Inline Log)

AIX 5.2L之前的版本(不含5.2),默认:

Outline Log Max Size : 1GB

Inline Log Max Size : 32MB

AIX 5.2L及之后版本:

Inline Log Size: 256K~16TB (默认Inline Log Size = 文件系统大小 * 0.4%) [但不能超过10%]

Outline Log Size(独立日志)大小可变; 32位内核:Outline Max Size: 1GB; 64位:64GB

mklv支持巨型逻辑卷:32位:Max: 1 TB

                   64位:Max: 128 TB

32位机器上JFS2文件系统大小最大可至1TB; 64位:16TB。

SMIT创建JFS 类型的文件系统: #smit jfs

--------JFS2--------------: #smit jfs2

添加新文件系统:crfs命令

#crfs -v VfsType                   VfsType: jfs或jfs2

   {-g VolumnGroup | -d Device} VolumnGroup:卷组 Device:已存在,未使用的逻辑卷组

   [-l LogParititions]          LogParititions:日志逻辑卷的大小,逻辑分区的数量

   -m MountPoint                MountPoint:安装点,一般是绝对路径

   [-n NodeName]                指定文件系统的远程主机名,仅适用于远程虚拟文件系统或NFS

   [-u MountGroup]                 批量安装一组的所有文件系统

   [-A {yes | no }]             启动系统时是否自动安装该文件系统

   [-p {ro | rw }]             文件系统的权限(ro:只读,rw:可读写)

   [-a Attribute=Value...]       虚拟文件系统的属性及对应值多种属性时,每个前加-a分隔

   [-t {yes | no }]             是否被记帐子系统处理,yes为打开记帐功能。

从AIX Ver5.2L开始,cfrf,chfs,mkfs在指定文件系统大小时,可用MB,GB为单位。

在已存在的设备上建立文件系统:mkfs(在指定设备上建立)

实际上,crfs命令首先调用了mklv创建逻辑卷,再用mkfs命令在逻辑卷上建立文件系统,同时创建安装点,最后在/etc/filesystems文件记录新创建的文件系统。

mkfs:将指定设备做成文件系统;它只在逻辑卷上建立文件系统,不会建立安装点,也不会在/etc/filesystems文件做记录。

#mkfs [-b Boot]          0号块开始

   [-l label]           指定标签

   [-i i-Nodes]       指定初始的i节点数

   [-o Options]       类似crfs的-a Attribute=Value,多项时用逗号分隔

   [-p Prototype]    指定原型文件名

   [-s Size]          指定文件系统大小

   [-v VolumnLabel]     指定卷标

   [-V VfsName]       指定类型(必须是/etc/vfs文件中的一条记录)

   Device             (1)块设备名(2)裸设备名(3)文件系统名

用SMIT添加JFS类型文件系统:           smit crjfsstd (?)

用SMIT添加JFS2类型文件系统:       smit crjfs2std

用SMIT在已存在的逻辑卷上创建文件系统:smit crjfslvstd

创建RAM disk文件系统(内存中创建JFS):提高读写速度,改善程序的执行性能。

#mkramdisk [-u]                   使用此选项时,表示内存页不会固定在指定区域中

          size [M|G]             RAM Disk的大小,默认为512字节的块;M:MB; G:GB。

每个系统最多64个RAM Disk。

一旦创建,就可以象普通设备文件一样通过open(),read(),write和close()来调用。

删除RAM Disk: #rmramdisk       (系统重启后,RAM Disk会被删除!)

#mkramdisk 40000                 (创建40000*512节字,约20M的RAM Disk)

#ls -l|grep ramdisk             (检查创建的RAM disk设备文件)

#mkfs -V jfs /dev/ramdisk0        (建立JFS类型的文件系统)

#mkdir /ramdisk                (建立文件系统的安装点)

#mount -V jfs -o nointegrity /dev/ramdisk0 /ramdisk (安装新建的RAM Disk文件系统)

#mount                         (检查新文件系统是否已安装)

#cd /home/peter/data

#ls -l datafile

#cp datafile /ramdisk          (把datafile文件复制到RAM Disk文件系统中)

#df -k                         (检查RAM Disk空间的使用情况)

#ls -l /ramdisk

文件系统的所有信息都集中放在/etc/filesystems文件[Stanza(节)格式]中,许多维护文件系统的命令都从此文件中获取文件系统的默认属性。

在/etc/vfs文件中描述系统中已安装虚拟文件系统(Virtual File System, VFS)的类型。mount,fsck,mkfs,umount,fsdb,df,ff命令使用这些信息。(一个ASCII码文件,一行一条记录)

%defaultvfs jfs nfs          (定义默认的本地VFS类型和远程的VFS类型)

列举系统已定义的各种文件系统: lsfs

列举系统已安装的文件系统:    mount

检查文件系统空间的使用情况: df

                                       单位                         文件名

                                    +----+----+    安装点、设备名等 -------

                        +- 图形方式 |KB |MB |GB ----------------- |

                        |           | | |          |          |

                        |           | | |          |          |

#df [[-P]|[-I | -M | -i | -t | -v]] [-k] [-m] [-g] [-s] [FileSystem... | File...]

   | | | |       |                   |

   | | | +-        +- 所有信息 +-------+----------------------+

   | | |                         |     从特殊文件系统助手中得到 |

   | | +- 安装点显示在第2列       | 信息,不加-s时,则调用statfs() |

POSIX格式 |                               | 命令得到。                |

         +- 已使用i节点数                +------------------------------+

            i节点使用率               

eg. df -m /usr

显示文件的大小:#du [-a | -s] [-k] [-m] [-g] [File...]

                  | | -------------- |

                  | | (单位,同上) +- 可以是文件,也可以是目录

                  | |

                  | +- 只列总块数

递归所有目录和文件 -+

$pwd 显示当前目录

$du 显示当前目录下的所有子目录的大小

安装文件系统: #mount (SMIT快捷:smit mountfs)

eg. #mount /johnsonfs (如/johnsonfs文件系统的相关信息在/etc/filesystem文件有记录,直接安装)

解决冲突:

#mount -o -busy /johnsonfs (保证安装文件系统前没有程序或用户使用安装点目录)

#mount /dev/lv01 /mnt    (在逻辑卷设备/dev/lv01上直接安装在/mnt目录)

#mount all(或-a)          (安装所有在/etc/filesystems文件中mount选项为true的所有文件系统)

#mount -r /johnsonfs        (只读方式安装)

自动装载文件系统:

(1)/etc/filesystems文件中mount属性值为automatic。

(2)Shell程序/etc/rc调用mount all (umount all 卸载这个文件系统)

卸载文件系统:umount (smit快捷:smit umountfs)

删除文件系统:

A. SMIT工具:

原则:

(1)重要文件先备份,后删除;

(2)先卸载文件系统(umount),后删除。

SMIT快捷: smit rmjfs

B. 使用rmfs命令

#rmfs [-r|-i] FileSystem

       | |

       | +- 警告、确认框(AIX5.2L以上才有)

       |

       +- 删除安装点

增加文件系统的空间:chfs (实质是修改其属性)

[SMIT快捷:smit chjfs或chjfs2]

步骤:

(1)df -k(显示当前大小)

(2)计算增加快数(512字节/块),计算文件系统的使用率

(3)chfs -a size=新块数 FileSystemName (AIX 5.2L以上时)

from:http://www.zcpxw.com/viewthread.php?tid=778