/**************************************************************************/ /* */ /* 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