磁盤及磁盤陣列系統選擇

磁盤系統
數據庫

許多客戶會問如何選擇磁盤驅動之類的問題,典型問題從是否應該使用SSD到如何以及在哪裏使用RAID等等不一而足。咱們也常常發現,客戶花了錢買錯了系統,不可以實現預期使用目的,要麼花了不少的錢,要麼錢花不到點子上。一位客戶對本身的服務器展開了討論,咱們受到了啓發,因此想借助該博客,闡述一下咱們對於磁盤系統原理知識的觀點。緩存

首先,常常有人問咱們一些關於SSD的問題,問是否須要使用SSD,而實際狀況是,不多有應用程序確實須要使用SSD。SSD不但價格昂貴,也很可貴到合理的使用。SSD確實很好,可是前提是您的負載是否的確很高?您可否合理地加以選擇、配置並對其進行管理?他們並不是您所想的那樣,在不少方面速度很快。此外,很難對其進行校準,這一點無人不知,着實使人頭疼。並且可靠性也不是很好,因此對於儲存關鍵數據,您須要使用RAID1和一個很好的控制器。服務器

當今時代,使用常規磁盤,固然是速度越快越好。若是能夠,咱們會盡量選用15k SAS,其空間限制爲600GB,可是若您須要使用900GB的磁盤,您得采用10k的SAS。此外,若咱們必需要用SATA,咱們就會使用戴爾的Near-Line SAS,其實就是一個SATA磁盤驅動配置了一個SAS接口,經過該接口可實現許多功能包括快速及更好地進行有標記的排序。隨着技術的發展,若是選用3.5」的磁盤,咱們可以使單個磁盤空間最大達到3TB。咱們一般採用上述兩種磁盤,取長補短,例如,數據庫用兩個600GB SAS 15k;其它的程序則採用2個3TB Near-Line SAS (SATA)。(若是是小型系統,則採用2個300GB 和2個1TB)ide

RAID控制器和寫緩存是選擇常規磁盤時要考慮的重中之重。在戴爾系統上,咱們使用不一樣的中型PERC控制器,效果很好;儘管每幾個月要檢查電池學習循環無異於自殺,可是至少沒必要在R x20的服務器上採用最新的PERC 710;找到一個好控制器、對其進行合理配置並關閉磁盤緩存!性能

對於數據庫而言,系統中的許多清理設置是很重要的,由於他們在平衡系統性能及擴展性和維護數據穩定性方面起到重要做用。對於MySQL的這種平衡,咱們瞭如指掌,可是,Postgres也有一些相似的控制器,一般對經過fsync()將日誌寫入磁盤的頻率進行控制。默認狀況下,咱們但願在每次事務處理結束後,對其進行清理,可是若事務率很高的話,這樣作就很消耗資源並且每秒要清理100多個事務,因此得采用控制器 – 對於每一個事務(db log, binlog, XA sync)而言,InnoDB 須要3個fsync() head movements。學習

對於性能要求很高的系統,就必須將數據和日誌分開管理,將小日誌放置到SSD或者某個獨立的磁盤,而數據則存儲到大磁盤。這在Oracle和其它系統中很常見,可是要在MySQL上實現卻很困難,尤爲是若是您須要進行快照式的備份,就是您必須同步快照備份InnoDB日誌和全部的表空間的時候,要想對日誌和數據進行分離式存儲確實很難實現。spa

能夠考慮使用更好的文件系統,可是ext3 有許多問題,性能不是很好,若是用在Amazon中,因爲LVM帶有激活的快照功能、刪除速度很慢並且InnoDB要對每一個節點信息進行鎖定,因此分配速度很慢,性能會更差,問題會更多。若是系統是Centos 6 或者是基於Debian的話,可使用ex4,可是ex4 不能用在Centos 5上。不管如何,對於數據庫系統而言,XFS仍然是一種文件系統選擇方案,由於它速度快、可靠性好、有良好的口碑。日誌

若是要解決硬件問題,咱們一般使用Hot-Swap,由於它便於維護並且能很快地替代掉故障磁盤。出於存儲空間的考慮,咱們一般選用3.5"的磁盤,可是也在考慮使用2.5"的磁盤,由於它的整體存儲空間能夠更大,並且使用靈活,有利於後續擴展。blog

現今,有許多好磁盤、好控制器可供選擇,並且咱們可以對其進行很好的配置、監控和管理,因此,要創建高性能的磁盤系統是垂手可得的。咱們隨時待命,助您一臂之力。排序


(Authored by Steve Mushero / ChinaNetCloud CEO & CTO  本博客英文原文請點此查看

相關文章
相關標籤/搜索