IBM AIX 5.3 系統管理檔案系統

IBM與中國的緣分源遠流長。早在1934年,IBM 公司就為北京協和醫院安裝了第一臺商用處理機。下面是小編整理的IBM AIX 5.3 系統管理檔案系統,歡迎大家參考!

IBM AIX 5.3 系統管理檔案系統

  一. 檔案系統型別

在 AIX 5L Version 5.3 中,支援下列型別的檔案系統:

1.1日誌檔案系統

之所以將這種型別檔案系統稱為日誌檔案系統是因為,這種系統使用日誌技術來維護控制結構的完整性。每個日誌檔案系統必須位於不同的 JFS 邏輯卷。因此,該檔案系統的大小為一個邏輯分割槽大小的倍數。

1.2 增強的日誌檔案系統

這是初始日誌檔案系統的增強版本。它使用基於區段的分配以支援更高的效能、更大的檔案系統和更大的檔案大小。每個增強的日誌檔案系統必須位於不同的 JFS2 邏輯卷。當使用預設選項安裝作業系統時,將建立 JFS2 檔案系統。

1.3 網路檔案系統

網路檔案系統 (NFS) 是一種分散式檔案系統,它允許使用者訪問位於遠端計算機的檔案和目錄,可以像使用本地檔案和目錄那樣使用這些遠端檔案和目錄。

1.4 CD-ROM 檔案系統

CD-ROM 檔案系統 (CDRFS) 是一種檔案系統型別,它允許您通過一般的檔案系統介面來訪問 CD-ROM 中的內容。

  二. 檔案系統結構

日誌檔案系統使用了各種資料結構,如超級塊、分配組、索引節點,塊、分段和裝置日誌。

2.1 超級塊

超級塊中包含關於檔案系統的控制資訊,如檔案系統的整體大小(單位為 512 位元組的塊)、檔案系統名稱、檔案系統日誌裝置、版本編號、索引節點的數目、空閒索引節點列表、空閒資料塊列表、建立時間和日期,以及檔案系統狀態。所有這些資料都儲存在檔案系統的第一個邏輯塊中。如果這些資料損壞,可能會使得該檔案系統無法使用。所以,系統在邏輯塊 31 中儲存了超級塊的另一個副本。

2.2 分配組

分配組由索引節點及其相應的資料塊組成。分配組可以跨越多個相鄰的磁碟塊,並且提高 I/O 操作的速度。JFS 和 JFS2 檔案系統都使用了分配組。對於 JFS 檔案系統,可以在建立檔案系統時指定分配組的大小。

2.3 索引節點

索引節點包含關於檔案的控制資訊,如型別、大小、擁有者、檔案建立、修改或者最近訪問的日期和時間。它還包含指向儲存檔案實際資料的資料塊的指標。每個檔案都具有對應的索引節點。

對於 JFS 檔案系統,索引節點的最大數目(對應著檔案的最大數目),由建立檔案系統時所指定的每個索引節點擁有的位元組數(number of bytes per inode,nbpi)值來確定。對於檔案系統中的每個 nbpi 位元組,都會建立一個索引節點。索引節點的總數是固定的。nbpi 值需要與分配組大小相關聯。

JFS 將所有的檔案系統限制為 16 MB (224) 個索引節點。

JFS2 檔案系統動態地管理索引節點所需的空間,所以不存在任何 nbpi 引數。

2.4 資料塊

資料塊儲存了檔案的實際資料,或者指向其他資料塊的指標。磁碟塊大小的預設值為 4 KB。

2.5 分段

邏輯塊的分段可用於支援小於邏輯塊標準大小 (4 KB) 的檔案。這個規則僅適用於檔案大小小於 32 KB的最後一個邏輯塊。

如果只有 JFS 檔案系統,您可以選擇使用壓縮使得檔案的所有邏輯塊儲存為相鄰分段的序列。對檔案系統進行壓縮,將增加使用該檔案系統時 CPU 的使用量和 I/O 活動。

如果需要支援大量較小的檔案,這些特性是非常有價值的。在安裝的時候,必須為檔案系統指定分段的大小。不同的檔案系統可以使用不同的分段大小。

  三. 裝置日誌

日誌檔案系統的日誌儲存了關於檔案系統元資料更改的事務資訊。如果計算機崩潰,可以使用該資料來回滾未完成的操作。JFS 檔案系統用於對 jfslog 型別的邏輯捲進行日誌記錄,而 JFS2 檔案系統用於對 jfs2log 型別的邏輯捲進行日誌記錄。

不對資料塊中的資料進行日誌記錄。日誌裝置用於確保檔案系統的完整性,而不是資料的完整性。

在安裝了作業系統之後,rootvg 卷組中所有的檔案系統都使用邏輯卷 hd8 作為公共的日誌。

您可以建立一個能夠使用內聯日誌 (inline log) 的 JFS2 檔案系統。這意味著,可以將日誌資料寫入到與該檔案系統相同的邏輯卷,而不是寫入到日誌邏輯卷。

  四. 檔案系統的區別

下表顯示了 JFS 和 JFS2 檔案系統之間的一些區別。

功能

JFS

JFS2

體系結構上最大的檔案系統大小

1 TB

4 PB

體系結構上最大的檔案大小

64 GB

4 PB

索引節點的數目

在建立檔案系統時確定

動態

索引節點大小

128位元組

512位元組

分段大小

512

512

塊大小

4096

4096

目錄組織

線性

B-樹

壓縮

建立時預設的所有權

em

預設檔案模式的SGID

SGID=on

SGID=off

配額

日誌檔案系統的區別

JFS 和 JFS2 檔案系統可以共存於相同的系統中。

如果您需要將資料從 JFS 檔案系統遷移到 JFS2 檔案系統,那麼您必須對 JFS 檔案系統進行備份,然後將資料還原到 JFS2 檔案系統。

  五. 對檔案系統進行碎片整理

分段和壓縮的使用,以及大量檔案的建立和刪除,都可能降低連續的空閒磁碟空間的數量。defragfs 命令可用於提高或者報告檔案系統中連續空間的狀態。 要對檔案系統 /home 進行碎片整理,可以使用下面的命令:

defragfs /home

  六. 顯示關於索引節點的資訊

可以使用 istat 命令來顯示關於某個特定索引節點的資訊.

# istat /etc/passwd

Inode 66 on device 10/4 File

Protection: rw-r--r--

Owner: 0(root) Group: 7(security)

Link count: 1 Length 644 bytes

Last updated: Thu Dec 1 18:14:12 CST 2005

Last modified: Thu Dec 1 18:14:12 CST 2005

Last accessed: Mon Dec 5 17:04:17 CST 2005

  七. 對檔案系統問題進行故障排除

7.1 對超級塊錯誤進行恢復

如果您在使用 fsck 或者 mount 命令時收到下面的錯誤之一,那麼該問題可能是超級塊遭到損壞:

fsck: Not an AIX3 file system

fsck: Not an AIXV3 file system

fsck: Not an AIX4 file system

fsck: Not an AIXV4 file system

fsck: Not a recognized file system type

mount: invalid argument

使用下列命令的其中一個,通過將超級塊備份還原到主超級塊,從而解決這個問題:

dd count=1 bs=4k skip=31 seek=1 if=/dev/lv00 of=/dev/lv00

在完成了還原過程之後,使用 fsck 命令檢查檔案系統的完整性。如果該操作無法解決這個問題,那麼重新建立檔案系統,並從備份還原資料。

7.2 無法解除安裝檔案系統

如果檔案系統中存在任何處於活動狀態的引用,則不能解除安裝該檔案系統。下面的.情況可能導致一個已裝入的檔案系統中存在開啟的引用:

(1)檔案系統中存在開啟的檔案。在解除安裝檔案系統之前,必須關閉這些檔案。要確定指定的檔案系統中所有包含開啟引用的程序的程序 ID,最好的方法是使用 fuser 命令。可以使用 kill 命令終止包含開啟引用的程序,然後就可以完成解除安裝工作了。

(2)如果檔案系統仍然處於繁忙狀態並且無法對其進行解除安裝,那麼這可能是由於載入了核心擴充套件,但存在於原始檔系統中。fuser 命令無法顯示這些型別的引用,因為並沒有涉及到任何使用者程序。然而,genkex 命令將報告所有已載入的核心擴充套件。

(3)該檔案系統中裝入了其他檔案系統。如果該檔案系統中裝入了任何其他檔案系統,那麼將在原始檔系統中裝入其他檔案系統的裝入點存在開啟的引用。要解除安裝某個檔案系統,需要解除安裝其中所裝入的所有檔案系統。

(4)使用者正使用該檔案系統中的目錄作為其當前工作目錄。對於使用某個目錄作為其當前工作目錄的程序,fuser 命令將在對應的程序 ID 後面追加字母“c”,而 -u 標誌可以表示程序的擁有者。可以將其與 find 命令一同使用,如下面的示例所示:

# find /home -type d -exec fuser -u {} /;

/home:

/home/lost+found:

/home/guest:

/home/kenzie:3548c(kenzie)

7.3 檔案系統沒有剩餘空間

檔案系統沒有剩餘空間可能會產生各種各樣的問題。例如,有些系統建立的檔案系統,如 /、/usr、/var和 /tmp,由某些系統命令所使用。如果這些檔案系統中沒有可用空間,那麼可能會產生一些預料之外的結果。請始終確保在這些檔案系統中存在足夠的空閒空間。您可以使用諸如 df 或 du 之類的命令,監視您的檔案系統的空間使用情況。

  八. 建立一個檔案系統

AIX 5L Version 5.3 中的每個檔案系統都必須位於某個邏輯卷。

當您建立檔案系統時,如果您沒有指定一個以前建立的邏輯卷,那麼系統將使用系統生成的名稱建立一個邏輯卷,並使用預設值作為該邏輯卷的特徵。檔案系統的大小非常接近邏輯分割槽大小的倍數。檔案系統的大小不能超過邏輯卷的標準最大邏輯分割槽數。將向 /etc/filesystem 中新增一個包含該檔案系統詳細資訊的節,並將新的資料寫入到ODM。

在示例中,我們說明了如何使用 crfs 命令,如下所示:

(1)lsvg -l testvg 說明 testvg 不包含任何 jfs、jfs2、jfslog 和 jfs2log 型別的邏輯卷。

(2)crfs -v jfs -g testvg -a size=10M -m /fs1 將在卷組 testvg 建立一個大小為 10 MB 的 jfs檔案系統,並且裝入點為 /fs1。目前沒有任何 jfs 邏輯卷,所以系統將建立一個,並指定其名稱為 lv00。目前沒有任何 jfs 日誌裝置,所以系統將建立一個,並指定其名稱為 loglv00。

(3)crfs -v jfs2 -g testvg -a size=10M -p ro -m /fs2 將在卷組 testvg 中建立一個大小為 10 MB的 jfs2 檔案系統,其裝入點為 /fs2,並且具有隻讀許可權。目前沒有任何 jfs2 邏輯卷,所以系統將建立一個,並指定其名稱為 fslv00。目前沒有任何 jfs2 日誌裝置,所以系統將建立一個,並指定其名稱為 loglv01。

(4)lslv lv00 和 lslv fslv00 說明所建立的邏輯卷使用了它們預設的特徵。

(5)cat /etc/filesystems|grep -ip fs1 顯示了 /etc/filesystems 中與 fs1 相對應的節。

示例:建立檔案系統時不指定邏輯卷

# lsvg -l testvg

testvg:

LV NAME TYPE LPs PPs PVs LV STATE MOUNT POINT

# crfs -v jfs -g testvg -a size=10M -m /fs1

Based on the parameters chosen, the new /fs1 JFS file system