2010年11月8日

Linux對於SATA硬碟及AHCI的支援

根據kernel.org的資料顯示,Linux到2.6.19以後才開始支援AHCI,那像CentOS 5是採用 2.6.18舊版本的該怎麼辦?難道新買的SATA硬碟只能以IDE模式使用,這樣I/O的效能差了一大截啊!

後來我調查了一下CentOS 5的資料,其實CentOS一直有把新版核心的功能 backport進來,也就是說CentOS有將新版核心的功能納入及bug修正,所以目前的核心確實有支援AHCI。要特別注意的就是主機版BIOS對於SATA功能的設定,要確實選為AHCI模式,這樣才能正確的驅動SATA裝置。

不過我也有遇過例外狀況,最近一個朋友公司買了台Lenovo的PC,要拿來當NAS使用,但裝好之後I/O的速度非常的慢,Linux抓到硬碟代號是hda,利用hdparm測試buffer的速度才3.9M/sec,真是慢到可以,另外在BIOS也找不到SATA相關的選項,也就是我想調整也沒辦法。若您有類似的狀況,提供您一個方法,這個方法就是在安裝Linux系統時,強制讓Linux不偵測IDE裝置,共有兩步驟,作法如下:

1.在Linux的安裝畫面時,下達 Linux hda=noprobe hdb=noprobe hdc=noprobe hdd=noprobe

2.在GRUB安裝畫面,有個啟動參數一樣要加上 hda=noprobe hdb=noprobe hdc=noprobe hdd=noprobe



設定好之後,依往常安裝您的Linux系統直到第一次開機完成,請用df指令確認一下磁碟代號,看是不是sdx,若有請在用hdparm -tT /dev/sda去測試速度,我這次測試的結果是93M/sec,差了近24倍的I/O速度。

沒有留言:

張貼留言