歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> Linux文件系統精通指南(三)

Linux文件系統精通指南(三)

日期:2017/2/25 10:38:09   编辑:Linux教程

  日志文件管理系統(如 ext3 和 ReiserFS)記錄對文件系統元數據:inode、空閒塊分配映射、inode 映射等的更改。當系統崩潰時,可以通過此方式檢查日志以獲得最近修改的元數據,從而確保快速恢復文件系統。此功能對大型系統尤其重要。如果沒有此功能,則在出現硬件故障後,對於 ext2 等文件系統,需要在重新啟動時運行 fsck 工具。對於大型文件系統,此過程可能要花費幾個小時。

  當然,記錄日志需要付出一定的代價,即需要在處理時間和恢復之間尋求一個平衡。對於 ext3,可以選擇日志記錄模式,這些模式允許在尋求上述平衡時做出某些自主決定。journal 模式(記錄所有文件系統數據,包括數據塊和元數據)是最安全但也是最慢的模式。默認模式(稱作 orderd)只記錄元數據,但在寫元數據之前先將數據塊寫入磁盤,從而在快速恢復和快速性能之間取得折衷。最快的模式是 writeback 模式,該模式只記錄元數據。在此模式中,可能會丟失文件數據,但文件系統自身的完整性將得到維護。

  在編寫本文檔期間,Reiser4 剛好已經發布。同 ReiserFS3.6 一樣,ReiserFS4 只記錄元數據。與 ReiserFS3.6 不同的是,它基於新的舞蹈樹算法,此算法似乎比平衡樹算法更快。它還可以擴展到使用無數個 CPU,而且在磁盤寫入時具有內置加密和壓縮功能。

  OCFS 是 Oracle 真正應用程序集群 (RAC)、配置文件和數據庫文件的指定文件管理系統。其他文件(甚至是 Oracle 軟件文件)將在 ext2/ext3 或 ReiserFS 上獲得更好的性能。

  當前,就文件管理系統的選擇來講,共同的見解是,除少數情況外,ext2、ext3 和 ReiserFS 之間的性能基本相當。然而在各種系統的擁護者之間卻爆發了激烈的爭論。ReiserFS 由於能夠處理可變的文件大小,因此更適用於具有許多小文件的系統。當然,如果您正要或計劃在 Linux 上運行 Oracle RAC,則可能需要為 Oracle 數據文件和配置文件安裝 OCFS 或使用自動存儲管理 (ASM)。

  除了最常見的 ext2/ext3 和 ReiserFS 文件系統以外,Linux 還支持其他本地文件系統,包括 IBM 的 jsf 和 SGI 的 xfs。對傳統 UNIX 文件系統的支持包括 SYSV、BSD、Solaris、Next 和 Veritas VxFS。在各個級別支持的其他文件系統包括

  ·Microsoft 的 fat、ntfs、vfat、fat32

  ·IBM 的 hpfs (OS/2)

  ·Apple 的 Macintosh hfs

  ·Amiga 的 affs

  ·Acorn 磁盤文件系統 adfs

  請注意,Oracle 不支持某些文件系統,因此在使用這些文件系統時風險自負。

  Linux 內核 2.6 版中最重要的新特性是訪問控制列表 (ACL)。ACL 允許為一個或多個用戶列表或用戶組授予對單個文件的使用權限。其他新特性包括:

  ·對 CD-ROM 上使用的 ISO 9660 文件系統的增強支持

  ·可以存儲在文件系統中的默認掛載選項

  ·用於加速文件搜索的索引目錄

  ·對 Windows 的邏輯磁盤管理器(動態磁盤)的支持

  ·能夠將 ntfs 掛載為讀/寫,但寫仍處於試驗狀態

  ·對 fat12(舊 DOS 文件系統)的增強支持

  處理分區和文件系統的工具

  要添加一個新磁盤或調整現有磁盤的大小,您需要使用 fdisk 或 cfdisk。盡管 cfdisk 表面上更易於使用,但 fdisk 已被證實最適用於磁盤分區。以下是有關使用 Linux 版本 fdisk 的幾個原則,幫助您了解其可能得到的結果。

  首先,以超級用戶身份用設備名稱調用 fdisk:

  # fdisk /dev/hda

  The number of cylinders for this disk is set to 1940.

  There is nothing wrong with that, but this is larger than 1024,

  and could in certain setups cause problems with:

  1) software that runs at boot time (e.g., old versions of LILO)

  2) booting and partitioning software from other OSs

  (e.g., DOS FDISK, OS/2 FDISK)

  Command (m for help):m

Copyright © Linux教程網 All Rights Reserved