DRBD常用管理篇
在DRBD進入使用階段之後,要經常檢視它的工作狀態,通過這些狀態來判斷DRBD執行情況。
<wbr>
1) 使用drbd-overview命令觀察狀態
最為簡便的方式就是執行drbd-overview命令
# drbd-overview0:r0 Connected Primary/Secondary UpToDate/UpToDate C r—– /nfs ext4 20G 45M 19G 1%
2) 通過偽檔案系統/proc/drbd 檔案來執行狀態
# cat /proc/drbdversion: 8.3.16 (api:88/proto:86-97)GIT-hash: a798fa7e274428a357657fb52f0ecf40192c1985 build by phil@Build64R6, 2014-11-24 14:51:370: 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:表示當前複製所使用的協議,可以是ABCI/O Flags:6個I/O輸入輸出標誌,從各個方面反映了本地資源的狀態Performance indicators:效能指標,這是一組統計資料和計數器,反映出資源的利用情況和效能
3) 連線狀態
連線狀態可以通過監控/proc/drbd檔案得到具體資訊,也可以使用drbdadm cstate命令來獲取。
# drbdadm cstate r0
Connected
連線的狀態也有可能是以下其中的一種:
StandAlone:沒有可用的網路配置,資源沒有被連線,或者執行過 drbdadm disconnect resource 命令,例子如下:
# drbdadm disconnect all# drbdadm cstate r0StandAlone
4) 資源角色
資源連線狀態可以通過/proc/drbd或者使用drbdadm role resource來獲取。
# drbdadm role allPrimary/Secondary
可能的角色為:
Primary:當前的資源是Primary角色,可以進行讀取和定稿的操作。該角色在兩個節點中僅能出現在一個節點[雙節點模式除外]
Secondary:表示該角色為從節點,這種角色下既不能讀取也不寫入。這種角色可能會發生在一個或者兩個節點上。
第一行:
Unknown:這種角色表示當前資源的角色不。本地資源不會有這種狀態,它僅出現在用來表示對點的資源角色,而且僅在無法連線模式下。如下:
# drbdadm disconnect all# cat /proc/drbdversion: 8.3.16 (api:88/proto:86-97)GIT-hash: a798fa7e274428a357657fb52f0ecf40192c1985 build by phil@Build64R6, 2014-11-24 14:51:370: 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 r0UpToDate/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/drbdversion: 8.3.16 (api:88/proto:86-97)GIT-hash: a798fa7e274428a357657fb52f0ecf40192c1985 build by phil@Build64R6, 2014-11-24 14:51:370: cs:Connected ro:Primary/Secondary ds:UpToDate/UpToDate C r—–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) 啟用/禁用資源
9) 重新配置資源//啟用資源r0# drbdadm up r0提示:也可以將r0更改為all//禁用資源r0# drbdadm down r0提示:也可以將r0更改為all
DRBD在執行時,允許使用者重新配置資源,為了實現這個目的,需要進行以下操作:
1、在DRBD的配置檔案/etc/drbd.conf(包括所有資源)中進行有必要的改變
2、在兩個節點之間同步DRBD的配置檔案
3、在兩個節點上執行drbdadm adjust <source>命令 (在執行此命令時,建議新增-d引數)
10) 匯出當前資源配置資訊
# drbdadm dump all# /etc/drbd.confcommon {protocol C;}# resource r0 on node2.dd.com: not ignored, not stackedresource 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 {device /dev/drbd0 minor 0;disk /dev/sdb1;address ipv4 192.168.198.202:7788;meta-disk internal;}syncer {rate 100M;}}
相關文章
- DRBD物理同步方式實現MySQL之高可用MySql
- PHP常用函式篇PHP函式
- Mysql+Corosync+Pacemaker+DRBD構建高可用MMySqlROS
- MySQL高可用方案之DRBD+MySQL+RHCS(下)MySql
- MySQL高可用方案之DRBD+MySQL+RHCS(上)MySql
- DRBD是什麼意思?優缺點是什麼?
- DRBD+ CoroSync + PaceMaker實現 MySQL之高可用(物理同步)ROSMySql
- 【SCRIPT】Oracle表管理段管理常用語句Oracle
- 常用程式碼 | 系統配置篇
- 常用的 Docker 容器管理命令Docker
- Linux常用系統管理命令Linux
- 【LOB】Oracle Lob管理常用sqlOracleSQL
- 【BLOCK】Oracle 塊管理常用SQLBloCOracleSQL
- 常用佈局管理器
- Go語言常用的運算子篇Go
- 【工具篇】git常用命令分享Git
- 包管理器pacman常用方法ACM
- 【LOB】Oracle lob管理常用語句Oracle
- 【CDB】Oracle CDB/PDB常用管理命令Oracle
- 常用的api管理測試工具API
- 共享儲存是什麼意思?與DRBD有什麼區別?
- 【Hadoop篇】--Hadoop常用命令總結Hadoop
- Databricks 第7篇:管理Secret
- MaxCompute安全管理指南-案例篇
- Nginx-執行管理篇Nginx
- 記憶體管理篇——線性地址的管理記憶體
- Linux磁碟管理常用的三個命令!Linux
- MySQL常用圖形管理工具MySql
- Linux系統管理-常用命令Linux
- 十 叢集管理常用命令
- firewalld管理防火牆常用命令防火牆
- 技能篇:實際開發常用設計模式設計模式
- Mysql常用語法及入門開篇(一)MySql
- 作業系統篇-程式管理作業系統
- Flutter | 狀態管理指南篇——ProviderFlutterIDE
- Linux管理伺服器常用高階指令Linux伺服器
- sybase iq表空間管理常用語句
- kubernetes叢集管理常用命令一