drbd性能優化總結

原文地址:http://blog.sina.com.cn/s/blog_499740cb0100igsq.html

很多朋友問我DRBD性能怎麼優化,我這邊根據自己的使用經驗總結一下:

1. 網絡環境很重要,能使用千兆網卡的就不要使用百兆網卡,當前主流機器都是千兆網卡,交換機也考慮在裏面,同時DRBD的數據同步使用的網絡和提供服務的網絡分開,儘量獨立出來,例如:在兩塊網卡上直接連接一個網線,用過DRBD的數據同步。

 

2. 用作DRBD的分區的磁盤性能要儘量的好,例如可以考慮使用不少於6塊15K的SAS盤做RAID10或RAID0(做好有BBU),來提供IO性能。在網絡環境很好情況下DRBD分區可能會因爲IO的寫性能而成爲瓶頸。

 

3. 儘量把系統更新成最新的kernel以及使用64bit的系統,同時使用最新版本的DRBD,之前在Florian's的blog上看到kernel2.6.13以及準備把DRBD作爲linux kernel的主幹分支。

 

4. 注意syncer rate參數設置。這個依賴網絡速度和磁盤的寫入速度。官方給一個值:
千兆網絡同步速度大約在125MB/S, 百兆網絡同步速度大約在11MB/S,但我測試同步速度最大能到218MB/S. 這個同步速度和磁盤寫入速度(hdparm -Tt /dev/drbd0測試結果)中的最小值 * 30%後的值就是應該設置的值。例如:同步速度125MB/S,磁盤寫入速度110MB/S,那麼這個應該設置不能超過33MB/S
原因是,DRBD同步有個不同的進程用來做i數據的傳輸,一個replication進程用來同步一些block的修改,這個值不依賴這個值的設置,是在Synchronization進程使用的帶寬之外的帶寬來傳輸。一個Synchronization進程用來同步處理,受限於這個值的設置,所以這值應該多考慮好,如果把設置的太大,把所有的帶寬佔滿了,會導致replication 進程沒有可用帶寬使用,導致IO停止出現同步不正常。

 

 5. 注意al-extents參數設置。al-extents控制着一次同時向磁盤寫入多少個4M的block.
加大這個參數的值有幾個好處:
(1).可以減少更新元數據到drbd設備頻率。
(2). 降低同步數據時對IO流的中斷數量。
(3).提高修改DRBD 設備相應速度。
但存在一個風險,當primary node出現crash時,所有活動的數據(al-extends的值 x 4M block)需要在同步連接建立後重新同步。即存primary node出現crash時,secondary node 出現outdate的情況。我不建議在HA部署上調整這個參數,在某些CASE下可以用來提高性能。

 

總的來說,就這五個地方需要特別注意,調整其他參數都影響較小。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章