AIX命令集錦三(檔案系統管理命令)

antcorps發表於2008-07-17
AIX命令集錦三(檔案系統管理命令)[@more@]

三、檔案系統管理命令
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=
改變步驟為:
df -k顯示檔案系統的當前大小
計算要給檔案系統增加到多少個塊(512位元組/塊)或M或G為單位
chfs -a size=
再用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表示裝載後以大寫的方式顯示,不加就是以小寫的方式顯示

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/20444553/viewspace-1007426/,如需轉載,請註明出處,否則將追究法律責任。

相關文章