2011年11月23日水曜日

VPC上のEC2(CentOS 6.0)でDRBD(8.3)

スズキです。

以前、下記のように物理サーバで試していたのですが、
そろそろ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に挑戦(設定&稼働編)
問題ありませんでした。

次は、Heartbeat連携!
--------
http://www.suz-lab.com

0 コメント: