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