返回列表 回复 发帖

DRBD + Keepalived + iSCSI target を VMware ESXi から使うメモ

単なるメモです。

    * ホストを 2台用意して DRBD でミラーリング
    * iSCSI Enterprise Target で iSCSI target にする
    * Keepalived VRRP で VIP を振って Master/Backup 構成で failover 可能に
    * VMware ESXi からその iSCSI target 上に仮想マシンを構築
    * failover しても仮想マシンが止まらない

という構成ができた。OS は CentOS-5.2。

仮想マシンで make などをして、IO がガリガリ起きている状態で failover (マスターになっているマシンの電源断とか) しても、仮想マシン側では IO が数秒待たされるだけで特にエラーなどは起きず。結構気持ちいいなこれ。

ただし、DRBD のプロトコルが A or C だと大丈夫だが、B だと仮想マシン側で IO error が大量発生。A だと信頼性が不安だし、C だと速度でなさそうだし、というのがちょっと悩みどころかも。

# DRBD のホスト自体を仮想マシンで構築したので、速度は計測していない。

以下インストールと設定のメモ。

ちなみに DRBD + Keepalived の部分はおなじみの
[24時間365日] サーバ/インフラを支える技術 ?スケーラビリティ、ハイパフォーマンス、省力運用 (WEB+DB PRESS plusシリーズ)

[24時間365日] サーバ/インフラを支える技術 ?スケーラビリティ、ハイパフォーマンス、省力運用 (WEB+DB PRESS plusシリーズ)

    * 作者: 安井真伸, 横川和哉, ひろせまさあき, 伊藤直也, 田中慎司, 勝見祐己
    * 出版社/メーカー: 技術評論社
    * 発売日: 2008/08/07
    * メディア: 単行本(ソフトカバー)

ほとんどそのままです。
    * VIP: 192.168.0.40
    * drbd1: 192.168.0.41
    * drbd2: 192.168.0.42
  1. # yum install drbd82 kmod-drbd82
  2. # tar zxvf keepalived-1.1.15.tar.gz
  3. # cd keepalived-1.1.15
  4. # ./configure
  5. # make
  6. # make rpm          # rpm ができる
  7. # rpm -Uvh keepalived-1.1.15-5.i386.rpm
  8. # rpm -Uvh daemontools-toaster-0.76-1.3.3.i386.rpm
复制代码
/etc/drbd.conf
  1. common { syncer { rate 100M; } }
  2. resource r1 {
  3.   protocol C;
  4.   on drbd1 {
  5.     device    /dev/drbd1;
  6.     disk      /dev/sdc;
  7.     address   192.168.0.41:7790;
  8.     meta-disk internal;
  9.   }
  10.   on drbd2 {
  11.     device    /dev/drbd1;
  12.     disk      /dev/sdc;
  13.     address   192.168.0.42:7790;
  14.     meta-disk internal;
  15.   }
  16. }
复制代码
  1. # modprobe drbd
  2. # drbdadm create-md all    # メタディスク作成 (両方で)
  3. # drbdadm up all           # 起動 (両方で)
  4. # drbdadm -- --overwrite-data-of-peer primary all # 最初に primary -> secondary の同期を取る (ホストdrbd1のみ)
  5. # cat /proc/drbd           # 状態を見る
复制代码
iSCSI Enterprise Target のインストール。
# yum install kernel-devel
# tar zxvf iscsitarget-0.4.16.tar.gz
# cd iscsitarget-0.4.16
# make
# make install
/etc/ietd.conf

Target iqn.2008-10.com.topicmaker.internal.drbdtest
  Lun 1 Path=/dev/drbd1,Type=fileio
  Alias drbd-test

Keepalived VRRP の設定。

/etc/keepalived/keepalived.conf
  1. vrrp_instance DRDB {
  2.   state BACKUP
  3.   interface eth0
  4.   garp_master_delay 5
  5.   virtual_router_id 200
  6.   priority 100
  7.   nopreempt
  8.   advert_int 1
  9.   authentication {
  10.     auth_type PASS
  11.     auth_pass XXXX
  12.   }
  13.   virtual_ipaddress {
  14.     192.168.0.40/24 dev eth0
  15.   }
  16.   notify_master "/usr/local/sbin/drbd-master"
  17.   notify_backup "/usr/local/sbin/drbd-backup"
  18.   notify_fault  "/usr/local/sbin/drbd-backup"
  19. }
复制代码
マスターになったときに行う処理 /usr/local/sbin/drbd-master
#!/bin/sh
drbdadm primary all
service iscsi-target start
バックアップになったときに行う処理 /usr/local/sbin/drbd-backup
  1. #!/bin/sh
  2. service iscsi-target stop
  3. drbdadm secondary all
复制代码
daemontools から keepalived を起動するためのスクリプト /etc/daemon/keepalived/run
  1. #!/bin/sh
  2. [ -f /var/run/vrrp.pid ] && exit
  3. exec 2>&1
  4. trap 'kill -TERM $PID' TERM
  5. trap 'kill -HUP  $PID' HUP
  6. trap 'kill -INT  $PID' INT
  7. keepalived -n -S 1 --vrrp &
  8. PID=$!
  9. wait $PID
  10. /usr/local/sbin/drbd-backup
复制代码
/etc/inittab に以下を追加

# daemontools
  1. SV:123456:respawn:/usr/bin/svscanboot
复制代码
http://d.hatena.ne.jp/sfujiwara/20081014/1223980412
太牛了,日语
返回列表
开源邮件服务器 开源邮件服务器 web 开源邮件 开源 mail 开源 邮件服务器 邮件技术 mail技术 反垃圾邮件 反垃圾mail mail投递
邮件服务器 mail服务器 开源软件 mail软件 mail服务新品牌 开源邮件服务新品牌
开源mail服务新网站 邮件服务新品牌 mail tmail mailserver 163邮件 sendmail |Linux维护|Linux代维|成都Linux维护|成都Linux代维