国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 操作系統 > 正文

DRBD配置參數

2024-06-28 13:23:56
字體:
來源:轉載
供稿:網友
DRBD配置參數

用戶手冊:http://www.drbd.org/users-guide語法及詳解參數:http://www.drbd.org/users-guide-emb/re-drbdconf.html官方示例:http://www.drbd.org/users-guide

drbd及其配置文件中的相關名詞:

failover:失效轉移。通俗地說,即當A無法為客戶服務時,系統能夠自動地切換,使B能夠及時地頂上繼續為客戶提供服務,且客戶感覺不到這個為他提供服務的對象已經更換。(注:來自百度百科。)diskless mode:無盤模式。在此模式下,節點放棄自己的底層設備,轉而通過網絡到遠程節點上去讀寫數據。參考:http://www.drbd.org/users-guide/s-handling-disk-errors.htmlpeer:對等端,在兩個NameNode的環境下,指另外一個NameNodestonith:Shoot The Other Node In The Head的簡寫,爆其它節點的頭!它是避免split brain的一個措施,若發生split brain,則一個node會發出指令讓另一個node關機,避免兩臺node都浮動成PRimary。但這個功能本身也有一定的風險。fence-peer:drbd有一個機制,當復制連接被中斷時它將隔離對等節點。drbd為這個機制定義一個接口,而與heartbeat綁定的drbd-peer-outdater helper就是個通過此接口來實現此機制的工具。但是我們可以很輕松地實施我們自己的peer fencing helper程序,而實施我們自己的peer fencing程序的前提條件之一就是,必須在handlers配置段中定義fence-peer處理器!參考:http://www.drbd.org/users-guide/s-fence-peer.htmlStandAlong mode:即節點無法與其它節點進行通信的狀態。參考:http://www.drbd.org/users-guide/ch-admin.html#s-connection-stateswrite barriers:日志文件系統中的一種保護機制,用來保持數據的一致性。日志文件系統在磁盤的專門區域維護著一個日志。當文件系統發覺到元數據的變化時,它將首先把這些變化寫入日志,而不是立刻去更改元數據。當這些變化信息(事件信息)寫入日志后,文件系統將向日志中添加一個“提交報告”來表明文元數據的更改是合法的。只有當“提交報告”寫入日志后,內核才會真正對元數據進行寫操作。在寫“提交報告”以前,必須完全保證事件信息已經寫入了日志。僅僅如此還不夠,與此同時驅動器還維護了一個巨大的內部caches,而且為了更好的性能表現,它會重新對操作進行排序,所以在寫“提交報告”之前,文件系統必須明確地指導磁盤來獲取所有的日志數據,并存入介質。如果“提交報告”先于事件信息寫入日志,日志將被損壞!內核的I/O子系統通過使用barriers來實現上述功能。大體來說,一個barrier生成后,它將禁止其后的所有數據塊的寫入,直到該barrier之前的數據塊寫入被提交到介質。注意:ext3和ext4文件系統默認不使用barriers,管理員必須明確啟用它們才能使用該功能。而且,并非所有文件系統都支持barrier。參考:http://lwn.net/Articles/283161meta data:DRBD在專門的區域存儲關于數據的各種各樣的信息,這些信息就是metadata,它包括如下信息:1、DRBD設備的空間大小2、Generation Identifier(GI)3、Activity Log(AL)4、quick-sync bitmap這些metadata有兩種存儲方式:internallyexternally。存儲方式是在每個resource配置段中指定的。這兩種存儲方式各有優缺點。Internal metadata:一個resource被配置成使用internal metadata,意味著DRBD把它的metadata,和實際生產數據存儲于相同的底層物理設備中。該存儲方式是在設備的最后位置留出一個區域來存儲metadata。該存儲方式的優點是:因為metadata是和實際生產數據緊密聯系在一起的,如果發生了硬盤損壞,不需要管理員做額外的工作,因為metadata會隨實際生產數據的丟失而丟失,同樣會隨著生產數據的恢復而恢復。它的缺點在于:如果底層設備只有一塊物理硬盤(和RAID相反),這種存儲方式對寫操作的吞吐量有負面影響,因為應用程序的寫操作請求會觸發DRBD的metadata的更新。如果metadata存儲于硬盤的同一塊盤片上,那么,寫操作會導致額外的兩次磁頭讀寫移動。要注意的是:如果你打算在已有數據的底層設備中使用internal metadata,需要計算并留出DRBD的metadata所占的空間大小,并采取一些特殊的操作,否則很有可能會破壞掉原有的數據!至于需要什么樣的特殊操作,可以參考本條目末尾的鏈接文章。我要說的是,最好不要這樣做!external metadata:該存儲方式比較簡單,就是把metadata存儲于一個和生產數據分開的專門的設備塊中。它的優點:對某些寫操作,提供某些潛在的改進。缺點:因為metadata和生產數據是分開的,如果發生了硬盤損壞,在更換硬盤后,需要管理員進行人工干預,從其它存活的節點向剛替換的硬盤進行完全的數據同步。什么時候應該使用exteranl的存儲方式:設備中已經存有數據,而該設備不支持擴展(如LVM),也不支持收縮(shrinking)。如果計算DRBD的元數據所需要的確切空間:

注:圖片來自drbd官網。

Cs是磁盤的扇區數,Ms也是使用扇區數來描述的,要轉化成MB,除以2048即可。扇區數可以使用公式echo $(( $(blockdev --getsize64 device) / 512))來計算。參考:http://www.drbd.org/users-guide-emb/ch-internals.html,以及http://www.wenzizone.cn/?p=280

drbd配置文件:

drbd安裝完成后,會自動創建一個配置文件/etc/drbd.conf,內容為空,但你可以找到一個模板文件/usr/share/doc/drbd.../drbd.conf,該模板文件只有兩個include語句。為什么模板文件如此簡潔?drbd的配置文件分成三個部分:global、common和resource。這三部分雖然可以全部寫入一個/etc/drbd.conf文件中,但是按照官方慣例,這三部分是分開的:/etc/drbd.d目錄下的global_common.conf文件包含global和common配置段,而目錄下的每個.res文件包含一個resource配置段。關于global配置段:如果所有配置段都在同一個drbd.conf文件中,則該配置必須放在最頂端。常用選項:minor-count:從(設備)個數,取值范圍1~255,默認值為32。該選項設定了允許定義的resource個數,當要定義的resource超過了此選項的設定時,需要重新載入drbd內核模塊。dialog-refreshtimetime取值0,或任一正數。默認值為1。我沒理解官方對該選項的解釋。很少見到此選項被啟用。disable-ip-verification:是否禁用ip檢查usage-count:是否參加用戶統計,合法參數為yes、no或ask根據官方示例的說法,一般只配置usage-count選項即可。不過,說實話,drbd的官方文檔確實挺操蛋,有些地方說的比較含糊。當然,也有我水平有限的原因。關于common配置段:該配置段不是必須的,但可以用來設定多個resource共有的選項,以減少重復性工作。該配置段中又包含如下配置段:disk、net、startup、syncer和handlers。disk配置段:該配置段用來精細地調節drbd底層存儲的屬性。譯者注:這是一個非常重要的配置段,如果底層設備(磁盤)發生了錯誤或損壞,該配置段將按照設定的策略發生作用。常用選項:on-io-error選項:此選項設定了一個策略,如果底層設備向上層設備報告發生I/O錯誤,將按照該策略進行處理。有效的策略包括:pass_on:把I/O錯誤報告給上層設備。如果錯誤發生在primary節點,把它報告給文件系統,由上層設備處理這些錯誤(例如,它會導致文件系統以只讀方式重新掛載),它可能會導致drbd停止提供服務;如果發生在secondary節點,則忽略該錯誤(因為secondary節點沒有上層設備可以報告)。該策略曾經是默認策略,但現在已被detach所取代。call-local-io-error:調用預定義的本地local-io-error腳本進行處理。該策略需要在resource配置段的handlers部分,預定義一個相應的local-io-error命令調用。該策略完全由管理員通過local-io-error命令(或腳本)調用來控制如何處理I/O錯誤。

detach:發生I/O錯誤的節點將放棄底層設備,以diskless mode繼續工作。在diskless mode下,只要還有網絡連接,drbd將從secondary node讀寫數據,而不需要failover。該策略會導致一定的損失,但好處也很明顯,drbd服務不會中斷。官方推薦和默認策略。

譯者注:如果使用detach策略來處理底層I/O錯誤,該策略會不會報告錯誤給管理員,以便管理員手動更換此節點的磁盤呢? handler處理器部分應該會有這方面的內容。fencing選項:該選項設定一個策略來避免split brain的狀況。有效的策略包括:dont-care:默認策略。不采取任何隔離措施。resource-only:在此策略下,如果一個節點處于split brain狀態,它將嘗試隔離對等端的磁盤。這個操作通過調用fence-peer處理器來實現。fence-peer處理器將通過其它通信路徑到達對等節點,并在這個對等節點上調用drbdadm outdate res命令。resource-and-stonith:在此策略下,如果一個節點處于split brain狀態,它將停止I/O操作,并調用fence-peer處理器。處理器通過其它通信路徑到達對等節點,并在這個對等節點上調用drbdadm outdate res命令。如果無法到達對等節點,它將向對等端發送關機命令。一旦問題解決,I/O操作將重新進行。如果處理器失敗,你可以使用resume-io命令來重新開始I/O操作。net配置段:該配置段用來精細地調節drbd的屬性,網絡相關的屬性。常用的選項有:sndbuf-size:該選項用來調節TCP send buffer的大小,drbd 8.2.7以前的版本,默認值為0,意味著自動調節大小;新版本的drbd的默認值為128KiB。高吞吐量的網絡(例如專用的千兆網卡,或負載均衡中綁定的連接)中,增加到512K比較合適,或者可以更高,但是最好不要超過2M。timeout:該選項設定一個時間值,單位為0.1秒。如果搭檔節點沒有在此時間內發來應答包,那么就認為搭檔節點已經死亡,因此將斷開這次TCP/IP連接。默認值為60,即6秒。該選項的值必須小于connect-int和ping-int的值。connect-int:如果無法立即連接上遠程DRBD設備,系統將斷續嘗試連接。該選項設定的就是兩次嘗試間隔時間。單位為秒,默認值為10秒。ping-int:該選項設定一個時間值,單位為秒。如果連接到遠程DRBD設備的TCP/IP的空閑時間超過此值,系統將生成一個keep-alive包來檢測對等節點是否還存活。默認值為10秒。ping-timeout:該選項設定一個時間值,單位是0.1秒。如果對等端沒有在此時間內應答keep-alive包,它將被認為已經死亡。默認值是500ms。max-buffers:該選項設定一個由drbd分配的最大請求數,單位是頁面大小(PAGE_SIZE),大多數系統中,頁面大小為4KB。這些buffer用來存儲那些即將寫入磁盤的數據。最小值為32(即128KB)。這個值大一點好。max-epoch-size:該選項設定了兩次write barriers之間最大的數據塊數。如果選項的值小于10,將影響系統性能。大一點好。用戶手冊的另外一部分也提到了max-buffers和max-epoch-size,跟drbd.conf部分的解釋稍有不同:drbd.conf的幫助文檔中說,max-buffers設定的是最大請求數,max-epoch-size設定的是最高的數據塊數;而這部分的幫助文檔說,這兩個選項影響的是secondary節點寫操作的性能,max-buffers設定的是最大的buffers數,這些buffers是drbd系統是為即將寫入磁盤的數據而分配的;max-epoch-size設定的是兩次write barrier之間所允許的最大請求數。多數情況下,這兩個選項應該并行地設置,而且兩個選項的值應該保持一致。兩個選項的默認值都是2048,在大多數合理的高性能硬件RAID控制器中,把它們設定為8000比較好。兩個部分的解釋結合起來看,max-buffers設定的是最大的數據塊數,max-epoch-size設定的是所能請求的最大塊數。參考:http://www.drbd.org/users-guide-emb/s-throughput-tuning.html#s-tune-disable-barriersko-count:該選項設定一個值,把該選項設定的值 乘以 timeout設定的值,得到一個數字N,如果secondary節點沒有在此時間內完成單次寫請求,它將從集群中被移除(即,primary node進入StandAlong模式)。取值范圍0~200,默認值為0,即禁用該功能。allow-two-primaries:這個是drbd8.0及以后版本才支持的新特性,允許一個集群中有兩個primary node。該模式需要特定文件系統的支撐,目前只有OCFS2和GFS可以,傳統的ext3、ext4、xfs等都不行!cram-hmac-alg:該選項可以用來指定HMAC算法來啟用對等節點授權。drbd強烈建議啟用對等節點授權機制。可以指定/proc/crypto文件中識別的任一算法。必須在此指定算法,以明確啟用對等節點授權機制。shared-secret:該選項用來設定在對待節點授權中使用的密碼,最長64個字符。data-integrity-alg:該選項設定內核支持的一個算法,用于網絡上的用戶數據的一致性校驗。通常的數據一致性校驗,由TCP/IP頭中所包含的16位校驗和來進行,而該選項可以使用內核所支持的任一算法。該功能默認關閉。另外,還有after-sb-0pri, after-sb-1pri, after-sb-2pri這三個選項,split brian有關。startup配置段:該配置段用來更加精細地調節drbd屬性,它作用于配置節點在啟動或重啟時。

譯者注:我曾試過不配置此部分,在首次啟用第二個節點的DRBD塊設備時,遇到了一個問題:它一直等待有一個對等節點出現,而遲遲不肯啟動,必須手動讓它停止等待。如下:

常用選項有:wfc-timeout:該選項設定一個時間值,單位是秒。在啟用DRBD塊時,初始化腳本drbd會阻塞啟動進程的運行,直到對等節點的出現。該選項就是用來限制這個等待時間的,默認為0,即不限制,永遠等待。degr-wfc-timeout:該選項也設定一個時間值,單位為秒。也是用于限制等待時間,只是作用的情形不同:它作用于一個降級集群(即那些只剩下一個節點的集群)在重啟時的等待時間。outdated-wfc-timeout:同上,也是用來設定等待時間,單位為秒。它用于設定等待過期節點的時間。syncer配置段:該配置段用來更加精細地調節服務的同步進程。常用選項有:rate:設置同步時的速率,默認為250KB。默認的單位是KB/sec,也允許使用K、M和G,如40M。注意:syncer中的速率是以bytes,而不是bits來設定的。配置文件中的這個選項設置的速率是永久性的,但可使用下列命令臨時地改變rate的值:drbdsetup /dev/drbdnumsyncer -r 100M把上述命令中紅色的num替換成你的drbd設備的從設備號。只能在所有節點的其中一個節點上運行此命令。如果想重新恢復成drbd.conf配置文件中設定的速率,執行如下命令:drbdadm adjustresource官方提示:速率的設定,最好設為有效可用帶寬的30%。所謂有效可用帶寬,是指網絡帶寬和磁盤讀寫速度中的最小者。有兩個示例:如果I/O子系統所能維持的讀寫速度為180MB/s,而千兆網絡所能維持的網絡吞吐速度為110MB/s,那么有效可用帶寬為110MB/s,該選項的推薦值為110 x 0.3 = 33MB/s。如果I/O速度為80MB/s,而網絡連接速度可達千兆,那么有效可用帶寬為80MB/s,推薦的rate速率應該為80 x 0.3 = 24MB/sal-extents:該選項用來設定hot area(即active set)的塊數,取值范圍是7~3843,默認為127,每個塊標志4M大小的底層存儲(即底層設備)。DRBD會自動檢測host area,如果主節點意外地從集群中斷開,當該節點重新加入集群時,hot area所覆蓋的區域必須被重新同步。hot area的每次變化,實際上都是對metadata區域的寫操作,因此,該選項的值越大,重新同步的時間越長,但需要更新的meta-data也越少。而用戶手冊的另外一部分提到,al-extents調整的是Activity Log的大小。如果使用DRBD設備的應用程序的寫操作比較密集,那么,一般建議使用較大的Activity Log(active set),否則metadata頻繁的更新操作會影響到寫操作的性能。建議值:3389。參考:http://www.drbd.org/users-guide-emb/s-throughput-tuning.html#s-tune-al-extentsverify-alg:該選項指定一個用于在線校驗的算法,內核一般都會支持md5、sha1和crc32c校驗算法。在線校驗默認關閉,必須在此選項設定參數,以明確啟用在線設備校驗。DRBD支持在線設備校驗,它以一種高效的方式對不同節點的數據進行一致性校驗。在線校驗會影響CPU負載和使用,但影響比較輕微。drbd 8.2.5及以后版本支持此功能。一旦啟用了該功能,你就可以使用下列命令進行一個在線校驗:drbdadm verifyresource該命令對指定的resource進行檢驗,如果檢測到有數據塊沒有同步,它會標記這些塊,并往內核日志中寫入一條信息。這個過程不會影響正在使用該設備的程序。如果檢測到未同步的塊,當檢驗結束后,你就可以如下命令重新同步它們:drbdadm disconnectresourcedrbdadm connetcresource可以安排一個cron任務來自動執行在線校驗,如:42 0 * * 0root/sbin/drbdadm verifyresource如果開啟了所有資源的在線檢驗,可以使用如下命令:42 0 * * 0root/sbin/drbdadm verify allcsums-alg:該選項指定一個校驗算法,用來標志數據塊。如果不啟用該選項,rsync會從source發送所有的數據塊到destination;而如果啟用了此選項,那么rsync將只交換那些校驗值不同的數據塊,當網絡帶寬有限時,此選項非常有用。而且,在重啟一個崩潰的primary節點時,該選項會降低CPU帶寬的占用。handlers:該配置段用來定義一系列處理器,用來回應特定事件。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 固原市| 琼海市| 泽库县| 汉源县| 宁城县| 越西县| 远安县| 昭苏县| 崇左市| 双桥区| 葫芦岛市| 临朐县| 达日县| 镇坪县| 左权县| 金山区| 法库县| 迁西县| 油尖旺区| 屏东市| 南乐县| 密山市| 永靖县| 绥滨县| 佛山市| 万山特区| 彭泽县| 民县| 丹寨县| 民和| 南充市| 泰来县| 奉贤区| 手游| 板桥市| 阳朔县| 罗田县| 嘉义县| 南康市| 上饶县| 营山县|