Solaris系統(tǒng)管理培訓(xùn)(第十三章:文件系統(tǒng)介紹)
2024-07-26 00:29:52
供稿:網(wǎng)友
文件系統(tǒng)的定義
對用戶來說,文件系統(tǒng)是存儲信息的文件和目錄的集合。
對操作系統(tǒng)來說,文件系統(tǒng)是以一些數(shù)據(jù)的集合。
磁盤文件系統(tǒng)
Solaris定義了3種文件系統(tǒng)類型:
ufs – UNIX文件系統(tǒng)。是Solaris缺省的文件系統(tǒng)。
hsfs – 高密度CD-ROM文件系統(tǒng),是只讀文件系統(tǒng)。
pcfs – PC文件系統(tǒng),支持DOS格式化的軟盤。
網(wǎng)絡(luò)文件系統(tǒng)
NFS是Solaris系統(tǒng)支持的網(wǎng)絡(luò)文件系統(tǒng)。
內(nèi)存文件系統(tǒng)
指操作系統(tǒng)運行時存在于內(nèi)存中的文件系統(tǒng)。
流分區(qū)已經(jīng)定義了分區(qū)的大小和位置,但未創(chuàng)建文件系統(tǒng)。
塊分區(qū)已經(jīng)創(chuàng)建了文件系統(tǒng)。
它們之間的邏輯設(shè)備名分別存放在/dev/rdsk河/dev/dsk中。
磁盤卷標(biāo)包含了磁盤的分區(qū)表。磁盤卷標(biāo)存放在磁盤的第一個扇區(qū)。
啟動塊
啟動塊存放著啟動程序。位于磁盤的1-15扇區(qū)。
超級塊
超級塊包含啟動塊后面的16個扇區(qū)。超級塊是文件系統(tǒng)的信息表,包含:
數(shù)據(jù)塊的數(shù)量
柱面組的數(shù)量
數(shù)據(jù)塊和碎片的大小
硬件的描述
掛接點
文件系統(tǒng)的狀態(tài):干凈、穩(wěn)定或激活
備份的超級塊
由于超級塊包含了許多關(guān)鍵數(shù)據(jù),因此,必須要備份。備份是在文件系統(tǒng)創(chuàng)建時產(chǎn)生的。
Solaris下以inode的方式記錄文件
Inode包含文件的下列信息:
文件類型和訪問模式
文件的擁有者和所在組的
文件大小
上次訪問和更改的時間以及inode更改的時間
已用數(shù)據(jù)塊的數(shù)量
inode包含兩種指針:直接指針和間接指針
直接指針
有12個,直接指向數(shù)據(jù)塊。這12個指針可以支持96K字節(jié)的文件。
間接指針
單倍間接– 單倍間接指針指向包含指針的數(shù)據(jù)塊。這樣可以支持16M字節(jié)的文件。
雙倍間接–雙倍間接指針指向包含單倍間接指針的數(shù)據(jù)塊。這樣可以支持32G字節(jié)的文件。
三倍間接–三倍間接指針指向包含雙倍間接指針的數(shù)據(jù)塊。這樣可以支持70T字節(jié)的文件。
newfs創(chuàng)建文件系統(tǒng)
# newfs /dev/rdsk/c0t2d0s0
newfs: construct a new file system /dev/rdsk/c0t2d0s0: (y/n)? y
/dev/rdsk/c0t2d0s0: 41040 sectors in 57 cylinders of 9 tracks, 80 sectors
21.0MB in 4 cyl groups (16 c/g, 5.90MB/g, 2688 i/g)
super-block backups (for fsck -F ufs -o b=#) at: 32, 11632, 23232, 34832,
文件系統(tǒng)檢測工具(fsck)用于檢測文件系統(tǒng)是否出錯。
比如,某個數(shù)據(jù)塊不能同時被兩個不同的inode占用。Fsck程序可以檢測這種錯誤。
# fsck /dev/rdsk/c0t3d0s7
** /dev/rdsk/c0t3d0s7
** Last Mounted on /export/home
** Phase 1 - Check Blocks and Sizes
** Phase 2 - Check Pathnames
** Phase 3 - Check Connectivity
** Phase 4 - Check Reference Counts
** Phase 5 - Check Cyl groups
2 files, 9 used, 21606 free (14 frags, 2699 blocks, 0.1% fragmentation)
文件系統(tǒng)錯誤
許多情況下,文件系統(tǒng)發(fā)生錯誤是由于超級塊有錯誤。發(fā)生錯誤的原因主要是:
非正常關(guān)機
掉電
硬件錯誤
fsck運行的時間
系統(tǒng)每次啟動時都會自動運行fsck。如果發(fā)現(xiàn)錯誤,會嘗試自動修復(fù),如果錯誤非常嚴(yán)重,需要人工修復(fù)。這是進(jìn)入系統(tǒng)單用戶模式,然后打命令:
#fsck /dev/rdks/c0t0d0s0
df命令查看已掛接的文件系統(tǒng)使用狀況
參數(shù)k:表示以千字節(jié)格式顯示
$ df -k
Filesystem kbytes used avail capacity Mounted on
/dev/dsk/c0t3d0s0 38111 19196 18877 51% /
/dev/dsk/c0t3d0s6 565503 361529 203409 64% /usr
/PRoc 0 0 0 0% /proc
fd 0 0 0 0% /dev/fd
/dev/dsk/c0t3d0s1 25159 4886 20248 20% /var
/dev/dsk/c0t3d0s5 27439 20362 7050 75% /opt
swap 45980 12 45968 1% /tmp
du命令顯示某個目錄下文件的占用磁盤空間的情況:
du [-a] [-s] [-k] [directory]
參數(shù):
-k 以千字節(jié)方式顯示(默認(rèn)是以塊方式顯示,一個塊為512字節(jié))
-s 只以簡略的方式顯示
-a 顯示制定目錄下所有文件和目錄占用的磁盤塊數(shù)量