More than 1 year has passed since last update.

構成

[drbd01.dev]
CentOS7.2
192.168.110.2
primary
/dev/vda SSD 20GB OS
/dev/vdb SSD 100GB DRBD

[drbd02.dev]
CentOS7.2
192.168.110.3
primary
/dev/vda SSD 20GB OS
/dev/vdb SSD 100GB DRBD

configuration

[共通]DRBDのインストール

http://ftp.kddilabs.jp/Linux/RPMS/elrepo/elrepo/el7/x86_64/RPMS/ から下記パッケージの最新版を利用すること

  • kmod-drbd84
  • drbd84-utils
mkdir install_drbd
cd install_drbd

curl -sO http://ftp.kddilabs.jp/Linux/RPMS/elrepo/elrepo/el7/x86_64/RPMS/kmod-drbd84-8.4.7-1_1.el7.elrepo.x86_64.rpm
curl -sO http://ftp.kddilabs.jp/Linux/RPMS/elrepo/elrepo/el7/x86_64/RPMS/drbd84-utils-8.9.5-1.el7.elrepo.x86_64.rpm
rpm -ivh *drbd*.rpm

[共通]hostsの設定

echo "192.168.110.2 drbd01.dev" >> /etc/hosts
echo "192.168.110.3 drbd02.dev" >> /etc/hosts

[個別]hostnameの設定

後で設定するリソースファイルのホスト名と uname -a で見えるホスト名は一致させる必要がある

[drbd01.dev]

echo "drbd01.dev" > /etc/hostname

[drbd02.dev]

echo "drbd02.dev" > /etc/hostname

[共通] global_common.confの設定

これを設定しないと drbdadm create_md [resource_name] でdeviceに指定した論理ボリュームが作成されない

sudo sh << SCRIPT
cat >/etc/drbd.d/global_common.conf <<EOF;
global {
        usage-count yes;
}
common {
    protocol C;
        handlers {
        }
        startup {
        }
        options {
        }
        disk {
        }
        net {
        }
}
EOF
SCRIPT

[共通] resourceの設定

on [host名] のホスト名はuname -a のホスト名と一致させる必要がある

sudo sh << SCRIPT
cat >/etc/drbd.d/synctest.res <<EOF;
resource synctest {
    device /dev/drbd1;
    disk /dev/vdb1;
    meta-disk internal;
    on drbd01.dev {
        address 192.168.110.2:7788;
    }
    on drbd02.dev {
        address 192.168.110.3:7788;
    }
}
EOF
SCRIPT

[共通][option]drbdをのせるための下位パーティションを作成

すでにパーティションを作成している場合はスキップ

fdisk /dev/vdb
> n
> p
> [Enter]
> [Enter]
> w
#/dev/vdb1が作成される

[共通][option]0埋め

dd if=/dev/zero of=/dev/vdb1 bs=1M count=1

[共通]初期設定

ex) drbdadm create-md [resource_name]

drbdadm create-md synctest

#successfulがでればOK
#0埋めしていない場合はエラーが出て失敗する

[共通]デバイス確認

ls -lsa /dev | grep drbd

0 drwxr-xr-x   4 root root          80  4月  7 14:24 drbd
0 brw-rw----   1 root disk    147,   1  4月  7 14:24 drbd1

実行

[共通]drbdサービス起動

service drbd start

[共通]synctestをアタッチ

drbdadm attach synctest

[共通][option]同期情報を確認

cat /proc/drbd
#Inconsistent/Inconsistent であれば同期されていない

[drbd01.dev]フル同期を行う

ネットワーク環境とミラーリングする容量で長時間かかる

drbdadm -- --overwrite-data-of-peer primary synctest

[共通][option]同期確認

watch -n 1 cat /proc/drbd

#UpToDate/UpToDate になればミラーリング成功

[drbd01.dev]ファイルシステムを作成

mkfs.ext4 /dev/drbd1

マウントしてファイルをおいてみる

mkdir /mnt/drbd
mount /dev/drbd1 /mnt/drbd
cd /mnt/drbd
find /etc > etc.txt

[個別]primary,secondaryを切り替えてミラーリングを確認する

primaryはフォーマットやマウントが行えるが、secondaryはマウントできない

[drbd01.dev] primary->secondary

drbdadm secondary synctest

[drbd02.dev] secondary->primary

drbdadm primary synctest

[drbd02.dev] drbd01.devで作成したファイルを確認する

mkdir /mnt/drbd
mount /dev/drbd1 /mnt/drbd
cd /mnt/drbd
ls -lsa
Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account log in.