Linux中國

戴文的Linux內核專題:23 配置內核 (19)

歡迎進入Linux內核系列文章的下一篇!我們正在接近配置過程的終點。在這篇文章中,我們將會討論固件驅動和文件系統驅動。

這個分類中的第一個驅動是尋找啟動盤(BIOS Enhanced Disk Drive calls determine boot disk)。有時,Linux不會知道哪個盤是啟動盤。這個驅動允許內核詢問BIOS。Linux接著在sysfs上存儲信息。Linux需要知道這些來設置bootloader。

即使BIOS EDD服務被編譯進了內核,這個選項可以設置這些服務不激活(Sets default behavior for EDD detection to off )。EDD代表的是"Enhanced Disk Drive"(增強磁碟驅動器)。

當使用kexec載入不同的內核時,性能可以通過固件提供的內存映射提升(Add firmware-provided memory map to sysfs)。

"Dell Systems Management Base Driver"通過sysfs介面提供了Linux內核對於Dell硬體的更好的控制。

啟用這個驅動可以通過/sys/class/dmi/id/訪問硬體的信息(Export DMI identification via sysfs to userspace)。DMI代表的是Desktop Management Interface(桌面管理介面)。DMI管理硬體的組件和訪問硬體的數據。BIOS中數據的介面和硬體由SMBIOS(System Management BIOS)規範調節。

從DMI得到的原始數據表可以通過這個驅動訪問(DMI table support in sysfs)。

為了從iSCSI驅動器中啟動,啟用這個驅動(DMI table support in sysfs)。

最後的驅動是一組"Google Firmware Drivers"。這些驅動用於Google特定的硬體。除非你為Google工作並且需要在硬體上使用Linux或者你在為一台從Google偷來的電腦編譯內核,否則不要啟用它。

下面,我們可以配置內核的文件系統支持。

"Second extended fs support"驅動用於EXT2文件系統。http://www.linux.org/threads/ext-file-system.4365/

"Ext2 extended attributes"提供了原生文件系統不支持的額外的元數據的使用。

"Ext2 POSIX Access Control Lists"增加了額外的非原生的許可權模型。

"Ext2 Security Labels"增強了由SELinux提供的安全性。

啟用"Ext2 execute in place support"允許可執行文件在當前的位置執行而不必在頁緩存中執行。

這個驅動提供EXT3文件系統(Ext3 journaling file system support)。 http://www.linux.org/threads/ext-file-system.4365/

"Default to 'data=ordered' in ext3"驅動設置數據的排序模式為"Ordered"。這種處理方式為日誌和寫入工作。數據排序在這篇文章中解釋 - http://www.linux.org/threads/journal-file-system.4136/

"Ext3 extended attributes"提供了原生文件系統不支持的額外的元數據使用。再說一次,接下來的EXT3的驅動/特性與EXT2相同 - "Ext3 POSIX Access Control Lists" 和 "Ext3 Security Labels"。同樣,對接下來的EXT4也是相同的 - "Ext4 POSIX Access Control Lists"、"Ext4 Security Labels" 和 "EXT4 debugging support"。

EXT3和EXT4支持日誌塊設備調試(JBD debugging support),(JBD2 debugging support)。

下面的驅動提供Reiser文件系統支持(Reiserfs support)。 http://www.linux.org/threads/reiser-file-system-reiser3-and-reiser4.4403/

Reiser文件系統也有調試(Enable reiserfs debug mode)。

內核可以存儲ReiserFS統計在/proc/fs/reiserfs (Stats in /proc/fs/reiserfs)。

下面的Reiser驅動/特性與EXT2/3/4相同 - ReiserFS extended attributes", "ReiserFS POSIX Access Control Lists" 和 "ReiserFS Security Labels".

Linux內核同樣支持JFS,同時也包含了不同的特性 "JFS filesystem support"、 "JFS POSIX Access Control Lists"、"JFS Security Labels"、"JFS debugging" 和 "JFS statistics". http://www.linux.org/threads/journaled-file-system-jfs.4404/

再說一次,XFS可以通過啟用這些驅動/特性支持 - "XFS filesystem support"、"XFS Quota support"、"XFS POSIX ACL support"、"XFS Realtime subvolume support" 和 "XFS Debugging support"。 http://www.linux.org/threads/xfs-file-system.4364/

"Global FileSystem 2"可以被內核支持(GFS2 file system support)。這個文件系統用於在集群中共享存儲。

"GFS2 DLM locking"驅動提供了GFS2的分散式鎖管理(DLM)

"Oracle Cluster FileSystem 2"被內核支持(OCFS2 file system support)。這個文件系統用於在集群中共享存儲。

"O2CB Kernelspace Clustering"提供了OCFS2文件系統的不同服務。

"OCFS2 Userspace Clustering"允許集群棧在用戶空間執行。

"OCFS2 statistics"驅動允許用戶得到關於文件系統的統計信息。

像大多樹Linux內核一樣,OCFS2提供日誌(OCFS2 logging support)。這可能被用來監視錯誤或者調試目的。

"OCFS2 expensive checks"驅動以性能為代價提供了存儲一致性檢測。一些Linux用戶建議只有在調試目的在才啟用它。

Linux內核同樣包含了新的B樹文件系統;這個驅動提供了磁碟格式化程序(Btrfs filesystem Unstable disk format)。BTRFS仍在開發中並被計劃某天變的比EXT4更流行。http://www.linux.org/threads/b-tree-file-system-btrfs.4430/

"Btrfs POSIX Access Control Lists"提供了額外的原生BTRFS沒有提供的許可權模型。

下面,是一個BTRFS檢測工具(Btrfs with integrity check tool compiled in (DANGEROUS))。由於BTRFS是一個最新在開發中的文件系統,大多數相關軟體還並不穩定。

Linux系統也支持NIL-FileSystem(NILFS2 file system support)。http://www.linux.org/threads/new-implementation-of-a-log-structured-file-system-nilfs.4547/

為了支持一些文件系統使用到的flock()系統調用,啟用這個驅動(Enable POSIX file locking API)。禁用這個去的那個會減少11KB的內核大小。這個驅動提供了文件鎖定。文件鎖定是一個允許進程在某刻讀取文件的過程。這通常用於網路文件系統,就像NFS。

"Dnotify support"驅動是一個古老的文件系統通知系統,它提醒文件系統上的事件的用戶空間。它和它的繼承者被用於監控應用的文件系統。某個應用告訴守護進程需要監視哪些事件。不然,每個用戶空間應用需要它們自己完成這個任務。

記住,Dnotify是一個古老的系統,那麼什麼是新的通知系統?它就是由這個驅動提供的Inotify (Inotify support for userspace)。

一個可選的通知系統是fanotify (Filesystem wide access notification)。Fanotify與Inotify一樣,但是fanotify比Inotify傳遞更多的信息到用戶空間中。

用這個驅動Fanotify可以檢測許可權(fanotify permissions checking)。

對於用戶想要劃分存儲空間的系統需要 "Quota support"。 http://www.linux.org/threads/atomic-disk-quotas.4277/

接下來的驅動允許通過netlink報告磁碟配額警告和信息(Report quota messages through netlink interface)。netlink是一個用於與內核通信的用戶空間的套接字介面。

配額信息同樣可以發送到控制台(Print quota warnings to console (OBSOLETE))。

這個驅動允許配額系統執行額外的完整性檢查(Additional quota sanity checks)。在計算機技術中,完整性檢查是檢測由於不良編程導致的錯誤。文件和輸出都被檢查來確保數據正確而不是以奇怪的方式構造。

一些舊的系統使用老的配額系統但希望在升級新內核時保留舊的配額系統。可以通過啟用這個來容易解決(Old quota format support)。許多讀者可能想要知道為什麼一些人想要保留舊的配額系統而不是更新新的。好的,想想一下你是一家很大公司的IT部門的經理,公司有許多伺服器運行著非常重要的任務。當你可以繼續使用現在工作的很好的系統,你想要創建並配置一個新的(也可能很大)的文件系統么? 通常上,對於計算機,堅持下面的原則 - 如果它沒有壞或者不會導致安全問題,不要去修復它。

用這個驅動,新的配額系統支持32位UID和GID(Quota format vfsv0 and vfsv1 support)。

為了自動掛載遠程存儲單元,啟用這個驅動(Kernel automounter version 4 support)。

這個驅動支持FUSE文件系統(FUSE (Filesystem in Userspace) support)。用戶空間文件系統(FUSE)支持任何用戶創建他們自己的文件系統並在用戶空間內使用。

一個特殊的FUSE擴展可以用於在用戶空間使用字元設備Character device in Userspace support)。

下一篇文章中,我們會繼續討論緩存,光碟文件系統,Linux上的FAT32和其他有趣的文件系統話題。謝謝!

via: http://www.linux.org/threads/the-linux-kernel-configuring-the-kernel-part-19.4929/

譯者:geekpi 校對:wxy

本文由 LCTT 原創翻譯,Linux中國 榮譽推出


本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive

對這篇文章感覺如何?

太棒了
0
不錯
0
愛死了
0
不太好
0
感覺很糟
0
雨落清風。心向陽

    You may also like

    Leave a reply

    您的郵箱地址不會被公開。 必填項已用 * 標註

    此站點使用Akismet來減少垃圾評論。了解我們如何處理您的評論數據

    More in:Linux中國