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