/**************************************************************************/
/* */
/* MAKUOSAN README.ja */
/* Multicasts All-Kinds of Updating Operation */
/* for Servers on Administered Network */
/* */
/* Copyright (C) 2008 KLab Inc. */
/**************************************************************************/
ãmakuosanã¨ã¯ã
ãmakuosanï¼ã¾ããããï¼éç§°ãã¾ãããï¼ã¯ãè¤æ°ã®ãµã¼ãã¸åæã«ãã¡ã¤ã«ã転
éããã½ããã¦ã¨ã¢ã§ãã以ä¸ã®ãããªç¹å¾´ãããã¾ãã
ã»è»¢éã«ãããæéããµã¼ãå°æ°ã«ä¾åããªã
ããµã¼ããå¢ãã¦ãã転éã«ãããæéã¯ã»ã¨ãã©ãããã¾ããã10å°ã®ãµã¼ãã«è»¢
ãéãã¦ãã20å°ã®ãµã¼ãã«è»¢éãã¦ããã»ã¨ãã©åãæéã§å®äºãã¾ãããã ãã
ã転éæéã¯ä¸çªå¿çãé
ããµã¼ãã®æ§è½ã«å¼ã£å¼µãããã®ã§ãåç¨åº¦ã®ã¹ããã¯ã®
ããµã¼ãã§æ§ç¯ãããç°å¢ã§å©ç¨ãããã¨ãæã¾ããã§ãã
ã»ãã¹ã¦ã®ãµã¼ãã®ãã¡ã¤ã«ãåæã«æ´æ°
ããã«ããã£ã¹ãã§ãã¡ã¤ã«ã転éããã®ã§ããã¹ã¦ã®ãµã¼ãã®ãã¡ã¤ã«ãä¸æã«æ´
ãæ°ããã¾ãããã®ãããããã®ãµã¼ãã®ãã¡ã¤ã«ã¯æ´æ°ããã¦ãããã©ããã®ãµã¼
ããã®ãã¡ã¤ã«ã¯ã¾ã æ´æ°ããã¦ããªããã¨ãã£ããã¨ãããã¾ããã
ã»é¢åãªè¨å®ã¯ä¸è¦
ããã¾ãããã®ã¡ã¤ã³ããã°ã©ã ã¯ãå
¨ãµã¼ãã«ãã¼ã¢ã³ã¨ãã¦å¸¸é§ããã¦ããã¾ãã
ãããããã®ãµã¼ãã«å¸¸é§ãã¦ãããã¾ãããã¯ãäºãã®åå¨ã確èªããããã¨ã§ã
ãèªåçã«ãããã¯ã¼ã¯ä¸ã®ãµã¼ãæ§æãææ¡ãã¾ãããããã£ã¦ããµã¼ãå¢è¨ãæ¤
ãå»ã®éã§ããæ¢è¨ãµã¼ãã®è¨å®ã夿´ããå¿
è¦ã¯ããã¾ããã
ãã¤ã³ã¹ãã¼ã«æ¹æ³ã
$ tar zxvf makuosan-x.x.x.tar.gz
$ cd makuosan-x.x.x
$ ./configure
$ make
$ su -
# make install
ããã¡ã¤ã«æ§æã
ã以ä¸ã®ãã¡ã¤ã«ãã¤ã³ã¹ãã¼ã«ããã¾ãã
/usr/local/sbin/makuosan # ã¾ããããæ¬ä½
/usr/local/bin/msync # ã³ãã³ãã©ã¤ã³ãã¼ã«
ãèµ·åã¨åæ¢ã
ãã¾ãããå©ç¨ããã«ã¯ãéä¿¡å
ã¨éä¿¡å
ã®ãµã¼ããã¹ã¦ã§makuosanãèµ·åãã¦ãã
å¿
è¦ãããã¾ããã¾ããèµ·åæã«ã¯ -b ãªãã·ã§ã³ã§ãã¼ã¹ãã£ã¬ã¯ããªãæå®ãã¾
ãã転éãããã¡ã¤ã«ã¯ãmsyncã§ãã¼ã¹ãã£ã¬ã¯ããªããã®ç¸å¯¾ãã¹ãæå®ãã¾ãã
# makuosan -b /var/www -u www-data -g www-data
ã¾ããã忢ããã«ã¯ãkillã³ãã³ããªã©ã§SIGTERMãéãã¾ãã
# pkill makuosan
ãä½¿ç¨æ¹æ³ã
ããã¡ã¤ã«è»¢éã¯ãmakuosanãåãã¦ãããµã¼ãä¸ã§msyncã³ãã³ããå®è¡ãã¾ãã
ä¾1ï¼ãã¼ã¹ãã£ã¬ã¯ããªä»¥ä¸ã®ãã£ã¬ã¯ããªããªã¼ãå
¨é¨è»¢éãã
$ msync -r
ãä¾2ï¼è»¢éããããã¡ã¤ã«ã確èªãã(dry run)
$ msync -rn
ä¾3ï¼ãã¼ã¹ãã£ã¬ã¯ããªç´ä¸ã®index.htmlã転éãã(/var/www/index.html)
$ msync index.html
msyncã§æå®ãããã¡ã¤ã«ããã£ã¬ã¯ããªã¯ãmakuosanèµ·åæã«æå®ãããã¼ã¹ãã£
ã¬ã¯ããªããã®ç¸å¯¾ãã¹ã§ããã«ã¬ã³ããã£ã¬ã¯ããªã¯ä¸åé¢ç¥ãã¾ããã®ã§ã注
æãã ããããã¼ã¹ãã£ã¬ã¯ããªã¯ä»¥ä¸ã®ã³ãã³ãã§ç¢ºèªãããã¨ãã§ãã¾ãã
$ msync --status
ã¾ãã転éå
ãµã¼ãã®ä¸è¦§ã¯ä»¥ä¸ã®ã³ãã³ãã§åå¾ã§ãã¾ã
$ msync --members
ãå©ç¨ããã¡ãªããã
rsyncãscpãªã©ã®ã1対1ã®ãã¡ã¤ã«è»¢éãã¼ã«ã§ã¯ãå¿
ã転éå
ãæå®ãã¾ããã
ãã¾ãããã§ã¯ãã³ãã³ãã©ã¤ã³ãã転éå
ãæå®ããå¿
è¦ãããã¾ããã
rsyncãscpã§è¤æ°ã®ãµã¼ãã«å¯¾ãã¦ãã¡ã¤ã«ã転éãããå ´åã以ä¸ã®ããã«ãµã¼
ãã®æ°ã ãå®è¡ããå¿
è¦ãããã¾ãã
$ for h in host2 host3 host4 host5 host6;do rsync -aRv hogehoge $h:/;done
ããã¾ãããã§ã¯ãmakuosanãèµ·åãã¦ãããµã¼ãå士ã§ãã¡ã¤ã«ã®è»¢éããã¾ãã
ãã®ããã転éããããã¡ã¤ã«ããã£ã¬ã¯ããªãä¸åº¦æå®ããã ãã§æ¸ã¿ã¾ãã
$ msync -r hogehoge
ãã®ã³ãã³ãã²ã¨ã¤ã§ãã¾ãããã稼åãã¦ããå
¨ã¦ã®ãµã¼ãã« hogehogeã転éã
ããã¨ãã§ãã¾ãã
ã¾ããæå®ãããµã¼ãã«ã ã転éããããã¨ãããã¼ãºã®ããã«ãç¹å®ã®ãµã¼ãã«ã
ã転éãããªãã·ã§ã³(-t)ãç¨æãã¦ãã¾ãããã®å ´åããéä¿¡å
ã¨éä¿¡å
ã®ãµã¼ã
ã§makuosanãåãã¦ããå¿
è¦ãããã¾ãã
$ msync -t host3 -r hogehoge/
ãç°¡åãªä½¿ç¨ä¾ã
== ãããã¯ã¼ã¯æ§æ ==
host1ã®ãã¡ã¤ã«ã host2, host3, host4ã«è»¢éãã¾ãã
+-------+
| host2 |
+-------+
|
+-------+ +-----------+ +-------+
| host1 |-----| L2 SWITCH |-----| host3 |
+-------+ +-----------+ +-------+
|
+-------+
| host4 |
+-------+
== makuosanãèµ·åãã ==
host1:~# makuosan -b /var/www -u www-data -g www-data
host2:~# makuosan -b /var/www -u www-data -g www-data
host3:~# makuosan -b /var/www -u www-data -g www-data
host4:~# makuosan -b /var/www -u www-data -g www-data
== 転éãããã¡ã¤ã«ãä½ã ==
host1ã® /var/www/ 以ä¸ã«ãã¡ã¤ã«ãä½ãã¾ãã
host1:~# cd /var/www/
host1:/var/www# echo hoge > hoge.html
host1:/var/www# echo fuga > fuga.html
host1:/var/www# chown www-data:www-data hoge.html fuga.html
host1:/var/www# ls -la
total 16
drwxr-xr-x 3 root root 176 Oct 10 10:31 .
drwxr-xr-x 15 root root 360 Oct 9 04:52 ..
-rw-r--r-- 1 www-data www-data 5 Oct 10 10:31 fuga.html
-rw-r--r-- 1 www-data www-data 5 Oct 10 10:31 hoge.html
ä»ã®ãã¹ãã«ã¯ãã¡ã¤ã«ã¯ããã¾ããã
host2:/var/www# ls -la
total 16
drwxr-xr-x 3 root root 176 Oct 10 10:31 .
drwxr-xr-x 15 root root 360 Oct 9 04:52 ..
host3:/var/www# ls -la
total 16
drwxr-xr-x 3 root root 176 Oct 10 10:31 .
drwxr-xr-x 15 root root 360 Oct 9 04:52 ..
host4:/var/www# ls -la
total 16
drwxr-xr-x 3 root root 176 Oct 10 10:31 .
drwxr-xr-x 15 root root 360 Oct 9 04:52 ..
== ãã¡ã¤ã«ã転éãã ==
host1:~$ msync -r
== 転éããããã¡ã¤ã«ãç¢ºèª ==
host2:/var/www# ls -la
total 16
drwxr-xr-x 3 root root 176 Oct 10 10:31 .
drwxr-xr-x 15 root root 360 Oct 9 04:52 ..
-rw-r--r-- 1 www-data www-data 5 Oct 10 10:31 fuga.html
-rw-r--r-- 1 www-data www-data 5 Oct 10 10:31 hoge.html
host3:/var/www# ls -la
total 16
drwxr-xr-x 3 root root 176 Oct 10 10:31 .
drwxr-xr-x 15 root root 360 Oct 9 04:52 ..
-rw-r--r-- 1 www-data www-data 5 Oct 10 10:31 fuga.html
-rw-r--r-- 1 www-data www-data 5 Oct 10 10:31 hoge.html
host4:/var/www# ls -la
total 16
drwxr-xr-x 3 root root 176 Oct 10 10:31 .
drwxr-xr-x 15 root root 360 Oct 9 04:52 ..
-rw-r--r-- 1 www-data www-data 5 Oct 10 10:31 fuga.html
-rw-r--r-- 1 www-data www-data 5 Oct 10 10:31 hoge.html