以前、そろそろDRBDに挑戦(設定&稼働編)にて物理サーバで試していたのですが、今回は、VPC上のEC2で試してみました。

環境は下記になります。

・suz-lab-ha1
IP: 10.0.0.54(subnet: 10.0.0.0/24: a zone)
EBS: /dev/xvdf1

・suz-lab-ha2
IP: 10.0.1.36(subnet: 10.0.1.0/24: b zone)
EBS: /dev/xvdf1

AMIは、SUZ-LAB謹製 CentOS AMI (6.0.4 32bit ap-northeast-1)になります。

○hostnameの設定

【suz-lab-ha1で実行】

# cat /etc/sysconfig/network
NETWORKING=yes
NETWORKING_IPV6=no
HOSTNAME=suz-lab-ha1

【suz-lab-ha2で実行】

# cat /etc/sysconfig/network
NETWORKING=yes
NETWORKING_IPV6=no
HOSTNAME=suz-lab-ha2

【suz-lab-ha1/suz-lab-ha2で実行】

○DRBD8.3のインストール

# yum -y install drbd83-utils kmod-drbd83

※8.4では、原因はわかっていませんが、うまくいきませんでした。

○hostsファイルの設定

# cat /etc/hosts
127.0.0.1   localhost localhost.localdomain
10.0.0.54   suz-lab-ha1
10.0.1.36   suz-lab-ha2

○drbdファイルの設定

# cat /etc/drbd.d/mysql.res
resource mysql {
    on suz-lab-ha1 {
        device /dev/drbd0;
        disk /dev/xvdf1;
        address 10.0.0.228:7789;
        meta-disk internal;
    }
    on suz-lab-ha2 {
        device /dev/drbd0;
        disk /dev/xvdf1;
        address 10.0.1.87:7789;
        meta-disk internal;
    }
}

○drbdの構築

# drbdadm create-md mysql
Writing meta data...
initializing activity log
NOT initializing bitmap
New drbd meta data block successfully created.
success

○drbdの起動
【suz-lab-ha1で実行】

# /etc/init.d/drbd start
Starting DRBD resources: [ d(mysql) ]........

【suz-lab-ha2で実行】

# /etc/init.d/drbd start
Starting DRBD resources: [ d(mysql) n(mysql) ].

※両方ほぼ同時に起動する必要があります。

【suz-lab-ha1で実行】

○ファイルシステムの作成

# drbdsetup /dev/drbd0 primary -o
# mkfs.ext4 /dev/drbd0
mke2fs 1.41.12 (17-May-2010)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
65536 inodes, 262127 blocks
13106 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=268435456
8 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks:
 32768, 98304, 163840, 229376

Writing inode tables: done                           
Creating journal (4096 blocks): done
Writing superblocks and filesystem accounting information: done

This filesystem will be automatically checked every 28 mounts or
180 days, whichever comes first.  Use tune2fs -c or -i to override.

○ファイルシステムのマウント

# mkdir -p /mnt/drbd/mysql
# cat /etc/fstab
/dev/xvda1      /               ext4   defaults       1 1
none            /proc           proc   defaults       0 0
none            /sys            sysfs  defaults       0 0
none            /dev/pts        devpts gid=5,mode=620 0 0
none            /dev/shm        tmpfs  defaults       0 0
/mnt/swap/0.img swap            swap   defaults       0 0
/dev/drbd0      /mnt/drbd/mysql ext4   defaults       0 0
# mount /mnt/drbd/mysql

これで設定完了です。

そろそろDRBDに挑戦(設定&稼働編)で最後の方に記述しているテストも試して見ましたが、
問題ありませんでした。

こちらの記事はなかの人(suz-lab)監修のもと掲載しています。
元記事は、こちら