Linux中國

戴文的Linux內核專題:17 配置內核 (13)

你好!這是Linux內核系列的下一篇,我們仍將配置ATA設備並將進入邏輯卷/存儲。

"ATA SFF support (for legacy IDE and PATA)"應該啟用,因為這擴展了ATA的能力。

為了支持Pacific Digital的ADMA控制器,應該啟用"Pacific Digital ADMA support"。

"Pacific Digital Serial ATA QStor support"(串口ATA支持)在下一個驅動中支持

Promise的SATA SX4設備在內核中支持(Promise SATA SX4 support (Experimental))。

可以BMDMA的SFF ATA控制器需要這個驅動(ATA BMDMA support)。BMDMA代表匯流排主控直接內存訪問(BMDMA stands for Bus-Master Direct Memory Access)。

下面,這個驅動對不同的SATA和PATA控制器提供支持Intel ESB, ICH, PIIX3, PIIX4 PATA/SATA support)。

這裡有其他的特定設備驅動(Calxeda Highbank SATA support)、(Marvell SATA support)、(NVIDIA SATA support)、(Promise SATA TX2/TX4 support)、(Silicon Image SATA support)還有(SiS 964/965/966/180 SATA support)、(ServerWorks Frodo / Apple K2 SATA support)、(ULi Electronics SATA support)、(VIA SATA support)。。。由於有很多SATA/PATA控制器設計不同,一個通用驅動無法使用在這些設備上。

接下來,這個驅動支持PC卡上的ATA設備除非有特定設備管理硬體的驅動(PCMCIA PATA support)。

在這之後,有一個通用PATA驅動用於管理其他不被先前驅動支持的PATA設備 (Generic platform device PATA support)。

PATA設備的電源消耗由這個ACPI驅動管理(ACPI firmware driver for PATA)。強烈建議對系統上所有的硬體啟用ACPI。雖然這會增加內核的大小,但是ACPI會增強性能。

"Generic ATA support"(通用ATA支持)由這個驅動提供。

古老的ISA、VLB和PCI匯流排PATA設備可以通過這個驅動支持(Legacy ISA PATA support (Experimental))。這個古老支持使用新的ATA層。

這組特性包含了許多對於RAID和LVM能力,可見下面的特性選項(Multiple devices driver support (RAID and LVM))。

有趣的事實:內核是由C和彙編寫成的。

這個驅動允許RAID和LVM組合在一起。這用於使幾個LVM卷使用RAID。分區被組合成邏輯塊設備,然後形成RAID設備。

許多用戶會希望RAID可以在啟動時偵測到(Autodetect RAID arrays during kernel boot)。如果你沒有RAID,那麼不要啟用這個特性。不然,啟動處理會比原先希望的慢上幾秒。

注意:當配置Linux內核時,最好按照"use it or lose it"(非用即失)的原則。那就是,如果你不用它,那就禁用這個特性。

硬碟分區可以通過這個驅動加在一起(Linear (append) mode)。

下面的驅動加入RAID-0支持帶邏輯塊設備中(RAID-0 (striping) mode)。接著還有 (RAID-1 (mirroring) mode)、(RAID-10 (mirrored striping) mode)和(RAID-4/RAID-5/RAID-6 mode)。

MD框架需要多路徑支持(Multipath I/O support)。MD框架就是多設備(Multi Device)框架,它將多台設備作為一個單元管理。舉例來說,將許多存儲單元的分區組合起來可以使多個設備就像一個那樣。多路徑支持是用於使用處理虛擬的有多個地址的"單個設備"。因為單存儲單元物理上有多件物理設備,所以它有多個硬體地址。

使用這個調試驅動,可以測試更大的多磁碟存儲單元的bug(Faulty test module for MD)。

"Device mapper support"是一個用來映射邏輯扇區的卷管理器。LVM使用扇區映射。

如果啟用的話,設備映射器可以有調試特性(Device mapper debugging support)。

如果需要,邏輯設備可以設置加密數據(Crypt target support)。這個特性允許用戶將來加密那些存儲設備。

只有啟用了這個特性,才能使用邏輯存儲單元的快照功能(Snapshot target)。

"Thin provisioning"(自動精簡配置)允許邏輯卷設置成比組成邏輯卷的物理設備擁有更大的存儲容量(Thin provisioning target)。這個特性同樣為這類設備提供了快照功能。這額外的虛擬數據空間無法馬上使用。這個特性的意義是允許用戶在將來增加物理存儲單元並且節約了配置邏輯塊設備的時間。

用這個可以調試"Thin provisioning" (Keep stack trace of thin provisioning block lock holders)。

塊設備性能的提升可以通過移動更多的常用數據到更快的存儲單元中(Cache target (EXPERIMENTAL))。

卷管理器可以製成鏡像邏輯卷(Mirror target)。

設備映射器(Device-mapper (dm))單元支持映射RAID1、RAID10、 RAID4、RAID5和RAID6(RAID 1/4/5/6/10 target)。

設備映射器(device-mapper)日誌可以鏡像到用戶空間(Mirror userspace logging)。

"Zero target"是一個忽視寫入並返回讀取為零的設備。

接下來,卷管理器應該對硬體有多路徑支持(Multipath target)。

這個驅動會發現最有效的到存儲設備的路徑來讀取和寫入(I/O Path Selector based on the number of in-flight I/Os)。

下面的一個驅動和以上相同,但是會尋找最快路徑(I/O Path Selector based on the service time)。

如果一個邏輯卷上的物理存儲單元正忙,如果可能的話,這個特性會允許讀取/寫入到另一個物理卷上。

udev可以生成設備管理器操作事件DM uevents)。udev是/dev的設備管理器。

為了測試軟體/硬體對偶爾失敗的輸入/輸出任務的邏輯設備如何反映,啟用這個調試特性(Flakey target)。

邏輯卷可以創建為一個用於驗證另一個邏輯分區數據的只讀存儲單元(Verity target support)。

注意:如果你喜歡我的文章,並且如果你有Linux.org的賬號,請在我的文章上點擊"Like"。同樣,再次分享這篇文章在Google、Twitter和/或者Facebook上。

ConfigFS和TCM存儲引擎可以通過這個設置啟用(Generic Target Core Mod (TCM) and ConfigFS Infrastructure)。ConfigFS是一個基於內存的文件系統。

有趣的事實:Linux內核沒有"main()"函數。在程序中,main()被依賴於kernel的libc調用。內核沒有main()函數是因為libc將無法啟動內核。如果內核的確有main()函數,那麼我們就有一個"雞或者蛋"的問題-誰先來?另外,內核的入口點用彙編寫成,這並不使用main()函數。

下面,"TCM/IBLOCK Subsystem Plugin for Linux/BLOCK"可以禁用或者啟用。

接著"TCM/FILEIO Subsystem Plugin for Linux/VFS"可以啟用/禁用。

再次,還有兩個TCM特性 - (TCM/pSCSI Subsystem Plugin for Linux/SCSI) 和 (TCM Virtual SAS target and Linux/SCSI LDD fabric loopback module)

對於ConfigFS的"Linux-iSCSI.org iSCSI Target Mode Stack"在這個驅動中支持(Linux-iSCSI.org iSCSI Target Mode Stack)。

下一步,可以啟用/禁用"FireWire SBP-2 fabric module"。這允許一台計算機作為一個硬碟連接到另一台計算機上。

在這之後,我們可以配置"Fusion Message Passing Technology (MPT) device support"。

在那個標題下的第一個選項是一個用於並口適配器的SCSI支持的驅動(Fusion MPT ScsiHost drivers for SPI)。

SCSI同樣也可以支持光纖通道主機適配器(Fusion MPT ScsiHost drivers for FC)和/或SAS適配器(Fusion MPT ScsiHost drivers for SAS)。

下一步,用戶可以設置"Maximum number of scatter gather entries"。一個低的數值可以減少每個控制器實例的內存消耗。

下一個驅動提供了ioctl系統調用來管理MPT適配器(Fusion MPT misc device (ioctl) driver)。

光纖通道埠可以用這個驅動支持IP LAN的流量(Fusion MPT LAN driver)。

我可以讀到你們的想法-你們會想到對於這個還有另外一篇文章。是的,你們想對了。請繼續關注這個系列的下一篇文章。

如果你喜歡這個系列,請在Linux.org和/或者Google+上發表評論告訴我你有多喜歡這個系列,並且告訴我你想在今後的文章中希望看到的方面。或者給我發郵件DevynCJohnson@Gmail.com)。謝謝!

想要更多地了解作者,請檢查下面的簽名欄中的鏈接(譯註:原文所在論壇有)

如果你已經完整地閱讀了這篇文章,那麼你應該已經看到單詞"Facebook"三次了。如果沒有,你沒有閱讀全部文章。

單詞"Facebook"在這段中,上一段,和一個註解中。我打賭你閱讀了上面的段落而沒有通讀文章來試圖尋找第三個單詞實例。

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

譯者: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中國