RAID廉價(jià)驅(qū)動(dòng)器的冗余陣列,也可以改善磁盤驅(qū)動(dòng)器性能和容量。Linux支持軟件RAID和硬件RAID。軟件RAID嵌入在Linux內(nèi)核中,比硬件RAID花費(fèi)要少得多。軟件RAID的惟一花費(fèi)就是購買系統(tǒng)中的磁盤,但是軟件RAID不能使硬件RAID的性能增強(qiáng)。硬件RAID使用特殊設(shè)計(jì)的硬件,控制系統(tǒng)的多個(gè)磁盤。硬件RAID可能是昂貴的,但是得到的性能改善與之相匹配。RAID的基本思想是組合多個(gè)小的、廉價(jià)的磁盤驅(qū)動(dòng)器成為一個(gè)磁盤驅(qū)動(dòng)器陣列,提供與大型計(jì)算機(jī)中單個(gè)大驅(qū)動(dòng)器相同的性能級(jí)別。RAID驅(qū)動(dòng)器陣列對(duì)于計(jì)算機(jī)來說像單獨(dú)一個(gè)驅(qū)動(dòng)器,它也可以使用并行處理。磁盤讀寫在RAID磁盤陣列的并行數(shù)據(jù)通路上同時(shí)進(jìn)行。
IBM公司在加利福尼亞大學(xué)發(fā)起一項(xiàng)研究,得到RAID級(jí)別的一個(gè)最初定義?,F(xiàn)在有六個(gè)已定義的RAID級(jí)別,如下所示。
RAID 0:級(jí)別0只是數(shù)據(jù)帶。在級(jí)別0中,數(shù)據(jù)被拆分到多于一個(gè)的驅(qū)動(dòng)器,結(jié)果是更高的數(shù)據(jù)吞吐量。這是RAID的最快和最有效形式。但是,在這個(gè)級(jí)別沒有數(shù)據(jù)鏡像,所以在陣列中任何磁盤的失敗將引起所有數(shù)據(jù)的丟失。
RAID 1:級(jí)別1是完全磁盤鏡像。在獨(dú)立的磁盤上創(chuàng)建和支持?jǐn)?shù)據(jù)兩份拷貝。級(jí)別1陣列與一個(gè)驅(qū)動(dòng)器相比讀速度快、寫速度慢,但是如果任一個(gè)驅(qū)動(dòng)器錯(cuò)誤,不會(huì)有數(shù)據(jù)丟失。這是最昂貴的RAID級(jí)別,因?yàn)槊總€(gè)磁盤需要第二個(gè)磁盤做它的鏡像。這個(gè)級(jí)別提供最好的數(shù)據(jù)安全。
RAID 2:級(jí)別2設(shè)想用于沒有內(nèi)嵌錯(cuò)誤檢測(cè)的驅(qū)動(dòng)器。因?yàn)樗械腟CSI驅(qū)動(dòng)器支持內(nèi)嵌錯(cuò)誤檢測(cè),這個(gè)級(jí)別已過時(shí),基本上沒用了。Linux不使用這個(gè)級(jí)別。
RAID 3:級(jí)別3是一個(gè)有奇偶校驗(yàn)磁盤的磁盤帶。存儲(chǔ)奇偶校驗(yàn)信息到一個(gè)獨(dú)立的驅(qū)動(dòng)器上,允許恢復(fù)任何單個(gè)驅(qū)動(dòng)器上的錯(cuò)誤。Linux不支持這個(gè)級(jí)別。
RAID 4:級(jí)別4是擁有一個(gè)奇偶校驗(yàn)磁盤的大塊帶。奇偶校驗(yàn)信息意味著任何一個(gè)磁盤失敗數(shù)據(jù)可以被恢復(fù)。級(jí)別4陣列的讀性能非常好,寫速度比較慢,因?yàn)槠媾夹r?yàn)數(shù)據(jù)必須每次更新。
RAID 5:級(jí)別5與級(jí)別4相似,但是它將奇偶校驗(yàn)信息分布到多個(gè)驅(qū)動(dòng)器中。這樣提高了磁盤寫速度。它每兆字節(jié)的花費(fèi)與級(jí)別4相同,提高了高水平數(shù)據(jù)保護(hù)下的高速隨機(jī)性能,是使用最廣泛的RAID系統(tǒng)。
軟件RAID是級(jí)別0,它使多個(gè)硬盤看起來像一個(gè)磁盤,但是速度比任何單個(gè)磁盤快得多,因?yàn)轵?qū)動(dòng)器被并行訪問。軟件RAID可以用IDE或SCSI控制器,也可以使用任何磁盤組合。
七、配置內(nèi)核參數(shù)
通過調(diào)整系統(tǒng)內(nèi)核參數(shù)改善性能有時(shí)是很明顯的。如果你決定要這樣做一定要小心,因?yàn)橄到y(tǒng)內(nèi)核的改變可能優(yōu)化系統(tǒng),也可能引起系統(tǒng)崩潰。
注意:不要在一個(gè)正在使用的系統(tǒng)上改變內(nèi)核參數(shù),因?yàn)橛邢到y(tǒng)崩潰的危險(xiǎn)。因此,必須在一個(gè)沒有人使用的系統(tǒng)上進(jìn)行測(cè)試。設(shè)置一個(gè)測(cè)試機(jī)器,對(duì)系統(tǒng)進(jìn)行測(cè)試,確保所有工作正常。
Tweak內(nèi)存性能
在Linux中,可以Tweak系統(tǒng)內(nèi)存。如果遇到內(nèi)存不足錯(cuò)誤或者系統(tǒng)是用于網(wǎng)絡(luò)的,可以調(diào)整內(nèi)存分配設(shè)置。
內(nèi)存一般以每頁4千字節(jié)分配。調(diào)整“空白頁”設(shè)置,可以在性能上有顯著的改善。打開終端窗口,輸入下面的命令查看系統(tǒng)的當(dāng)前設(shè)置:
cat /proc/sys/vm/freepages
這樣將獲得三個(gè)數(shù)字,就像下面這樣:
128 256 384
這些是最小空白頁、空白頁低和空白頁高設(shè)置。這些值在啟動(dòng)時(shí)決定。最小設(shè)置是系統(tǒng)中內(nèi)存數(shù)量的兩倍;低設(shè)置是內(nèi)存數(shù)量的4倍;高設(shè)置是系統(tǒng)內(nèi)存的6倍;自由內(nèi)存不能小于最小空白頁數(shù)。
如果空白頁數(shù)目低于空白頁高設(shè)置,則交換(使用磁盤空間分配到交換文件)開始。當(dāng)達(dá)到空白頁低設(shè)置時(shí),密集型交換開始。
增加空白頁高設(shè)置有時(shí)可以改善整體性能,比如試試增加高設(shè)置到1MB,用echo命令可以調(diào)整這個(gè)設(shè)置。使用樣本設(shè)置,輸入這個(gè)命令增加空白頁高設(shè)置到1MB:
echo "128 256 1024" > /proc/sys/vm/freepages
注意:當(dāng)系統(tǒng)還沒有被使用時(shí)測(cè)試這個(gè)設(shè)置,以確保在做任何調(diào)整時(shí)監(jiān)視系統(tǒng)性能。這樣可以確定哪個(gè)設(shè)置對(duì)系統(tǒng)是最好的。