AIX命令集錦三(文件系統管理命令)

三、文件系統管理命令
3.1、文件系統的分類:
日誌型文件系統(JFS):是AIX操作系統特有的文件系統,使用數據庫日誌技術來維護文件系統結構的一致性,Itanium平臺不支持jfs,只支持jfs2增強的日誌型文件系統(JFS2):是JFS的增強版,可以存儲更大的文件,是64位默認的文件系統,JFS是32位默認的文件系統網絡文件系統(NFS):是一個分佈式的文件系統,訪問遠程的計算機上的目錄和文件就像本地訪問一樣
CD-ROM文件系統(CDRFS):允許用戶像訪問一般文件系統一樣訪問CD-ROM文件系統,默認是自動安裝CD的,如果沒有安裝或關掉了,可以用cdmount命令來安裝,AIX5.1前的版本,用命令mount -r -v cdrfs /dev/cd0 /mnt
DVD-ROM文件系統(UDFS):允許用戶像訪問一般文件系統一樣訪問DVD-ROM文件系統,/etc/cdrom.conf文件是cdromd守侯進程配置文件,如果用戶修改了這個文件,就必須用refresh -s cdromd或kill -1 cdromdPID命令通知cdromd進程配置文件已經更改
lsvfs 命令是顯示VFS(虛擬文件系統)的定義,如lsvfs procfs

3.2、創建文件系統命令:
3.2.1、crfs命令
crfs -v vfstype {-g volumegroup | -d device} [-l logpartitons] -m mountpoint [-n nodename] [-u mountgroup] [-A {yes|no}]
[-p {ro|rw}] [-a attribute=value...][-t {yes|no}]
-v vfstype 表示創建文件系統的類型 vfstype 的值可以是jfs或jfs2
-g volumegroup | -d device 表示在哪個卷組中創建文件系統,如果不指定卷組名,則必須用-d device 指定一個未使用的邏輯卷名
-l logpartitons 表示指出邏輯分區的大小,只適用於jfs和jfs2文件系統
-m mountpoint 表示指出文件系統的安裝點,必須是絕對路徑
-n nodename 表示指出文件系統所在的遠程主機名(只使用於遠程虛擬文件系統或網絡文件系統nfs)
-u mountgroup 表示使用安裝組來安裝一組文件系統
-A {yes|no} 表示每次系統重起後是否自動安裝該文件系統
-p {ro|rw} 表示指出該文件系統的權限,ro表示只讀權限,rw表示可讀寫權限
-a attribute=value... 表示指出決定虛擬文件系統的屬性及其對應的值
-t {yes|no} 表示該文件系統是否被記帳子系統處理
其中-a attribute=value...中的attribute可以按文件系統來分

JFS2的attribute所對應的值爲:
agblksize={512|1024|2048|4096字節} 表示jfs2塊的大小,默認是4096字節
logname=lvname 指出日誌邏輯卷名
logsize=value 表示內嵌日誌的大小,單位是MB,一般爲文件系統大小的0.4%,最大不能超過10%
dense 表示如果用jfs2的holes(孔)創建一個文件,那麼就會給這些holes分配磁盤塊並用0填充
size=value 單位爲512字節的塊,表示指定文件系統的大小

jfs的attribute所對應的值爲:
ag ={8|16|32|64MB} 表示分配組的大小,默認爲8MB
bf={true|false} 表示是否創建巨型文件系統
compress{no|LZ} 表示是否對文件系統進行壓縮,LZ表示採用lz壓縮算法進行壓縮
frag {512|1024|2048|4096字節} 表示指出JFS的碎片大小,默認是4096
logname=lvname 指出日誌邏輯卷名
nbpi={512|1024|2048|4096|8192|16384|32768|65536|131072} 指出每個I節點擁有的字節點(nbpi),默認是4096字節
size=value 單位可以爲512字節的塊、MB、GB,表示指定文件系統的大小

crfs -v jfs -g rootvg -m /test -a size=16M -a frag=512 -a nbpi=1024
表示在卷組rootvg中創建了/test jfs類型的文件系統,用512字節大小的碎片,每個i節點擁有1024個字節,文件系統大小爲16M
crfs -v jfs2 -g rootvg -m /test -a size=32768 -a agblksize=2048 -a logname=inline
表示在卷組rootvg中創建了/test jfs2類型的文件系統,使用2048字節的塊大小,指定在邏輯卷inline上創建,文件系統大小爲:
32768*512字節=16M
以上命令可以通過smit jfs或smit jfs2來進行操作
crfs命令的作用是在系統中添加一個新的文件系統,jfs文件系統添加可以使用命令smit jfs命令,jfs2文件系統添加可以使用命令
smit crjfs2std添加。
mkfs命令的作用是把一個已經存在的設備(可以是塊設備、裸設備、文件系統,這裏只講lv)做成jfs文件系統可以使用smit crjfslvstd命令,
做成jfs2文件系統可以使用smit crjfs2lvstd
做成文件系統

3.2.2、mkfs的命令
mkfs [-b boot] [-l label] [-i i-nodes] [-o options] [-p prototype][-s size] [-v volumelabel] [-V vfsname] device
-b boot 在新文件系統的0號塊中安裝程序
-l label 給新文件系統指定文件系統標籤
-i i-nodes 指定文件系統中初始的i節點數,當創建一個jfs文件系統時mkfs命令會忽略這個參數
-p prototype 指定原型文件名
-s size 指定文件系統的大小
-v volumelabel 指定新文件系統的卷標
-V vfsname 指定虛擬文件系統的類型
-o options 跟crfs中的-a attribute的參數一樣
mkfs -s 8192 -o nbpi=2048,frag=512 /dev/lv01
表示把/dev/lv01設備建造成一個4M的空文件系統,碎片大小爲512字節,每個i節點有2048個字節
mkfs -V jfs -o nbpi=131072,bf=true,ag=64 /dev/lv01
表示把/dev/lv01設備建造成一個允許巨型文件的文件系統,分配組的大小爲64M,nbpi爲131072,文件系統的大小就是邏輯卷/dev/lv01的大小

3.2.3、創建RAM(內存) disk文件系統命令
mkramdisk [-u] size [M|G]
-u 表示創建的RAM disk內存頁不會被固定,在一個系統中可以創建64個RAM disk,生成的名字格式爲:/dev/rramdiskX
size [M|G] 表示RAM disk的大小,默認是512字節爲單位,M|G表示以MB|GB爲單位
刪除一個RAM disk文件系統命令爲rmramdisk
要創建一個大約20MB(40000個512字節的塊)的RAM disk,然後在其上建立一個jfs文件系統,步驟爲:
mkramdisk 40000 執行這條命令後生成一個RAM disk文件/dev/rramdisk0
ls -l |grep ramdisk 檢查RAM disk文件
mkfs -V jfs /dev/ramdisk0 在RAM disk文件上建立一個JFS類型的文件系統
mkdir /ramdisk 建立文件系統安裝點
mount -V jfs -o nointegrity /dev/ramdisk0 /ramdisk 安裝新創建的RAM disk文件系統
mount 檢查新文件系統已經安裝
df -k 檢查新文件系統的大小
注意:保存在RAM disk文件系統上的數據可能會丟失,重起系統後,該文件系統就會被刪除,如果要繼續使用,就得重新創建

3.3、監視文件系統的命令
文件系統的所有信息都是集中放在/etc/filesystems文件中的,
/etc/vfs文件描述着系統中已經安裝的虛擬文件系統(VFS)的類型,包含類型名、類型代碼、文件系統助手程序。mount,fsck、
mkfs、umount、fsdb、 df、ff命令使用這些信息

lsfs 顯示文件系統的信息
如果帶-q 參數,則會從文件系統的超級塊中查詢碎片大小、壓縮規則和NBPI參數的值
如果帶-c 參數,則顯示個個列用冒號(:)分開
也可以用smit lsfs命令來操作
mount 顯示系統中已經安裝的文件系統
df 顯示文件系統空間的使用情況,帶如下參數分別表示不同的用途
-I 表示顯示I節點的使用情況
-v 顯示文件系統的所有信息
-M 把文件系統的安裝點顯示在第2列
-t 以圖形的方式顯示文件系統的分配的總空間
-P 以POSIX標準格式顯示文件系統空間信息
空間爆滿一般要檢查/var/adm/wtmp,/var/spool/*/*,/smit.log,/smit.script,/etc/security/failedlogin,/var/adm/sulog,/*/core

du 表示顯示文件的大小
加-a 參數表示顯示指定目錄下的所有子目錄和文件的大小
加-s 參數表示只列出所有文件和目錄的總塊數

3.4、安裝/卸載文件系統命令
如果在/etc/filesystems文件中沒有記錄某個文件系統的信息,我們可以用mount /dev/lv01 /mnt 命令來安裝
如果在/etc/filesystems文件中都存在文件系統的信息,我們可以用mount all或者用mount -a來進行安裝
也可以用smit mountfs命令來實現
能夠自動裝載文件系統有兩中情況:
系統引導和運行必須的文件系統,他們在/etc/filesystems文件中的mount屬性爲automatic,這些都是自動裝載,同時不能通
過mount/umount命令來對他們進行操作
用戶控制的文件系統,他們在/etc/filesystems文件中的mount屬性爲true。這些文件系統都是可以通過mount/umount命令來對他們進行操作
卸載文件系統命令
umount /mnt 卸載/mnt裝載的文件系統
umount all 表示卸載所有的用戶控制的文件系統
可以用smit umountfs命令來卸載文件系統

3.5、刪除一個文件系統命令:
rmfs [-r|-i] filesystem
-r 表示刪除文件系統的安裝點
-i 表示刪除之前顯示警告信息並提示用戶進一步確定是否繼續刪除
可以使用smit rmjfs命令來操作

3.6、改變一個文件系統大小的命令:
chfs -a size=<新的大小,以512字節爲單位> <文件系統名>
改變步驟爲:
df -k顯示文件系統的當前大小
計算要給文件系統增加到多少個塊(512字節/塊)或M或G爲單位
chfs -a size=<新的大小,以512字節爲單位> <文件系統名>
再用df 命令來顯示
chfs -a size=150M /tmp
chfs 命令還可以修改文件系統的其他屬性,可以使用smit chjfs命令來實現

3.7、維護文件系統的命令:
fsck命令的作用是檢查文件系統的一致性,同時修復被破壞的文件系統
fsck [-v vfstype] [-f] [-n] [-y] [-p] [filesystem]
-v vfstype 表示檢查文件系統的類型
-f 表示執行一個快速的檢查
-n 表示不打開任何文件系統也不會寫任何文件系統
-y 表示修復一個嚴重破壞的文件系統,也會刪除一些嚴重破壞的文件
-p 檢查過程中不顯示一些有關較小問題 的信息,確認是否被損壞
filesystem 指定檢查一個文件系統
注意:在生產機上運行fsck命令時要特別小心,可能會產生不可預知的後果

3.8、格式化JFS(JFS2)日誌設備的命令
日誌設備是一個邏輯卷,把一個裸邏輯卷變成JFS(JFS2)日誌設備,用logform命令來格式化一個邏輯卷爲JFS(JFS2)日誌設備
logform [-V vfstype] logname
-V vfstype 表示文件類型
logname 表示日誌邏輯卷名
logform -V jfs2 /dev/jfs2log 格式化一個jfs2日誌設備,如果不帶-V ,默認爲jfs類型
要增加一個日誌設備的步驟爲:
mklv -y lv03 datavg 20 創建一個新的邏輯卷lv03
chlv -t jfslog/jfs2log lv03 修改邏輯卷的類型爲jfslog/jfs2log
logform -V jfs/jfs2 /dev/lv03 格式化爲jfs/jfs2日誌設備

3.9、殘片整理命令
殘片:文件系統中不連續的空閒空間/空閒碎片
defragfs [-q|-r|-s] {device|filesystem}
device|filesystem 表示邏輯卷名或文件系統名
-q 報告文件系統的統計信息
-r 報告文件系統的當前統計信息和調整後的統計信息
-s 報告文件系統中的殘片

3.10、文件系統故障處理命令
恢復超級塊錯誤:
umount /myfs 卸載文件系統/myfs
fsck -p /dev/lv01 檢查文件系統是否損壞
od -x -N 64 /dev/lv01 +0x1000 顯示主超級塊的內容
od -x -N 64 /dev/lv01 +0x1f000 檢查備份超級塊的幻數是否正確
dd count=1 bs=4k skip=31 seek=1 if=/dev/lv01 0f=/dev/lv01 將備份超級塊來恢復主超級塊的內容
fsck /dev/lv01 恢復完後檢查完整性

無法卸載文件系統處理:
fuser /dev/cd0 顯示在這個系統中正在活動的進程ID
kill -9 2190 2344 殺死這些正在運行的進程
lsdev -Cc cdrom 確定設備是否可以用,可用就可以訪問或卸載文件系統

無法刪除文件系統處理:
lsvg -l rootvg
如果類型顯示爲???,則用synclvodm -P rootvg和 syncvg -v rootvg命令來對卷組進行同步,在查看顯示類型,如果正確表示可以刪除

對rootvg中的主要文件系統和日誌的修復方法:
重起系統按F6或數字6,選擇進入維護模式
然後運行fsck /dev/hd4 ......

3.11、使用cdrfs和udfs文件系統的命令
crfs/mkfs 用來創建cdrfs的命令,可以用smit crcdrfs來操作
chfs 用來修改cdrfs的命令,可以用smit chcdrfs來操作
rmfs 用來刪除cdrfs的命令,可以用smit rmcdrfs來操作
裝載和卸載通過mount /cdrom和umount /cdrom來完成

CD-ROM/DVD-RAMA文件系統的自動安裝功能是由cdromd進程實現,cdromd進程由系統資源控制器來管理
startsrc/refresh/stopsrc -s cdromd 啓動/刷新/停止cdromd進程
cd管理命令有cdutil、cdcheck、cdmount、cdumount、cdeject
cdcheck -m cd0 檢查cd0中是否有一個介質被安裝
cdeject cd0 彈出一個介質
cdmount cd0 在設備cd0上安裝一個文件系統
cdumount cd0 在設備cd0上卸載一個文件系統
cdutil -sk cd0 讓cdromd進程掛起對cd0設備的管理,而不彈出其中的介質

mount -v 'cdrfs' -p -r -o upcase /dev/cd0 /cdrom 其中-o upcase表示裝載後以大寫的方式顯示,不加就是以小寫的方式顯示

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章