天天看點

DRBD常用管理篇

      在DRBD進入使用階段之後,要經常檢視它的工作狀态,通過這些狀态來判斷DRBD運作情況。

1) 使用drbd-overview指令觀察狀态

     最為簡便的方式就是運作drbd-overview指令

#

drbd-overview

  0:r0  Connected Primary/Secondary UpToDate/UpToDate C r—– /nfs ext4 20G 45M 19G 1%

2) 通過僞檔案系統/proc/drbd 檔案來運作狀态

cat /proc/drbd 

version: 8.3.16 (api:88/proto:86-97)

GIT-hash: a798fa7e274428a357657fb52f0ecf40192c1985 build by phil@Build64R6, 2014-11-24 14:51:37

 0: cs:Connected ro:Primary/Secondary ds:UpToDate/UpToDate C r—–

    ns:0 nr:0 dw:664 dr:2017 al:1 bm:0 lo:0 pe:0 ua:0 ap:0 ep:1 wo:f oos:0

狀态訓示

第一行:  軟體的版本号

第二行: 有關建構DRBD的特定資訊

第三行: DRBD的主要資訊

cs(Connect State):表示網絡連接配接的狀态

ro(Role):表示運作節點的角色,Primary/Secondary 表示本機為主

ds(Disk State):表示目前的硬碟狀态

Replication protocol:表示目前複制所使用的協定,可以是ABC

I/O Flags:6個I/O輸入輸出标志,從各個方面反映了本地資源的狀态

Performance indicators:性能名額,這是一組統計資料和計數器,反映出資源的利用情況和性能

3) 連接配接狀态

連接配接狀态可以通過監控/proc/drbd檔案得到具體資訊,也可以使用drbdadm cstate指令來擷取。

drbdadm cstate r0

Connected

連接配接的狀态也有可能是以下其中的一種:

StandAlone:沒有可用的網絡配置,資源沒有被連接配接,或者執行過 drbdadm disconnect resource 指令,例子如下:

drbdadm disconnect all

StandAlone

4) 資源角色

資源連接配接狀态可以通過/proc/drbd或者使用drbdadm role resource來擷取。

drbdadm role all

Primary/Secondary

可能的角色為:

Primary:目前的資源是Primary角色,可以進行讀取和定稿的操作。該角色在兩個節點中僅能出現在一個節點[雙節點模式除外]

Secondary:表示該角色為從節點,這種角色下既不能讀取也不寫入。這種角色可能會發生在一個或者兩個節點上。

第一行:

Unknown:這種角色表示目前資源的角色不。本地資源不會有這種狀态,它僅出現在用來表示對點的資源角色,而且僅在無法連接配接模式下。如下:

 0: cs:StandAlone ro:Secondary/Unknown ds:UpToDate/DUnknown   r—–

    ns:660 nr:4 dw:664 dr:1029 al:5 bm:0 lo:0 pe:0 ua:0 ap:0 ep:1 wo:f oos:0

5) 磁盤狀态

磁盤狀态可以通過/proc/drbd或者使用drbdadm dstate resource來擷取。

# drbdadm dstate r0

UpToDate/UpToDate

首先輸入的是本地硬碟狀态,後面的是遠端硬碟狀态。以下為硬碟的狀态:
Diskless:無盤狀态,目前沒有與DRBD驅動相關塊裝置。這種狀态通常代表着資源沒有被附加上背景裝置。可能是通過使用 rbdadm detach指令手工分離了背景裝置。或者由于底層I/O的錯誤而自動分離。
Attaching:附加狀态,這種狀态是在讀取中繼資料時出現的一種瞬間狀态。
Failed:失敗狀态,也是一種瞬間狀态,由于本地塊裝置報告,接着就是一個I/O錯誤,下一個狀态就是Diskless.
Negotiating:協商狀态,在已經連接配接的DRBD裝置上進行“Attach”讀取中繼資料的一個瞬間狀态。
Inconsistent:資料不一緻狀态這種狀态出現兩個DRBD節點上的資源在建立了新的資源後立即建立連接配接時(就是完全初始化同步之前),這種情況下兩個資源節點都會出現,另一種可能就是在同步過程中一個節點出現這種狀态,而且是出現在同步的目标上。
Outdated:資料過期狀态,資源資料一緻,但是已經過期,這種情況需要進行進一步處理。
DUnknown:硬碟不明确狀态,如果網絡連接配接無效,那麼這種狀态将會被用于表示對點磁盤的狀态。
Consisten:資料一緻狀态,在沒有連接配接時資料一緻的狀态,當連接配接完成後将會決定資料的狀态是UpToDate狀态還是Outdated狀态。
UpToDate:資料一緻狀态,而且是最新的資料一緻狀态。這也是正常狀态模式。

6) I/O狀态标志

在/proc/drbd檔案中提供了有關I/O操作資訊,這種标志資訊一共有6個,可能的值如下:

  • I/O暫停資訊狀态:可能看到的值兩個,不是r就是s,r表示正在運作,s表示暫停,通過為r.
  • 串行重新同步狀态:當資源重新同步時,但是因為重新同步延時,那麼這個标志将會變為a,通常為”-“.
  • 對點初始化同步延時狀态:在資源等待重新同步時,但是本地節點的使用者延時了同步,那麼這個狀态将變為”u”
  • 本地I/O阻塞狀态:通常為“-”,可能還會出現如下标志:
d:内部原因導緻I/O阻塞,例如,瞬間狀态出現時。
b:背景裝置i/o出現阻塞。
n:網絡字出現阻塞。
a:同時出現裝置i/o阻塞和網絡阻塞。
  • 活動日志更新暫時狀态:當活動日志更新暫停時,這個标志變成了s。

7) 性能名額

在預覽/proc/drbd時,每個資源的第二行都包含了計數器和路徑成本。

# cat /proc/drbd 

    ns:524420 nr:0 dw:525084 dr:2041 al:132 bm:0 lo:0 pe:0 ua:0 ap:0 ep:1 wo:f oos:0

ns(network send):通過網絡連接配接發送到對端的資料量,機關KB.

nr(network receive):通過網絡連接配接從對點接收的資料量,機關KB.

dw(disk write):向本地硬碟寫入網絡資料,機關KB.

dr(disk read):網絡從本地硬碟讀取的資料量,機關KB.

al(activity log):中繼資料活動日志的更新次數。

bm(bit map):中繼資料區域更新的資源。

lo(local count):由DRBD産生的本地I/O請求資料。

pe(pending):就是等待響應,已經發送到聖戰,但是還沒有得到對端回應的數量。

ua(unacknow wledged):就是未确認,通過網絡連接配接收到對方的請求,但是還沒有做出處理的數量.

ap(application pending):轉發到DRBD的I/O請求,仍然沒有被DRBD所響應。

ep(epochs):epoch對象的數,通常為1。當使用barrier或者none寫順序方法時,可能會增加底層I/O負荷。

wo(write order):目前使用的寫順序的方法:b(barrier)/f(flush)/d(drain)/n(none)。

oos(out of sync):目前沒有同步的資料總數量,機關為KB.

8) 啟用/禁用資源

//啟用資源r0

# drbdadm up r0

提示:也可以将r0更改為all

//禁用資源r0

# drbdadm down r0

9) 重新配置資源DRBD在運作時,允許使用者重新配置資源,為了實作這個目的,需要進行以下操作:

1、在DRBD的配置檔案/etc/drbd.conf(包括所有資源)中進行有必要的改變

2、在兩個節點之間同步DRBD的配置檔案

3、在兩個節點上執行drbdadm adjust <source>指令 (在執行此指令時,建議添加-d參數)

10) 導出目前資源配置資訊

# drbdadm dump all

# /etc/drbd.conf

common {

    protocol               C;

}

# resource r0 on node2.dd.com: not ignored, not stacked

resource r0 {

    on node1.dd.com {

        device           /dev/drbd0 minor 0;

        disk             /dev/sdb1;

        address          ipv4 192.168.198.201:7788;

        meta-disk        internal;

    }

    on node2.dd.com {

        address          ipv4 192.168.198.202:7788;

    syncer {

        rate             100M;

繼續閱讀