跳至內容跳至頁面導覽:上一頁 [access key p]/下一頁 [access key n]
documentation.suse.com / SUSE Linux Enterprise Server 文件 / 儲存管理指南 / 檔案系統與掛接 / Linux 中檔案系統的綜覽
適用範圍 SUSE Linux Enterprise Server 12 SP5

1 Linux 中檔案系統的綜覽

SUSE Linux Enterprise Server 隨附了不同的檔案系統供您選擇,包括 Btrfs、Ext4、Ext3、Ext2、ReiserFS 和 XFS。每個檔案系統都有其各自的優點和缺點。如需 SUSE Linux Enterprise Server 中主要檔案系統的並排功能比較,請參閱 http://www.suse.com/products/server/technical-information/#FileSystem (檔案系統支援和大小)。本章包含有關這些檔案系統的工作方式及其優點的綜覽。

在 SUSE Linux Enterprise 12 中,Btrfs 是作業系統的預設檔案系統,XFS 是所有其他使用案例的預設檔案系統。此外,SUSE 仍繼續支援 Ext 系列的檔案系統、ReiserFS 和 OCFS2。依預設,Btrfs 檔案系統將設定為使用子磁碟區。對於使用 snapper 基礎架構的根檔案系統,將會自動啟用快照。如需 snapper 的詳細資訊,請參閱第 7 章 「使用 Snapper 進行系統復原和快照管理

專業的高效能設定可能需要高可用儲存系統。為符合高效能叢集案例的要求,SUSE Linux Enterprise Server 在 High Availability Extension 附加產品中加入了 OCFS2 (Oracle Cluster File System 2) 與 Distributed Replicated Block Device (DRBD)。本指南中將不會介紹這些先進的儲存系統。如需詳細資訊,請參閱 http://www.suse.com/doc 上的《SUSE Linux Enterprise High Availability Extension 管理指南》。

請記住,沒有一種檔案系統能夠完美適合所有類型的應用程式,這點非常重要。每一種檔案系統都有自己特殊的優、缺點,必須考慮在內。此外,即使是最頂級的檔案系統,也無法取代合理的備份策略。

本節中使用的資料完整性資料一致性這兩個詞彙,並不表示使用者空間資料 (應用程式寫入其檔案中的資料) 的一致性。這項資料是否一致必須由應用程式本身控制。

除非在本節中特別指明,否則設定或變更分割區以及檔案系統所需進行的一切步驟,都可以使用 YaST 磁碟分割程式 (也強烈建議使用它) 來執行。如需更多資訊,請參閱第 12 章 「進階磁碟設定

1.1 術語

中繼資料

資料結構屬於檔案系統的內部結構。它可確保磁碟上的所有資料都組織有序並可進行存取。基本上,它是關於資料的資料。幾乎每一種檔案系統都有自己的中繼資料結構,這也是檔案系統展現出不同效能特性的原因所在。它對於維護中繼資料的完整極為重要,因為要不是如此,檔案系統上所有資料便無法存取。

inode

檔案系統的資料結構包含檔案的各種資訊,包括大小、連結數量、實際儲存檔案內容之磁碟區塊的指標、建立、修改和存取的日期與時間。

記錄

在檔案系統的內容中,記錄是一種磁碟上的結構,包含了檔案系統用於儲存有關檔案系統之中繼資料變更資訊的一種記錄。記錄可大大降低檔案系統的復原時間,因為有了它就不需要在系統啟動時執行檢查整個檔案系統這一冗長的搜尋程序。而是只重複檢查記錄。

1.2 Btrfs

Btrfs 是 Chris Mason 開發的「寫時複製」(copy-on-write,COW) 檔案系統。它以 Ohad Rodeh 開發的支援 COW 的 B 樹為基礎。Btrfs 是記錄樣式的檔案系統。它不會記錄區塊變更,而是將它們寫入新位置,然後將變更連結起來。直到最後一次寫入時才會提交新變更。

1.2.1 主要功能

Btrfs 提供容錯、修復與簡易管理功能,例如︰

  • 可寫入快照,可讓您在套用更新之後有需要時輕鬆地復原系統,或者可讓您備份檔案。

  • 子磁碟區支援︰Btrfs 會在為其指定的空間池中建立預設子磁碟區。它可讓您建立其他子磁碟區,做為同一個空間池內的不同檔案系統。子磁碟區的數量僅受為池配置的空間限制。

  • Btrfs 指令行工具中提供了線上檢查和修復功能 scrub。它會在假設樹狀結構沒有問題的前提下,驗證資料和中繼資料的完整性。您可以在掛接的檔案系統上定期執行 scrub;在一般操作過程中,該指令會做為背景程序執行。

  • 中繼資料和使用者資料分別使用不同的 RAID 層級。

  • 中繼資料和使用者資料分別使用不同的檢查總數,可提高錯誤偵測效率。

  • 與 Linux 邏輯磁碟區管理員 (LVM) 儲存物件整合。

  • SUSE Linux Enterprise Server 上的 YaST 磁碟分割程式及 AutoYaST 整合。這也包括在多個裝置 (MD) 和裝置對應程式 (DM) 儲存組態上建立 Btrfs 檔案系統。

  • 從現有的 Ext2、Ext3 和 Ext4 檔案系統進行離線移轉。

  • /boot 的開機載入程式支援,如此即允許從 Btrfs 分割區開機。

  • SUSE Linux Enterprise Server 12 SP5 中的 RAID0、RAID1 和 RAID10 組態檔案支援多磁碟區 Btrfs。尚不支援更高的 RAID 層級,但安裝未來發佈的 Service Pack 後可能會支援。

  • 使用 Btrfs 指令設定透明壓縮。

1.2.2 SUSE Linux Enterprise Server 上的根檔案系統設定

依預設,SUSE Linux Enterprise Server 設定為對根分割區使用 Btrfs 和快照。快照可讓您在套用更新之後有需要時輕鬆地復原系統,或者可讓您備份檔案。快照可透過 SUSE Snapper 基礎架構輕鬆管理,如第 7 章 「使用 Snapper 進行系統復原和快照管理中所述。如需 SUSE Snapper 專案的一般資訊,請參閱 OpenSUSE.org (http://snapper.io) 上的 Snapper 入口網站 Wiki。

使用快照復原系統時,必須確保在復原期間,資料 (例如使用者的主目錄、Web 和 FTP 伺服器內容或記錄檔案) 不會遺失或被覆寫。這一點透過使用根檔案系統上的 Btrfs 子磁碟區來實現。子磁碟區可從快照中排除。安裝期間,根據 YaST 建議,SUSE Linux Enterprise Server 上的預設根檔案系統設定包含下列子磁碟區。由於下述原因,它們會從快照中排除。

/boot/grub2/i386-pc/boot/grub2/x86_64-efi/boot/grub2/powerpc-ieee1275/boot/grub2/s390x-emu

不支援對開機載入程式組態進行復原。上面列出的目錄是架構專屬目錄。前兩個目錄位於 AMD64/Intel 64 機器上,後兩個目錄分別位於 IBM POWER 和 IBM Z 上。

/home

如果 /home 不在獨立的分割區上,系統會將其排除以避免在復原時發生資料遺失。

/opt/var/opt

協力廠商產品通常會安裝到 /opt。系統會將該目錄排除以避免在復原時解除安裝這些應用程式。

/srv

包含 Web 和 FTP 伺服器的資料。系統會將該目錄排除以避免在復原時發生資料遺失。

/tmp/var/tmp/var/cache/var/crash

包含暫存檔案和快取的所有目錄均會從快照中排除。

/usr/local

在手動安裝軟體時會用到此目錄。系統會將該目錄排除,以免在復原時解除安裝這些安裝的軟體。

/var/lib/libvirt/images

使用 libvirt 管理之虛擬機器影像的預設位置。已排除,以確定復原期間虛擬機器影像不會取代為舊版本。依預設,此子磁碟區是使用寫入時不複製選項建立的。

/var/lib/mailman/var/spool

系統會排除包含郵件或郵件佇列的目錄以避免復原之後遺失郵件。

/var/lib/named

包含 DNS 伺服器的區域資料。從快照中排除該目錄是為了確保名稱伺服器在復原之後可以運作。

/var/lib/mariadb/var/lib/mysql/var/lib/pgqsl

這些目錄包含資料庫資料。依預設,這些子磁碟區是使用寫入時不複製選項建立的。

/var/log

記錄檔案位置。從快照中排除該目錄是為了在復原損毀系統之後能夠對記錄檔案進行分析。/var/log 預設會設定 NoCOW 屬性,禁止寫入時複製,從而改進了效能並減少了重複的區塊數量。使用 lsattr 進行驗證:

tux > lsattr -l /var/
/var/log      No_COW
警告
警告:復原支援

僅當您未移除任何預先設定的子磁碟區時,SUSE 才支援復原。不過,您可以使用 YaST 磁碟分割程式新增其他子磁碟區。

1.2.2.1 掛接壓縮的 Btrfs 檔案系統

注意
注意:GRUB 2 和 LZO 壓縮根

GRUB 2 無法讀取 lzo 壓縮根。如果要使用壓縮,則需要建立獨立的 /boot 分割區。

從 SLE12 SP1 開始,支援壓縮 Btrfs 檔案系統。使用 compresscompress-force 選項,並選取壓縮演算法 lzozlib (預設)。zlib 壓縮的壓縮率更高,而 lzo 的壓縮速度更快,並且佔用的 CPU 負載更小。

例如︰

root # mount -o compress /dev/sdx /mnt

如果您建立了一個檔案並在其中寫入資料,而壓縮後的結果大於或等於未壓縮時的大小,則將來針對此檔案執行寫入操作後,Btrfs 會一直跳過壓縮。如果您不希望有這種行為,請使用 compress-force 選項。對於包含一些初始未壓縮資料的檔案而言,此選項可能很有用。

請注意,壓縮只會作用於新檔案。如果使用 compresscompress-force 選項掛接檔案系統,則在未壓縮情況下寫入的檔案將不會壓縮。此外,永遠不會壓縮包含 nodatacow 屬性之檔案的內容︰

root # chattr +C FILE
root # mount -o nodatacow  /dev/sdx /mnt

加密與任何壓縮操作無關。在此分割區中寫入一些資料後,請列印詳細資料︰

root # btrfs filesystem show /mnt
btrfs filesystem show /mnt
Label: 'Test-Btrfs'  uuid: 62f0c378-e93e-4aa1-9532-93c6b780749d
        Total devices 1 FS bytes used 3.22MiB
      devid    1 size 2.00GiB used 240.62MiB path /dev/sdb1

如果您希望此設定是永久性的,請在 /etc/fstab 組態檔案中新增 compresscompress-force 選項。例如︰

UUID=1a2b3c4d /home btrfs subvol=@/home,compress 0 0

1.2.2.2 掛接子磁碟區

SUSE Linux Enterprise Server 上,從快照進行系統復原的程序透過先從快照開機來執行。如此,您便可在執行復原之前,在系統執行時檢查快照。透過掛接子磁碟區,可實現從快照開機的目的 (一般不需要如此)。

除了第 1.2.2 節 「SUSE Linux Enterprise Server 上的根檔案系統設定」中列出的子磁碟區之外,系統中還存在一個名為 @ 的磁碟區。這是預設子磁碟區,將掛接為根分割區 (/)。其他子磁碟區將掛接到此磁碟區中。

從快照開機時,使用的不是 @ 子磁碟區,而是快照。快照中包括的檔案系統部分將以唯讀方式掛接為 /。其他子磁碟區將以可寫入方式掛接到快照中。依預設,此狀態為臨時狀態,下次重新開機時將還原先前的組態。若要使它成為永久狀態,請執行 snapper rollback 指令。這將使目前開機的快照成為新的預設子磁碟區,在重新開機之後將會使用它。

1.2.2.3 檢查可用空間

通常可以執行 df 指令來檢查檔案系統的使用量。在 Btrfs 檔案系統上,df 的輸出可能有誤導性,因為除了原始資料配置的空間以外,Btrfs 檔案系統也會配置並使用中繼資料的空間。

因此,即使看上去仍有大量的可用空間,Btrfs 檔案系統也可能會報告空間不足。在這種情況下,為中繼資料配置的所有空間均會用盡。使用以下指令來檢查 Btrfs 檔案系統上已用和可用的空間︰

btrfs filesystem show
tux > sudo btrfs filesystem show /
Label: 'ROOT'  uuid: 52011c5e-5711-42d8-8c50-718a005ec4b3
        Total devices 1 FS bytes used 10.02GiB
        devid    1 size 20.02GiB used 13.78GiB path /dev/sda3

顯示檔案系統的總大小及其使用量。如果最後一行中的這兩個值相符,則表示檔案系統上的全部空間都已分配出去。

btrfs filesystem df
tux > sudo btrfs filesystem df /
Data, single: total=13.00GiB, used=9.61GiB
System, single: total=32.00MiB, used=16.00KiB
Metadata, single: total=768.00MiB, used=421.36MiB
GlobalReserve, single: total=144.00MiB, used=0.00B

顯示檔案系統的已配置 (總計) 空間和已用空間值。如果中繼資料的總計已用空間值大致相等,則表示中繼資料的所有空間均已配置。

btrfs filesystem usage
tux > sudo btrfs filesystem usage /
Overall:
    Device size:                  20.02GiB
    Device allocated:             13.78GiB
    Device unallocated:            6.24GiB
    Device missing:                  0.00B
    Used:                         10.02GiB
    Free (estimated):              9.63GiB      (min: 9.63GiB)
    Data ratio:                       1.00
    Metadata ratio:                   1.00
    Global reserve:              144.00MiB      (used: 0.00B)

             Data     Metadata  System
Id Path      single   single    single   Unallocated
-- --------- -------- --------- -------- -----------
 1 /dev/sda3 13.00GiB 768.00MiB 32.00MiB     6.24GiB
-- --------- -------- --------- -------- -----------
   Total     13.00GiB 768.00MiB 32.00MiB     6.24GiB
   Used       9.61GiB 421.36MiB 16.00KiB

顯示類似前兩個指令合併輸出結果的資料。

如需詳細資訊,請參閱 man 8 btrfs-filesystemhttps://btrfs.wiki.kernel.org/index.php/FAQ

1.2.3 從 Ext 和 ReiserFS 檔案系統移轉至 Btrfs

您可以將資料子磁碟區從現有 Ext (Ext2、Ext3 或 Ext4) 或 ReiserFS 檔案系統移轉至 Btrfs檔案系統。轉換程序會在裝置上以離線狀態進行。檔案系統至少需要使用裝置上 15% 的可用空間。

若要將 檔案系統轉換成 Btrfs,請將檔案系統置於離線狀態,然後輸入︰

sudo btrfs-convert DEVICE

若要將移轉復原為原始 檔案系統,請將檔案系統置於離線狀態,然後輸入︰

sudo btrfs-convert -r DEVICE
警告
警告:不支援根檔案系統轉換

不支援將根檔案系統轉換為 Btrfs。請保留現有檔案系統,或者從頭開始重新安裝整個系統。

重要
重要:可能的資料遺失

復原為原始 檔案系統時,在轉換成 Btrfs 之後新增的所有資料都將遺失。也就是說,只有原始資料會重新轉換為先前的檔案系統。

1.2.4 Btrfs 管理

Btrfs 已整合到 YaST 磁碟分割程式和 AutoYaST 中。安裝期間可以使用它來設定根檔案系統的解決方案。安裝之後,您可以使用 YaST 磁碟分割程式來檢視和管理 Btrfs 磁碟區。

Btrfs 管理工具提供於 btrfsprogs 套件中。如需使用 Btrfs 指令的資訊,請參閱 man 8 btrfsman 8 btrfsckman 8 mkfs.btrfs 指令。如需 Btrfs 功能的資訊,請參閱 http://btrfs.wiki.kernel.org 上的 Btrfs Wiki

1.2.5 Btrfs 子磁碟區配額支援

Btrfs 根檔案系統子磁碟區 /var/log/var/crash/var/cache 可在執行一般操作過程中使用所有可用的磁碟空間,但會導致系統功能出現問題。為避免出現此狀況,SUSE Linux Enterprise Server 現在提供了 Btrfs 子磁碟區配額支援。如果您使用相應的 YaST 建議設定根檔案系統,系統會為根檔案系統進行相應的準備︰所有子磁碟區的配額群組 (qgroup) 均已設定。若要設定根檔案系統中子磁碟區的配額,請執行下列步驟︰

  1. 啟用配額支援︰

    sudo btrfs quota enable /
  2. 取得子磁碟區清單︰

    sudo btrfs subvolume list /

    只能為現有子磁碟區設定配額。

  3. 為上一步中所列的其中一個子磁碟區設定配額。子磁碟區可以透過路徑識別 (例如 /var/tmp),也可以透過 0/子磁碟區 ID 識別 (例如 0/272)。下面的範圍會為 /var/tmp 設定 5 GB 的配額。

    sudo btrfs qgroup limit 5G /var/tmp

    大小單位可以是位元組 (5000000000)、KB (5000000K)、MB (5000M) 或 GB (5G)。以位元組為單位產生的值略有不同,因為 1024 位元組 = 1 KB,1024 KB = 1 MB,等等。

  4. 若要列出現有配額,請使用以下指令。max_rfer 欄以位元組為單位顯示配額。

    sudo btrfs qgroup show -r /
提示
提示:取消配額

如果您要取消現有配額,請將配額大小設定為 none

sudo btrfs qgroup limit none /var/tmp

若要停用某個分割區及其所有子磁碟區的配額支援,請使用 btrfs quota disable

sudo btrfs quota disable /

如需詳細資料,請參閱 man 8 btrfs-qgroupman 8 btrfs-quota。Btrfs Wiki (https://btrfs.wiki.kernel.org/index.php/UseCases) 上的 UseCases 頁面也提供了更多資訊。

1.2.6 Btrfs 傳送/接收

Btrfs 允許產生快照來擷取檔案系統的狀態。例如,在系統變更之前和之後,Snapper 可以使用此功能來建立快照,以便進行復原。但是,將快照與傳送/接收功能結合使用,可以在遠端位置建立和維護檔案系統的副本。例如,此功能可用於執行增量備份。

btrfs 傳送操作可計算同一個子磁碟區中兩個唯讀快照之間的差異,並將這種差異傳送到某個檔案或 STDOUT。Btrfs 接收操作接收傳送指令的結果,並將其套用至快照。

1.2.6.1 必要條件

若要使用 Btrfs 的傳送/接收功能,需要滿足以下要求︰

  • 來源端 (傳送) 和目標端 (接收) 各有一個 trfs 檔案系統。

  • Btrfs 傳送/接收將對快照執行,因此,相應的資料需要位於 Btrfs 子磁碟區中。

  • 來源端中的快照需是唯讀的。

  • SUSE Linux Enterprise 12 SP2 或更高版本。早期版本的 SUSE Linux Enterprise 不支援傳送/接收。

1.2.6.2 增量備份

以下程序說明 Btrfs 傳送/接收操作的用法,其中示範了如何在 /backup/data (目標端) 建立 /data (來源端) 的增量備份。/data 需為子磁碟區。

程序 1.1︰ 啟始設定
  1. 在來源端建立啟始快照 (在本範例中名為 snapshot_0),並確定將其寫入磁碟︰

    sudo btrfs subvolume snapshot -r /data /data/bkp_data
    sync

    新的子磁碟區 /data/bkp_data 隨即建立。該子磁碟區將用做後續增量備份的基礎,應將其保留以供參考。

  2. 將啟始快照傳送至目標端。由於這是啟始的傳送/接收操作,因此需要傳送整個快照︰

    sudo bash -c 'btrfs send /data/bkp_data | btrfs receive /backup'

    在目標端建立新子磁碟區 /backup/bkp_data

完成啟始設定後,可以建立增量備份,並將目前快照與先前快照之間的差異傳送至目標端。程序永遠是相同的︰

  1. 在來源端建立新快照。

  2. 將差異傳送至目標端。

  3. 選擇性︰重新命名和/或清理兩端中的快照。

程序 1.2︰ 執行遞增備份
  1. 在來源端建立新快照,並確定將其寫入磁碟。在以下範例中,快照名為 bkp_data_目前日期

    sudo btrfs subvolume snapshot -r /data /data/bkp_data_$(date +%F)
    sync

    建立新子磁碟區,例如 /data/bkp_data_2016-07-07

  2. 將先前快照與您建立的快照之間的差異傳送至目標端。為此,可以使用選項 -p SNAPSHOT 指定先前的快照。

    sudo bash -c 'btrfs send -p /data/bkp_data /data/bkp_data_2016-07-07 \
    | btrfs receive /backup'

    建立新子磁碟區 /backup/bkp_data_2016-07-07

  3. 因此存在四個快照,每端各有兩個︰

    /data/bkp_data
    /data/bkp_data_2016-07-07
    /backup/bkp_data
    /backup/bkp_data_2016-07-07

    現在,您可以使用三個選項繼續操作︰

    • 保留兩端中的所有快照。如果使用此選項,您可以復原到兩端中的任意快照,同時可以複製所有資料。不需採取任何動作。執行後續增量備份時,請記得使用倒數第二個快照做為傳送操作的父代。

    • 僅保留來源端中的最後一個快照,並保留目標端中的所有快照。此外,允許復原到兩端中的任意快照 - 若要復原到來源端中的特定快照,請針對整個快照,執行從目標端到來源端的傳送/接收操作。在來源端執行刪除/移動操作。

    • 僅保留兩端中的最後一個快照。如此即可在目標端建立一個備份,該備份代表來源端中產生之最後一個快照的狀態。無法復原到其他快照。在來源端和目標端執行刪除/移動操作。

    1. 如果只想保留來源端中的最後一個快照,請執行以下指令︰

      sudo btrfs subvolume delete /data/bkp_data
      sudo mv /data/bkp_data_2016-07-07 /data/bkp_data

      第一條指令刪除先前快照,第二條指令將目前快照重新命名為 /data/bkp_data。如此可確定備份的最後一個快照永遠命名為 /data/bkp_data。因此,您也可以永遠使用此子磁碟區名稱做為增量傳送操作的父代。

    2. 如果只想保留目標端中的最後一個快照,請執行以下指令︰

      sudo btrfs subvolume delete /backup/bkp_data
      sudo mv /backup/bkp_data_2016-07-07 /backup/bkp_data

      第一條指令刪除先前備份快照,第二條指令將目前備份快照重新命名為 /backup/bkp_data。如此可確定最新的備份快照永遠命名為 /backup/bkp_data

提示
提示:傳送至遠端目標端

若要將快照傳送至遠端機器,請使用 SSH︰

btrfs send /data/bkp_data | ssh root@jupiter.example.com 'btrfs receive /backup'

1.2.7 重複資料刪除支援

Btrfs 支援重複資料刪除功能,具體方式為以指向公用儲存位置中之區塊單一副本的邏輯連結取代檔案系統中完全相同的區塊。SUSE Linux Enterprise Server 提供了 duperemove 工具,可掃描檔案系統中有無完全相同的區塊。在 Btrfs 檔案系統上使用時,它也可以用來對這些區塊執行重複資料刪除。系統上預設不會安裝 duperemove。若要使此功能可用,請安裝套件 duperemove

注意
注意:使用案例

SUSE Linux Enterprise Server 12 SP5 開始,duperemove 不再適用於對整個檔案系統執行重複資料刪除。它主要用於對 10 到 50 個為一組的大型檔案執行重複資料刪除操作。這些檔案可能具有許多公用區塊,例如虛擬機器影像。

duperemove 可以針對一系列檔案操作,也可以以遞迴方式掃描某個目錄︰

sudo duperemove OPTIONS file1 file2 file3
sudo duperemove -r OPTIONS directory

它有兩種運作模式︰唯讀和重複資料刪除。以唯讀模式執行時 (即不使用 -d 參數),它會掃描給定檔案或目錄中的重複區塊,並將其列印出來。此模式適用於所有檔案系統。

以重複資料刪除模式執行 duperemove 僅在 Btrfs 檔案系統上受支援。掃描給定檔案或目錄之後,它會提交重複的區塊以進行重複資料刪除。

如需詳細資訊,請參閱 man 8 duperemove

1.3 XFS

1990 年代早期,SGI 開始對原先要當成 IRIX OS 的檔案系統 XFS 進行研發。XFS 隱含的目標是建立高效能 64 位元記錄檔案系統,以滿足嚴格的計算挑戰。XFS 對於操控大型檔案以及執行高階硬體,具備良好功能。XFS 是 SUSE Linux Enterprise Server 中資料分割區的預設檔案系統。

以下是 XFS 主要功能的快速回顧,這些正是為什麼它在高階計算中比其他記錄檔案系統更具競爭力的證明。

1.3.1 使用配置群組取得高延展性

建立 XFS 檔案系統時,檔案系統所屬的區塊裝置,會分割成 8 或更多等同大小的線性區域。這些區域稱為配置群組。每一個配置群組管理自己的 inode 以及可用的磁碟空間。事實上,配置群組可以看成是檔案系統中的檔案系統。因為配置群組彼此各自獨立,所以核心可以同時處理一個以上的配置群組。此功能是 XFS 具備優良延展性的關鍵。當然,獨立配置群組的概念也符合多處理器系統的需求。

1.3.2 透過有效磁碟空間管理取得高效能

可用空間和 inode 是由配置群組裡面的 B+ 樹處理。使用 B+ 樹可大大增強 XFS 的效能和延展性。XFS 使用延遲配置,透過將程序分為兩個部分來處理配置。待處理的交易會儲存在 RAM 並保留適當的空間。XFS 仍然沒有決定資料儲存的確切位置 (在檔案系統區塊中)。此決策會盡量延緩至最後時刻。部分暫時資料永遠不會儲存至磁碟,因為當 XFS 決定了其實際儲存位置時,它早已過時了。採用這種方式,XFS 將增加寫入效能並減少檔案系統片段。因為比起其他檔案系統,延遲配置會導致較少的寫入事件,這樣在寫入過程中若是發生當機就會導致較嚴重的資料遺失。

1.3.3 預先配置來避免檔案系統零散化

寫入資料至檔案系統前,XFS 會保留 (預先配置) 檔案需要的可用空間。因此,可大幅降低檔案系統零散化。因為檔案的內容是分佈在檔案系統中,所以效能就會提高。

注意
注意:新的 XFS 磁碟上格式

從 12 版開始,SUSE Linux Enterprise Server 支援 XFS 檔案系統的新磁碟上格式(v5)。由 YaST 建立的 XFS 檔案系統將使用這種新格式。這種格式的主要優點包括,自動獲取所有 XFS 中繼資料的檢查總數、檔案類型支援以及支援檔案更多數量的存取控制清單。

請注意,下列元件支援這種格式︰低於 3.12 版的 SUSE Linux Enterprise 核心、低於 3.2.0 版的 xfsprogs,以及在 SUSE Linux Enterprise 12 之前發佈的 GRUB 2 版本。如果還需要從不符合上述先決條件的系統中使用該檔案系統,就會出現問題。

如果您需要在較舊 SUSE 系統或其他 Linux 套裝作業系統與 XFS 檔案系統之間實現互通性,請使用 mkfs.xfs 指令手動設定檔案系統的格式。這將建立一個採用舊格式的 XFS檔案系統 (除非您使用 -m crc=1 選項)。

1.4 Ext2

Ext2 的起源要回到 Linux 歷史的古早年代。它的前輩 - 延伸檔案系統,是在 1992 年 4 月落實並整合至 Linux 0.96c。延伸檔案系統已經過多次修改,而到了 Ext2,成為多年來最受歡迎的 Linux 檔案系統。若建立了檔案系統的記錄,因其復原快速,Ext2 就顯得不再那麼重要了。

簡短的 Ext2 功能摘要可以協助瞭解它曾是 (在某些領域依然是) 很多 Linux 使用者最喜愛的 Linux 檔案系統的原因所在。

穩固性和速度

Ext2 經過多次改良和密集測試,已經算是老前輩了。這可能是為什麼人們通常稱它堅如磐石的原因所在。在檔案系統無法完全取消掛接而導致系統中斷後,e2fsck 會開始分析檔案系統資料。中繼資料會進入一致性狀態,而待處理的檔案或資料區塊會寫入指定的目錄 (稱為 lost+found)。與記錄檔案系統相比,e2fsck 會分析整個檔案系統,而不僅僅是中繼資料中最近修改的位元。這比檢查記錄檔案系統的記錄資料,要花費更多時間。按照檔案系統大小,此程序會花半小時或更長的時間。因此,不要為任何需要高可用性的伺服器選擇 Ext2。不過,因為 Ext2 不會維護記錄,而且使用的記憶體更少,因此有時候比其他檔案系統較快速一些。

升級容易

因為 Ext3 是以 Ext2 程式碼為基礎,而且共用它的磁碟上格式和中繼資料格式,所以從 Ext2 升級至 Ext3 十分容易。

1.5 Ext3

Ext3 是由 Stephen Tweedie 設計。不像其他所有下一代檔案系統,Ext3 不依循全新的設計原則。它是以 Ext2 為基礎。這兩個檔案系統彼此關係十分密切。Ext3 檔案系統可以輕易地建立在 Ext2 檔案系統的最上層。Ext2 和 Ext3 最重要的差別是 Ext3 支援記錄處理。簡而言之,Ext3 提供三個主要優點︰

1.5.1 可輕易從 Ext2 升級,並具有很高的可靠性

Ext2 的程式碼為 Ext3 奠定了堅實的基礎,使後者成為受到高度評價的下一代檔案系統。在 Ext3 中完美融合了 Ext2 的可靠性和穩固性特點,同時具備記錄檔案系統的優點。不像轉換至其他記錄檔案系統 (例如 ReiserFS 或 XFS) 那麼冗長乏味 (備份整個檔案系統,然後從頭開始重新建立),轉換至 Ext3 只是數分鐘的事。它還非常安全,因為從頭開始重新建立整個檔案系統,並不能確保萬無一失。考慮一下等候升級至記錄檔案系統的現有 Ext2 系統數量,您可以輕易瞭解為什麼 Ext3 對很多系統管理員都具有一定重要性。從 Ext3 降級至 Ext2 就和升級一樣容易。將 Ext3 檔案系統乾淨地取消掛接,然後重新掛接成 Ext2 檔案系統即可。

1.5.2 可靠性和效能

其他記錄檔案系統,有些會依照僅中繼資料記錄方法。這表示您的中繼資料會始終維持一致的狀態,但這並不能自動保證檔案系統資料本身的一致性。Ext3 的設計是妥善管理中繼資料和資料二者。管理的程度可以自訂。在 data=journal 模式啟用 Ext3,可提供最大的安全性 (資料整合性),不過因為中繼資料和資料都會記錄下來,所以系統速度會減慢。較新的方法是使用 data=ordered 模式,這樣可以確定資料和中繼資料整合性,不過僅限中繼資料使用記錄。檔案系統驅動程式會收集所有對應至某一中繼資料更新的所有資料區塊。更新中繼資料前,這些資料區塊會寫入硬碟。如此一來便可以達到中繼資料和資料的一致性,不會犧牲效能。第三個要使用的選項是 data=writeback,它允許資料在其中繼資料已經提交至記錄後再寫入主要檔案系統。一般認為此選項的效能最好。不過,它可以允許在損毀和復原舊資料後,重新顯示舊資料,同時又維護內部檔案系統整合性。Ext3 使用 data=ordered 選項做為預設值。

1.5.3 將 Ext2 檔案系統轉換成 Ext3

若要將 Ext2 檔案系統轉換為 Ext3,請執行下列步驟︰

  1. root 使用者身分執行 tune2fs -j 來建立 Ext3 記錄。

    這樣會以預設參數建立 Ext3 記錄。

    若要指定記錄的大小以及存放它的裝置,請執行 tune2fs -J,不要同時使用需要的記錄選項 size=device=。如需 tune2fs 程式的詳細資訊,請參閱 tune2fs 線上文件。

  2. root 使用者身分編輯檔案 /etc/fstab,將為對應分割區指定的檔案系統類型從 ext2 變更為 ext3,然後儲存變更。

    這可確保 Ext3 檔案系統會被識別為 Ext3 檔案系統。完成的變更會在下次啟動時生效。

  3. 若要將設定為 Ext3 分割區的根檔案系統開機,請在 initrd 中新增模組 ext3jbd。操作步驟如下︰

    1. 開啟或建立 /etc/dracut.conf.d/10-filesystem.conf 並新增以下行 (請注意前置空格):

      force_drivers+=" ext3 jbd"
    2. 然後執行 dracut -f 指令。

  4. 重新啟動系統。

1.5.4 Ext3 檔案系統 Inode 大小和 Inode 數量

Inode 會儲存檔案及其在檔案系統中之區塊位置的相關資訊。為了在 Inode 中留出空間用於延伸的屬性和 ACL,Ext3 的預設 Inode 大小已從 SLES 10 上的 128 位元組增大到 SLES 11 上的 256 位元組。與 SLES 10 相比,當您在 SLES 11 上建立新的 Ext3 檔案系統時,為相同數量的 Inode 預先配置的預設空間容量會增加一倍,檔案系統中檔案的可用空間則會減少相應的容量。因此,您必須使用較大的分割區才能容納 SLES 10 上 Ext3 檔案系統可能容納的相同 Inode 數和檔案數。

當您建立新的 Ext3 檔案系統時,系統將根據可建立的 Inode 總數預先配置 Inode 表格中的空間。每 Inode 的位元組數比率和檔案系統的大小決定了可以建立的 Inode 數。檔案系統建立後,將會為每一個每 Inode 的位元組數位元組空間建立一個 Inode︰

number of inodes = total size of the file system divided by the number of bytes per inode

Inode 數控制了檔案系統中可容納的檔案數︰一個檔案對應一個 Inode。為了解決 Inode 大小日益增大而可用空間日益減少的問題,每 Inode 的位元組數比率的預設值已從 SLES 10 上的 8192 位元組增大到 SLES 11 上的 16384 位元組。比率增加了一倍,表示可建立的檔案數是 SLES 10 上 Ext3 檔案系統所允許檔案數的一半。

重要
重要:變更現有 Ext3 檔案系統的 Inode 大小。

配置 Inode 之後,您無法變更 Inode 大小或每 Inode 的位元組數比率的設定。如果不使用其他設定重新建立檔案系統,或不延伸檔案系統,則無法新增 Inode。當超出最大 Inode 數時,除非刪除某些檔案,否則無法在檔案系統上建立新的檔案。

建立新的 Ext3 檔案系統時,您可以指定 Inode 大小和每 Inode 的位元組數比率來控制 Inode 空間使用量以及檔案系統上所允許的檔案數。如果不指定區塊大小、Inode 大小和每 Inode 的位元組數比率值,則會套用 /etc/mked2fs.conf 檔案中的預設值。如需詳細資訊,請參閱 mke2fs.conf(5) man 頁面。

使用下列準則︰

  • Inode 大小: 預設 Inode 大小為 256 位元組。以位元組為單位指定一個值,該值是 2 的冪且大於或等於 128 位元組 (最大為區塊大小),例如 128、256、512 等。僅當不在 Ext3 檔案系統上使用延伸的屬性或 ACL 時,方可使用 128 位元組。

  • 每 Inode 的位元組數比率: 每 Inode 的位元組數比率預設值為 16384 位元組。有效的每 Inode 的位元組數比率值必須是 2 的幂且大於或等於 1024 位元組,例如 1024、2048、4096、8192、16384、32768 等。此值不應小於檔案系統的區塊大小,因為區塊大小是用於儲存資料的最小空間區塊。Ext3 檔案系統的預設區塊大小為 4 KB。

    此外,您應該考量需要儲存的檔案數和檔案大小。例如,如果檔案系統將儲存許多小型檔案,您可以指定一個較小的每 Inode 的位元組數比率,這樣可增加 Inode 數。如果檔案系統將儲存超大型檔案,您可以指定一個較大的每 Inode 的位元組數比率,這樣可減少可能的 Inode 數量。

    一般而言,最好準備充足的 Inode,而不是將其耗盡。如果 Inode 太少且檔案也很小,則在實際上為空的磁碟上,您可能已經達到最大檔案數。如果 Inode 太多且檔案也很大,則您可能會被告知存在可用空間但卻無法使用,因為您無法在為 Inode 保留的空間中建立新檔案。

如果不在 Ext3 檔案系統上使用延伸的屬性或 ACL,則可以在建立檔案系統時,分別指定 128 位元組和 8192 位元組做為 Inode 大小和每 Inode 的位元組數比率,藉以還原 SLES 10 的行為。使用下列任一種方法來設定 Inode 大小和每 Inode 的位元組數比率︰

  • 修改所有新 Ext3 檔案的預設設定: 在文字編輯器中,修改 /etc/mke2fs.conf 檔案的 defaults 區段,以將 inode_sizeinode_ratio 設為所需的預設值。這些值會套用至所有新的 Ext3 檔案系統。例如︰

    blocksize = 4096
    inode_size = 128
    inode_ratio = 8192
  • 在指令行中: 當建立新的 Ext3 檔案系統時,將 Inode 大小 (-I 128) 和每 Inode 的位元組數比率 (-i 8192) 傳遞至 mkfs.ext3(8) 指令或 mke2fs(8) 指令。例如,使用下列任一個指令︰

    sudo mkfs.ext3 -b 4096 -i 8092 -I 128 /dev/sda2
    sudo mke2fs -t ext3 -b 4096 -i 8192 -I 128 /dev/sda2
  • 在使用 YaST 進行安裝期間: 在安裝期間建立新的 Ext3 檔案系統時,傳遞 Inode 大小和每 Inode 的位元組數比率值。在 YaST 磁碟分割程式之編輯分割區頁面的格式化選項下,選取格式化分割區Ext3,然後按一下選項。在檔案系統選項對話方塊中,從區塊大小 (位元組)每 Inode 的位元組數Inode 大小下拉式方塊中選取所需的值。

    例如,從區塊大小 (位元組) 下拉式方塊中選取 4096,從每 Inode 的位元組數下拉式方塊中選取 8192,從 Inode 大小下拉式方塊中選取 128,然後按一下確定

    Image
  • 在使用 AutoYaST 進行安裝期間: 在 AutoYaST 設定檔中,可以使用 fs_options 標記將 -i 的 opt_bytes_per_inode 比率值設為 8192,並將 -I 的 opt_inode_density 值設為 128︰

    <partitioning config:type="list">
      <drive>
        <device>/dev/sda</device>
        <initialize config:type="boolean">true</initialize>
        <partitions config:type="list">
          <partition>
            <filesystem config:type="symbol">ext3</filesystem>
            <format config:type="boolean">true</format>
            <fs_options>
              <opt_bytes_per_inode>
                <option_str>-i</option_str>
                <option_value>8192</option_value>
              </opt_bytes_per_inode>
              <opt_inode_density>
                <option_str>-I</option_str>
                <option_value>128</option_value>
              </opt_inode_density>
            </fs_options>
            <mount>/</mount>
            <partition_id config:type="integer">131</partition_id>
            <partition_type>primary</partition_type>
            <size>25G</size>
          </partition>
        </partitions>
      </drive>
    <partitioning>

如需相關資訊,請參閱 http://www.suse.com/support/kb/doc.php?id=7009075 (SLES11 ext3 分割區只能儲存 SLES10 上可儲存之檔案數的 50% [技術資訊文件 7009075])。

1.6 Ext4

2006 年,Ext4 做為 Ext3 的衍生部份面市。它支援最大大小為 1 EiB 的磁碟區、最大大小為 16 TiB 的檔案和數量不受限制的子目錄,消除了 Ext3 的一些儲存局限性。它還引入了許多效能加強功能,例如延遲區塊配置和速度大幅加快的檔案系統檢查例行工作。Ext4 還支援記錄檢查總數,並可提供以奈秒為單位測量的時間戳記,因而更加可靠。Ext4 完全反向相容於 Ext2 和 Ext3,後兩個檔案系統都可以做為 Ext4 掛接。

1.7 ReiserFS

正式說來,2.4 核心版本的重要功能之一,ReiserFS,自其 6.4 版以來早已被 2.2.x SUSE 核心當作核心修補程式使用。ReiserFS 是由 Hans Reiser 與 Namesys 開發團隊所設計。ReiserFS 已經證實是 Ext2 的強大替代方案。其重要優點是磁碟空間使用率佳,磁碟存取效能好,當機復原快,以及使用資料記錄確保可靠性。

重要
重要:SUSE Linux Enterprise Server 12 中支援的 ReiserFS

現有 ReiserFS 分割區在 SUSE Linux Enterprise Server 12 的生命期間均受支援,專用於移轉。從 SUSE Linux Enterprise Server 12 開始,移除了建立新 ReiserFS 檔案系統的支援。

1.8 其他受支援的檔案系統

表格 1.1 「Linux 的檔案系統類型」 彙整 Linux 支援的其他檔案系統。提供其他系統支援主要是確定不同媒體或外來作業系統中,資料交換的相容性。

表 1.1︰ Linux 的檔案系統類型

檔案系統類型

描述

cramfs

壓縮的 ROM 檔案系統︰ROM 的一種壓縮唯讀檔案系統。

hpfs

高效能檔案系統︰IBM OS/2 標準檔案系統。僅在唯讀模式下受支援。

iso9660

CD-ROM 的標準檔案系統。

minix

源自作業系統學術研究專案的檔案系統,是 Linux 使用的第一個檔案系統。現在,它可作為磁片檔案系統來使用。

msdos

fat 最早源自 DOS 的檔案系統,現在各種作業系統均使用之。

nfs

網路檔案系統︰使用這種檔案系統,資料可以儲存在網路中的任何機器上,而且可以經由授權從網路存取。

ntfs

Windows NT 檔案系統;唯讀。

smbfs

有些產品 (例如 Windows) 會使用伺服器訊息區塊,透過網路來存取檔案。

sysv

用於 SCO Unix、Xenix 和 Coherent (個人電腦的商用 Unix 系統)。

ufs

由 BSD、SunOS 和 NextStep 使用。僅支援唯讀模式。

umsdos

MS-DOS 上的 Unix︰套用於標準 fat 檔案系統的最上層,透過建立特殊檔案來實現 Unix 功能 (許可權、連結、長檔案名稱)。

vfat

虛擬 FAT︰fat 檔案系統的副檔名 (支援長檔名)。

1.9 Linux 的大型檔案支援

一開始,Linux 支援的檔案大小最大為 2 GiB (231 位元組)。除非檔案系統隨附大型檔案支援,否則 32 位元系統上的最大檔案大小為 2 GiB。

目前,我們所有的標準檔案系統都具有 LFS (大型檔案支援),理論上可以支援最大為 263 位元組的檔案大小。表格 1.2 「檔案和檔案系統的最大大小 (磁碟格式,4 KiB 區塊大小)」 概述了 Linux 檔案和檔案系統的目前磁碟格式限制。表格中的數字假設檔案系統使用 4 KiB 區塊大小 (此為常用標準)。使用不同的區塊大小時,結果將會不同。使用疏鬆區塊時,表格 1.2 「檔案和檔案系統的最大大小 (磁碟格式,4 KiB 區塊大小)」 中的最大檔案大小可以大於檔案系統的實際大小。

注意
注意:二進位倍數

在本文件中︰1024 位元組 = 1 KiB;1024 KiB = 1 MiB;1024 MiB = 1 GiB;1024 GiB = 1 TiB;1024 TiB = 1 PiB;1024 PiB = 1 EiB (另請參閱《NIST: Prefixes for Binary Multiples》(NIST︰二倍數的字首)

表 1.2︰ 檔案和檔案系統的最大大小 (磁碟格式,4 KiB 區塊大小)

檔案系統 (4 KiB 區塊大小)

檔案系統的最大大小

最大檔案大小

Btrfs

16 EiB

16 EiB

Ext3

16 TiB

2 TiB

Ext4

1 EiB

16 TiB

OCFS2 (High Availability Extension 中可使用之支援叢集的檔案系統)

16 TiB

1 EiB

ReiserFS v3.6

16 TiB

1 EiB

XFS

8 EiB

8 EiB

NFSv2 (用戶端)

8 EiB

2 GiB

NFSv3/NFSv4 (用戶端)

8 EiB

8 EiB

重要
重要:限制

表格 1.2 「檔案和檔案系統的最大大小 (磁碟格式,4 KiB 區塊大小)」會說明磁碟上 (On-Disk) 格式的限制。 Linux 核心會強制其處理的檔案和檔案系統依循自身大小限制。限制如下︰

檔案大小

在 32 位元系統上,檔案不能超過 2 TiB (241 位元組)。

檔案系統大小

檔案系統大小最大可達 273 位元組。不過,此限制仍然跟不上目前可用的硬體。

1.10 Linux 核心儲存限制

表格 1.3 「儲存限制」 總結了與 SUSE Linux Enterprise Server 相關聯之儲存的核心限制。

表 1.3︰ 儲存限制

儲存功能

限制

支援的最大 LUN 數

每個目標 16384 個 LUN。

每個 LUN 的最大路徑數

預設無限制。每個路徑都視為一個一般 LUN。

實際限制由每個目標的 LUN 數和每個 HBA 的目標數 (對於光纖通道 HBA 為 16777215) 指定。

最大 HBA 數

未設限. 實際限制由系統的 PCI 插槽數決定。

每個作業系統使用 device-mapper-multipath 的最大路徑數 (總計)

大約為 1024。實際數量取決於每個多重路徑裝置的裝置號碼字串長度。它是 multipath-tools 中的一個編譯時間變數,如果此限制會導致問題,可以提高其值。

每一區塊裝置的最大大小

最大 8 EiB。

1.11 檔案系統疑難排解

本節說明檔案系統的一些已知問題和可能的解決方案。

1.11.1 Btrfs 錯誤︰裝置上已無空間

使用 Btrfs 檔案系統的根 (/) 分割區停止接受資料。您收到錯誤裝置上已無空間

請參閱下列各節,瞭解有關此問題的可能原因和預防措施的資訊。

1.11.1.1 Snapper 快照使用的磁碟空間

如果 Snapper 是針對 Btrfs 檔案系統執行的,則裝置上已無空間問題通常是由於系統上做為快照儲存的資料過多所致。

您可以從 Snapper 中移除一些快照,不過,快照不會立即刪除,可能不能釋放您需要的空間容量。

若要從 Snapper 中刪除檔案︰

  1. 開啟終端機主控台。

  2. 在指令提示符處,輸入 btrfs filesystem show,例如︰

    tux > sudo btrfs filesystem show
    Label: none uuid: 40123456-cb2c-4678-8b3d-d014d1c78c78
     Total devices 1 FS bytes used 20.00GB
     devid 1 size 20.00GB used 20.00GB path /dev/sda3
  3. 輸入

    sudo btrfs fi balance start MOUNTPOINT -dusage=5

    此指令會嘗試將資料重新放置在空的或接近空的資料區塊中,從而允許收回空間並將空間重新指定給中繼資料。此操作可能需要一些時間 (1 TB 資料可能需要很多小時),不過,在此期間系統仍可以使用。

  4. 列出 Snapper 中的快照。輸入

    sudo snapper -c root list
  5. 從 Snapper 中刪除一或多個快照。輸入

    sudo snapper -c root delete SNAPSHOT_NUMBER(S)

    務必先刪除最舊的快照。快照越舊,它佔用的磁碟空間就越多。

為了避免此問題發生,您可以變更 Snapper 清理演算法。如需詳細資料,請參閱第 7.6.1.2 節 「清理演算法」。控制快照清理的組態值為 EMPTY_*NUMBER_*TIMELINE_*

如果在檔案系統磁碟上將 Snapper 與 Btrfs 結合使用,建議您保留兩倍於標準儲存建議的磁碟空間容量。YaST 磁碟分割程式會自動在 Btrfs 儲存建議中為根檔案系統建議標準磁碟空間的兩倍容量。

1.11.1.2 記錄、當機和快取檔案使用的磁碟空間

如果系統磁碟中填滿了資料,您可以嘗試從 /var/log/var/crash/var/lib/systemd/coredump/var/cache 中刪除檔案。

Btrfs 檔案系統子磁碟區 /var/log/var/crash/var/cache 可在執行一般操作過程中使用所有可用的磁碟空間,但會導致系統功能出現問題。為避免出現此狀況,SUSE Linux Enterprise Server 提供了 Btrfs 子磁碟區配額支援。如需詳細資料,請參閱第 1.2.5 節 「Btrfs 子磁碟區配額支援」

在測試和開發機器上,尤其是當應用程式頻繁當機時,您也可能想查看 /var/lib/systemd/coredump,磁心傾印就儲存在其中。

1.11.2 釋放未使用的檔案系統區塊

在固態硬碟 (SSD) 和簡易佈建的磁碟區中,釋放檔案系統未使用的區塊會很有幫助。對於支援 unmaptrim 操作的所有檔案系統,SUSE Linux Enterprise Server 完全支援在其上使用這些方法。

建議透過執行 /sbin/wiper.sh,來釋放 SUSE Linux Enterprise Server 上支援的檔案系統 (Btrfs 除外)。在執行此程序檔之前,請確定讀取 /usr/share/doc/packages/hdparm/README.wiper。對於大部分桌上型電腦和伺服器系統,每週釋放一次便已足夠。使用 -o discard 掛接檔案系統會降低效能,並可能對 SSD 的壽命造成負面影響,因此不建議使用此選項。

警告
警告:不要在 Btrfs 上使用 wiper.sh

wiper.sh 程序檔會釋放掛接的讀寫 ext4 或 XFS 檔案系統以及掛接/未掛接的唯讀 ext2、ext3、ext4 和 XFS 檔案系統的區塊。請在 Btrfs 檔案系統上使用 wiper.sh,否則可能會損毀資料。應該使用 btrfsmaintenance 套件中的 /usr/share/btrfsmaintenance/btrfs-trim.sh

1.12 其他資訊

請造訪上述每種檔案系統專案維護的專屬首頁,找出的郵件清單資訊、詳盡文件以及常見問題︰

有關 Linux 檔案系統的多部份全面教學課程,請參閱 IBM developerWork 中的《Advanced File System Implementor’s Guide》(進階檔案系統實作指南,網址為 https://www.ibm.com/developerworks/linux/library/l-fs/)。

Wikipedia 專案上的「Comparison of File Systems」(檔案系統比較,網址為 http://en.wikipedia.org/wiki/Comparison_of_file_systems#Comparison) 中提供了對各種檔案系統 (不僅僅是 Linux 檔案系統) 更深入的比較。