CentOS 7
Sponsored Link

DRBD : 設定
2016/01/27
 
DRBD インストール後の設定です
ここでは以下のような環境を例に DRBD ストレージを構築します。
+----------------------+          |          +----------------------+
| [   DRBD Server#1  ] |10.0.0.51 | 10.0.0.52| [   DRBD Server#2  ] |
|   node01.srv.world   +----------+----------+   node02.srv.world   |
|                      |                     |                      |
+----------------------+                     +----------------------+

前提として、利用するサーバー双方に DRBD デバイスに割り当てる空きブロックデバイスが存在している必要があります。
例として、ここでは /dev/vg_r0/lv_r0 を利用して進めます。
[1] 両ホストで以下のように同じ設定をします。
[root@node01 ~]#
vi /etc/drbd.d/global_common.conf
# disk セクション内に以下を追記 ( IOエラー時はディスクを切り離す )

disk {
   on-io-error detach;
[root@node01 ~]#
vi /etc/drbd.d/r0.res
# 新規作成

resource r0 {
    # DRBDデバイス
    device /dev/drbd0;
    # ブロックデバイス
    disk /dev/vg_r0/lv_r0;
    meta-disk internal;
    on node01.srv.world {
        # IPアドレス:ポート
        address 10.0.0.51:7788;
    }
    on node02.srv.world {
        address 10.0.0.52:7788;
    }
} 

# モジュールロード

[root@node01 ~]#
modprobe drbd

[root@node01 ~]#
lsmod | grep drbd

drbd                  405309  0
libcrc32c              12644  2 xfs,drbd

# DRBDリソース作成

[root@node01 ~]#
drbdadm create-md r0
--==  Thank you for participating in the global usage survey  ==--
The server's response is:

you are the 972th user to install this version
initializing activity log
NOT initializing bitmap
Writing meta data...
New drbd meta data block successfully created.
success

[root@node01 ~]#
systemctl start drbd

 DRBD's startup script waits for the peer node(s) to appear.
 - If this node was already a degraded cluster before the
   reboot, the timeout is 0 seconds. [degr-wfc-timeout]
 - If the peer was available before the reboot, the timeout
   is 0 seconds. [wfc-timeout]
   (These values are for resource 'r0'; 0 sec -> wait forever)
...
...
To abort waiting enter 'yes' [  18]:yes
 
[root@node01 ~]#
systemctl enable drbd

[2] 双方のホストで設定した後は、いずれかのホストをプライマリにしてデータの同期を実施します。
# 設定直後は以下のように Secondary/Secondary

[root@node01 ~]#
cat /proc/drbd

version: 8.4.7-1 (api:1/proto:86-101)
GIT-hash: 3a6a769340ef93b1ba2792c6461250790795db49 build by root@node01.srv.world, 2016-01-28 14:44:07
 0: cs:Connected ro:Secondary/Secondary ds:Inconsistent/Inconsistent C r-----
    ns:0 nr:0 dw:0 dr:0 al:0 bm:0 lo:0 pe:0 ua:0 ap:0 ep:1 wo:f oos:20938076

# プライマリにしてデータ同期

[root@node01 ~]#
drbdadm -- --overwrite-data-of-peer primary r0
# データ同期が開始する

[root@node01 ~]#
cat /proc/drbd

version: 8.4.7-1 (api:1/proto:86-101)
GIT-hash: 3a6a769340ef93b1ba2792c6461250790795db49 build by root@node01.srv.world, 2016-01-28 14:44:07
 0: cs:SyncSource ro:Primary/Secondary ds:UpToDate/Inconsistent C r-----
    ns:39144 nr:0 dw:0 dr:40056 al:0 bm:0 lo:0 pe:0 ua:0 ap:0 ep:1 wo:f oos:20898932
        [>....................] sync'ed:  0.2% (20408/20444)M
        finish: 1:19:58 speed: 4,348 (4,348) K/sec

# 同期が完了すると以下のようなステータスになる

[root@node01 ~]#
cat /proc/drbd

version: 8.4.7-1 (api:1/proto:86-101)
GIT-hash: 3a6a769340ef93b1ba2792c6461250790795db49 build by root@node01.srv.world, 2016-01-28 14:44:07
 0: cs:Connected ro:Primary/Secondary ds:UpToDate/UpToDate C r-----
    ns:20938076 nr:0 dw:0 dr:20938988 al:0 bm:0 lo:0 pe:0 ua:0 ap:0 ep:1 wo:f oos:0
[3] 以上で設定完了です。後は DRBD デバイスにファイルシステムを作成して、プライマリ側でマウントすれば利用可能です。
[root@node01 ~]#
mkfs.xfs /dev/drbd0

[root@node01 ~]#
mkdir /drbd_disk

[root@node01 ~]#
mount /dev/drbd0 /drbd_disk

[root@node01 ~]#
df -hT

Filesystem              Type      Size  Used Avail Use% Mounted on
/dev/mapper/centos-root xfs        27G  1.7G   25G   7% /
devtmpfs                devtmpfs  2.0G     0  2.0G   0% /dev
tmpfs                   tmpfs     2.0G     0  2.0G   0% /dev/shm
tmpfs                   tmpfs     2.0G  8.3M  2.0G   1% /run
tmpfs                   tmpfs     2.0G     0  2.0G   0% /sys/fs/cgroup
/dev/vda1               xfs       497M  206M  292M  42% /boot
tmpfs                   tmpfs     396M     0  396M   0% /run/user/0
/dev/drbd0              xfs        20G   33M   20G   1% /drbd_disk

# テストファイル作成

[root@node01 ~]#
echo 'test file' > /drbd_disk/test.txt

[root@node01 ~]#
ll /drbd_disk

total 4
-rw-r--r-- 1 root root 10 Jan 28 15:32 test.txt
[4] セカンダリ側でDRBDデバイスをマウントするには、現在プライマリになっているホストでアンマウントしてセカンダリに降格させ、 セカンダリ側をプライマリに昇格させてマウントという流れになります。
########### プライマリ側 ###########

# アンマウントしてセカンダリにする

[root@node01 ~]#
umount /drbd_disk

[root@node01 ~]#
drbdadm secondary r0
########### セカンダリ側 ###########

# プライマリにしてマウントする

[root@node02 ~]#
drbdadm primary r0

[root@node02 ~]#
mount /dev/drbd0 /drbd_disk

[root@node02 ~]#
df -hT

Filesystem              Type      Size  Used Avail Use% Mounted on
/dev/mapper/centos-root xfs        27G  1.7G   25G   7% /
devtmpfs                devtmpfs  2.0G     0  2.0G   0% /dev
tmpfs                   tmpfs     2.0G     0  2.0G   0% /dev/shm
tmpfs                   tmpfs     2.0G  8.4M  2.0G   1% /run
tmpfs                   tmpfs     2.0G     0  2.0G   0% /sys/fs/cgroup
/dev/vda1               xfs       497M  206M  292M  42% /boot
tmpfs                   tmpfs     396M     0  396M   0% /run/user/0
/dev/drbd0              xfs        20G   33M   20G   1% /drbd_disk

[root@node02 ~]#
ll /drbd_disk

total 4
-rw-r--r-- 1 root root 10 Jan 28 15:32 test.txt
 
Tweet