1

From my output from /proc/drbd I am trying to extract 'UpToDate/UpToDate' section of this output per device (0 and 1). I tried:

cat /proc/drbd  | grep ' 0:' | grep -Eo 'ds:(.*)'

But that gives me:

ds:UpToDate/UpToDate C r-----

That is not what I'm looking for (looking for getting the slot where UpToDate/UpToDate propagates) or basically a return of 'UpToDate/UpToDate'..Anyways, here is the output of /proc/drbd:

  0: cs:Connected ro:Primary/Secondary ds:UpToDate/UpToDate C r-----
  1: cs:Connected ro:Secondary/Primary ds:UpToDate/UpToDate C r-----
4

3 に答える 3

2

次のコマンドを使用して、DRBD デバイスのステータスを照会できます。

# drbdadm role <resource>
# drbdadm cstate <resource>
# drbdadm dstate <resource>
于 2015-05-05T04:44:51.977 に答える
1

次のgrepコマンドを使用できます。

grep -o 'ds[^[:space:]]\+' /proc/drbd

前に置きたくない場合は、モードds:で grep を使用できperlます (GNU を使用している場合grep):

grep -oP 'ds:\K[^\s]+' /proc/drbd

これは、\K以前に一致したすべてのものをクリアします - この場合はds:.

GNU を持っていない場合はgrep、次を使用できますawk

awk -F'[: ]' '{print $8}' /proc/drbd

またはsed:

sed 's/.*ds:\([^[:space:]]\+\).*/\1/' /proc/drbd
于 2015-05-04T14:09:30.227 に答える
0

以下の正規表現を使用します。

grep -o 'ds:([^ ]*)'
于 2015-05-04T14:11:39.630 に答える