åãªãã¡ã¢ã§ãã
- ãã¹ãã 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ã·ãªã¼ãº)](http://ecx.images-amazon.com/images/I/51uK4ACymiL._SL160_.jpg)
- ä½è : å®äºç伸,横å·åå,ã²ããã¾ããã,ä¼è¤ç´ä¹,ç°ä¸æ å¸,åè¦ç¥å·±
- åºç社/ã¡ã¼ã«ã¼: æè¡è©è«ç¤¾
- çºå£²æ¥: 2008/08/07
- ã¡ãã£ã¢: åè¡æ¬ï¼ã½ããã«ãã¼ï¼
- è³¼å ¥: 133人 ã¯ãªãã¯: 2,270å
- ãã®ååãå«ãããã° (289ä»¶) ãè¦ã
- VIP: 192.168.0.40
- drbd1: 192.168.0.41
- drbd2: 192.168.0.42
# yum install drbd82 kmod-drbd82 # tar zxvf keepalived-1.1.15.tar.gz # cd keepalived-1.1.15 # ./configure # make # make rpm # rpm ãã§ãã # rpm -Uvh keepalived-1.1.15-5.i386.rpm # rpm -Uvh daemontools-toaster-0.76-1.3.3.i386.rpm
/etc/drbd.conf
common { syncer { rate 100M; } } resource r1 { protocol C; on drbd1 { device /dev/drbd1; disk /dev/sdc; address 192.168.0.41:7790; meta-disk internal; } on drbd2 { device /dev/drbd1; disk /dev/sdc; address 192.168.0.42:7790; meta-disk internal; } }
# modprobe drbd # drbdadm create-md all # ã¡ã¿ãã£ã¹ã¯ä½æ (両æ¹ã§) # drbdadm up all # èµ·å (両æ¹ã§) # drbdadm -- --overwrite-data-of-peer primary all # æåã« primary -> secondary ã®åæãåã (ãã¹ãdrbd1ã®ã¿) # 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
vrrp_instance DRDB { state BACKUP interface eth0 garp_master_delay 5 virtual_router_id 200 priority 100 nopreempt advert_int 1 authentication { auth_type PASS auth_pass XXXX } virtual_ipaddress { 192.168.0.40/24 dev eth0 } notify_master "/usr/local/sbin/drbd-master" notify_backup "/usr/local/sbin/drbd-backup" notify_fault "/usr/local/sbin/drbd-backup" }
ãã¹ã¿ã¼ã«ãªã£ãã¨ãã«è¡ãå¦ç /usr/local/sbin/drbd-master
#!/bin/sh drbdadm primary all service iscsi-target start
ããã¯ã¢ããã«ãªã£ãã¨ãã«è¡ãå¦ç /usr/local/sbin/drbd-backup
#!/bin/sh service iscsi-target stop drbdadm secondary all
daemontools ãã keepalived ãèµ·åããããã®ã¹ã¯ãªãã /etc/daemon/keepalived/run
#!/bin/sh [ -f /var/run/vrrp.pid ] && exit exec 2>&1 trap 'kill -TERM $PID' TERM trap 'kill -HUP $PID' HUP trap 'kill -INT $PID' INT keepalived -n -S 1 --vrrp & PID=$! wait $PID /usr/local/sbin/drbd-backup
/etc/inittab ã«ä»¥ä¸ã追å
# daemontools SV:123456:respawn:/usr/bin/svscanboot