您好,登錄后才能下訂單哦!
這篇文章主要介紹“GlusterFS客戶端與服務器端仲裁機制實例分析”,在日常操作中,相信很多人在GlusterFS客戶端與服務器端仲裁機制實例分析問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”GlusterFS客戶端與服務器端仲裁機制實例分析”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!
客戶端仲裁只適用于副本卷,服務器仲裁適用于所有卷。
副本卷個數最好為奇數個,服務器端個數最好為不小于3的奇數。
客戶端仲裁
客戶端仲裁適用于fuse、gfapi、nfs。
客戶端仲裁功能是在AFR中繼器中實現,所以只要該中繼器被加載,就能提供客戶端仲裁功能。
仲裁檢測自然由AFR中繼器負責。
如果檢查失敗,客戶端則無法寫入,返回EROFS錯誤。
正在進行寫操作會因為板塊(brick)數未達到仲裁要求的數量而失敗,并且FOP會返回EROFS錯誤,后續的寫操作會返回相同的錯誤,所以,這種情形下的錯誤會立即返回,沒有等待超時機制。
仲裁狀態是由客戶端看到的活躍的(active)板塊(brick)數決定的。
具體的規則由quorum-type和quorum-count確定。
Option: cluster.quorum-type Default Value: none Description: If value is "fixed" only allow writes if quorum-count bricks are present. If value is "auto" only allow writes if more than half of bricks, or exactly half including the first, are present. 如果設置為“fixed”,只允許在quorum-count數量的板塊(bricks)在線時寫入。 如果設置為“auto”,只允許超過一半的板塊在線時寫入,或者只允許一半的板塊在第一次寫入后繼續寫入。 Option: cluster.quorum-count Default Value: (null) Description: If quorum-type is "fixed" only allow writes if this many bricks or present. Other quorum types will OVERWRITE this value. 如果quorum-type設置為“fixed”,只允許設置數量的板塊(brick)在線時可以寫入。 如果quorum-type設置為其他值,設置的quorum-count值無效,會被覆蓋。 |
板塊(brick)本身會一直存在,除非對應的進程掛了。
服務器端仲裁
服務器端仲裁是由glusterd進程執行,但判斷的是glusterfsd進程。
啟用服務器端仲裁:server-quorum-type=server
服務器端負責仲裁檢測
Option: cluster.server-quorum-type Default Value: (null) Description: This feature is on the server-side i.e. in glusterd. Whenever the glusterd on a machine observes that the quorum is not met, it brings down the bricks to prevent data split-brains. When the network connections are brought back up and the quorum is restored the bricks in the volume are brought back up. 描述:這個功能在服務器端實現,也就是在glusterd進程中。當glusterd檢測到服務器端未達到法定人數時,就會停掉brick防止數據裂腦。當網絡恢復達到法定人數時,就會恢復對應的brick。 Option: cluster.server-quorum-ratio Default Value: (null) Description: Sets the quorum percentage for the trusted storage pool. |
仲裁成功的bricks可以繼續寫入,不成功的bricks會被設置成只讀或者直接停掉,當再次仲裁成功上線后,會自動修復數據,因此可以防止裂腦,保證數據一致性性。
問題
客戶端仲裁與服務器端仲裁那個好?
如果啟用服務器端仲裁,當出現裂腦情況時,仍然可以將數據寫入卷中。服務器端仲裁為了更有效的避免和卷配置沖突,仲裁成為不可寫入節點時,禁止執行volume set、peer probe等命令。
如果要避免裂腦文件出現在卷中,最好使用客戶端仲裁。
兩種仲裁可以同時使用嗎?有什么推薦配置?
以我個人愚見,客戶端仲裁就足夠,但客戶端仲裁只能用于復制卷環境。當然,兩個仲裁機制可以同時使用。服務器端仲裁會直接干掉brick,干掉的brick甚至還允許進行讀訪問。
到此,關于“GlusterFS客戶端與服務器端仲裁機制實例分析”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。