½Å¼øö scshin@mail.suwon.ac.kr
|
||
¸ñÂ÷ 0. µé¾î°¡±â¿¡ ¾Õ¼
0. µé¾î°¡±â¿¡ ¾Õ¼ ´ë±Ô¸ð À¥¼ºñ½º¸¦ Á¦°øÇϱâ À§ÇÑ ¼Ö·ç¼ÇÀÎ ºÎÇϺλêŬ·¯½ºÅ͸¦ Á¦ÀÛÇÏ°í À̸¦ °ü¸®Çϱâ À§ÇÑ °£´ÜÇÑ ÇÁ·Î±×·¥À» Á¦ÀÛÇÏ¿´À¸¸ç º» ¹®¼¿¡¼´Â ÀÌ ¹æ¹ýÀ» ¼³¸íÇÏ°íÀÚ ÇÑ´Ù. Ŭ·¯½ºÅÍ´Â ÇöÀç ³Î¸® ¾Ë·ÁÁø ¹æ¹ýÀÎ LVS(LinuxVirtualServer)¿¡¼µµ NAT ¹æ½ÄÀ» ÀÌ¿ëÇؼ Á¦ÀÛÇÏ¿´À¸¸ç, ¸®¾ó¼¹öÀÇ Fail Over ´Â Á÷Á¢ ÀÛ¼ºÇÑ MiniMMD ¶ó´Â ÇÁ·Î±×·¥¿¡ ÀÇÇØ ÀÌ·ç¾îÁö°í ÀÖÀ¸¸ç ·Îµå¹ë·±¼ÀÇ fail over´Â ¾ÆÁ÷ ±¸ÇöµÇÁö ¾ÊÀº »óÅÂÀÌ´Ù. ¹°·Ð ha-linux.org¿¡¼ Á¦°øÇÏ´Â ¹æ¹ýÀ¸·Î ¶Ç´Â ·¹µåÇÞ ÆÐÅ°ÁöÀÎ piranha ·Î ±¸ÇöÇÒ ¼ö ÀÖÁö¸¸ ÇÊÀÚ´Â ±¸Çö¿¡ ÇÊ¿äÇÑ ¿©·¯ °³ÀÇ ¾ÆÀÌÇÇ°¡ ¾ø¾î¼ º¸·ùÇصР»óÅÂÀÌ´Ù. ±×¸®°í ÀÌ ¹æ¹ýÀº ¿ÏÀüÇÑ fail over¸¦ Á¦°øÇÏÁö ¸øÇÏ´Â ´ÜÁ¡°ú ³ëµåÀÇ ³¶ºñ¶ó´Â ´ÜÁ¡ÀÌ ÀÖ´Ù. ÇöÀç ¸ÅµÎ»ç´Â http://www.moo.pe.kr/ http://medusa.linuxchannel.net/ ¿¡¼ ¼ºñ½ºµÇ°í ÀÖ´Ù. ÇÏÁö¸¸ ¸¹Àº °ÍÀ» ±â´ëÇÏÁö´Â ¸»¶ó. Çб³ÀÇ ³×Æ®¿öÅ© ¼º´É°ú ¸ÅµÎ»çÀÇ ¼º´ÉÀ¸·Î ÀÎÇØ ¸¹Àº °æ¿ì ¸Å¿ì ´À¸®°Ô ¶á´Ù. ¹°·Ð Çб³ ¾È¿¡¼´Â ¸Å¿ì ºü¸£°Ô ¶á´Ù. ¶ÇÇÑ Çб³ ³»¿¡ ÀÖÀ¸¹Ç·Î Á¤Àü, Å×½ºÆ® µîÀÇ ÀÌÀ¯·Î Á¾Á¾ Á¢¼ÓÀÌ ¾ÈµÇ°ï ÇÑ´Ù. ºÎÇϺлê Ŭ·¯½ºÅÍ È¨ÆäÀÌÁö http://www.linuxvirtualserver.org/ °í°¡¿ë¼º ¼Ö·ù¼Ç http://www.linuxvirtualserver.org/HighAvailability.html
1. MEDUSA Ŭ·¯½ºÅÍ Å¬·¯½ºÅ͸¦ ¾Æ·¡¿Í °°Àº »ç¾çÀ¸·Î ±¸¼ºÇÑ ÀÌÀ¯´Â ¾Æ·¡ÀÇ °ÍµéÀÌ ±¸ÇÒ ¼ö ÀÖ´Â ÀüºÎ¿´±â ¶§¹®ÀÌ´Ù. ³ëµå»ç¾ç : Pentium 150~120Mhz
2. Ŭ·¯½ºÅÍÀÇ ÀÛµ¿ ¹æ½Ä 1. ÀÎÅͳݿ¡¼ ÆäÀÌÁö¿äûÀÌ medusa¿¡°Ô µé¾î¿Â´Ù. ÀÌ·¯ÇÑ ¹æ¹ýÀ¸·Î 󸮸¦ ÇÔÀ¸·Î½á ¸ðµç ¿äûÀ» ·Îµå¹ë·±¼(medusa)°¡ ó¸®ÇØÁÖ´Â °Íó·³ º¸¿©Áø´Ù. º¸´Ù½ÃÇÇ ÀÌ·¸°Ô ÆÐŶÀ» º¯°æ½ÃÅ°´Â ´É·ÂÀ» ·Îµå¹ë·±¼ÀÇ Ä¿³Î¿¡ ÀûÀç½ÃÄÑ¾ß Çϸç ÀÌ°ÍÀ» µÚ¿¡¼ ´ëÃæ(^^)¼³¸íÇÏ°Ú´Ù.
3. Á¦ÀÛ ¹æ¹ý LVS¿¡¼ Á¦°øÇÏ´Â ¹æ½ÄÀº Å©°Ô ´ÙÀ½ÀÇ 3°¡Áö°¡
ÀÖ´Ù. IP Tunneling ¹æ½ÄÀº ¼ºñ½º ¿äûÀÌ µé¾î¿À¸é ¿äûÆÐŶÀ» ĸ½¶ÈÇؼ Ŭ·¯½ºÅͳ»ÀÇ ³ëµåµé¿¡°Ô Àü¼ÛÇØÁØ´Ù. ÀÌ°ÍÀº ÀÀ´äÀÌ ¶ó¿ìÅ͸¦ °ÅÃļ ³ª°¡Áö ¾ÊÀ¸¹Ç·Î ÇϳªÀÇ ¶ó¿ìÅÍ°¡ ¸Å¿ì ¸¹Àº ³ëµåµéÀ» °Å´À¸± ¼ö°¡ ÀÖ´Ù. ±×·¯³ª ´ÜÁ¡Àº Ŭ·¯½ºÅͳ»ÀÇ ³ëµåµéÀÌ Ä¸½¶ÈµÈ ÆÐŶÀ» Çؼ®ÇÒ ¼ö ÀÖ¾î¾ß ÇϹǷΠÇöÀç´Â ¸®´ª½º¿¡¼¸¸ °¡´ÉÇÏ´Ù. ¶ÇÇÑ ¸®¾ó¼¹öµéÀº ¶ó¿ìÅ͸¦ °ÔÀÌÆ®¿þÀÌ·Î »ç¿ëÇÏÁö ¾ÊÀ¸¹Ç·Î ´Ù¸¥ °ÔÀÌÆ®¿þ°¡ ÇÊ¿äÇϰųª °ø½ÄIP¸¦ °¡Áö°í ÀÖ¾î¾ß ÇÑ´Ù DR(Direct Routing)¹æ½ÄÀº Ŭ·¯½ºÅÍÀÇ È®À强À» ³ôÀ̱â À§ÇØ IP NAT ¹æ½Ä°ú IP tunneling¹æ½ÄÀÇ ÀåÁ¡¸¸À» °¡Á®¿Â ¹æ½ÄÀÌ´Ù. Áï ¼ºñ½º¿äûÀÌ µé¾î¿À¸é ÆÐŶÀ» ÃÖ¼ÒÇÑÀ¸·Î »¡¸® °¡°øÇÏ¿© ¸®¾ó¼¹ö¿¡°Ô º¸³»¸é ¸®¾ó¼¹ö´Â ´Ù¸¥ ·çÆ®¸¦ ÅëÇÏ¿© ÀÀ´äÀ» º¸³»´Â °ÍÀÌ´Ù. ¶ó¿ìÅÍ°¡ ¿äûÆÐŶ¿¡ MAC ¾îµå·¹½º¸¦ Ãß°¡ÇÑ´Ù. ÀÌ°ÍÀº À¯ÀÏÇÑ ¸®¾ó¼¹ö¸¦ °áÁ¤ÇÒ ¼ö ÀÖ°Ô ÇØÁØ´Ù. ÀÌ°ÍÀ» À§Çؼ´Â ¸ðµç ³ëµåµéÀÌ ´ÜÀÏ segment¿¡ Á¸ÀçÇØ¾ß ÇÑ´Ù ÀÌ ¹®¼¿¡¼ ¼³¸íÇÏ´Â NATÀÇ °æ¿ì´Â node2, node3, node4 ´Â ¹Ýµå½Ã ¸®´ª½ºÀÏ ÇÊ¿ä°¡ ¾ø´Ù. NAT ¹æ½ÄÀº TCP°¡ Áö¿øµÇ´Â OSÀ̱⸸ ÇÏ¸é µÇ±â ¶§¹®ÀÌ´Ù. Áï NT,window2000,OS/2 µîÀÌ ¸ðµÎ °¡´ÉÇÏ¸ç ¼³Ä¡ ¹ýÀº ÀÏ¹Ý ¸®´ª½º ¹Ú½º¿Í °ÅÀÇ µ¿ÀÏÇÏ´Ù. ´Ù¸¸ ¸®¾ó¼¹öÀÇ °ÔÀÌÆ®¿þÀÌ´Â medusa °¡ µÇ¾î¾ß Çϸç, ¸®¾ó¼¹öµéÀÇ ¾ÆÀÌÇÇ´Â ³» ¸¶À½´ë·Î Á¤ÇØÁ־ µÈ´Ù´Â °ÍÀÌ ´Ù¸£´Ù¸é ´Ù¸¥ °ÍÀÌ´Ù. ¿ì¸®´Â medusa ¶ó°í ¸í¸íµÈ ¶ó¿ìÅÍ(·Îµå¹ë·±¼)·Î »ç¿ëµÉ ¸Ó½ÅÀ» Àû´çÈ÷ Æ©´×ÇÏ´Â °ÍÀ¸·Î½á Ŭ·¯½ºÅ͸¦ ±¸¼ºÇÒ ¼ö ÀÖ´Ù. ÀÌ ±ÛÀ» Àд ºÐÀÌ Ä¿³ÎÆÐÄ¡¿Í ÄÄÆÄÀÏ °æÇèÀÌ ÀÖ´Ù¸é Ŭ·¯½ºÅÍ Á¦ÀÛÀº ¸Å¿ì ½¬¿ì¹Ç·Î ÀÌ ¹®¼¿¡¼´Â ¼³Ä¡¿¡ ´ëÇÑ ÀÚ¼¼ÇÑ ¼³¸íÀº ÇÏÁö ¾ÊÀ» °ÍÀÌ´Ù. ±×¸®°í Ä¿³ÎÆÐÄ¡¿Í ÄÄÆÄÀÏ °æÇèÀÌ ¾ø´Â ºÐµéÀº Ä¿³Î ÄÄÆÄÀÏ¿¡ ´ëÇÑ ¾à°£ÀÇ °øºÎ¸¦ ÇÏ¸é µÈ´Ù. (Ä¿³ÎÆÐÄ¡¿Í ÄÄÆÄÀÏ ¿ª½Ã ½±´Ù ^^; Ä¿³Î ÆÐÄ¡´Â ÀϹÝÀûÀ¸·Î cat patch-file | patch -p1 °ú °°Àº ¸í·ÉÀ¸·Î ÀÌ·ç¾îÁö¸ç Á¤È®ÇÑ °ÍÀº Á¦°øµÇ´Â ÆÐÄ¡ÆÄÀÏÀÇ ¼³¸í¼¿¡ Á¦°øµÉ °ÍÀÌ´Ù. Ä¿³Î ÄÄÆÄÀÏÀ» Çϴµ¥´Â http://kldp.org/KoreanDoc/Kernel_Compile-KLDP ¹®¼¸é ÃæºÐÇÏ´Ù) ÀÏ´Ü °£´ÜÇÑ Á¦ÀÛ ¼ø¼´Â http://www.linuxvirtualserver.org/software/index.html ¿¡¼ ÃÖ½ÅÀÇ ÆÐÄ¡¸¦ ¹Þ¾Æ¿Â ÈÄ Ä¿³ÎÆÐÄ¡¸¦ ÇÏ°í Àû´çÈ÷ ÄÄÆÄÀÏÇÑ´Ù ±×¸®°í ÇÁ·ÒÇÁÆ® »ó¿¡¼ ¸î °³ÀÇ ¸í·ÉÀ» ÀÔ·ÂÇÏ´Â °ÍÀ¸·Î ¸ðµç ¼³Ä¡°¡ ³¡³´Ù. ±×¸®°í Àç ºÎÆýà ¼³Á¤ÀÌ Áö¿öÁö¹Ç·Î /etc/rc.d/rc.local ¶Ç´Â ·¹µåÇÞÀÇ °æ¿ì /etc/rc.d/rc.local.mine ¿¡ µ¿ÀÏÇÑ ¸í·ÉÀ» ³Ö¾îÁÖ¸é µÈ´Ù. ÀÌ°Í¿¡ ´ëÇÑ ¼³¸íÀº http://www.linuxvirtualserver.org/VS-NAT.html ¿¡ ÀÚ¼¼È÷ ³ª¿ÍÀÖ´Ù. ¿µ¹®ÀÌ ºÎ´ã½º·´´Ù¸é http://tunelinux.pe.kr/virtual/ ¿¡ ¹ø¿ªÆÇÀÌ ÀÖÀ¸¸ç, kldp.org ¿¡µµ ¹ø¿ªÆÇÀÌ ÀÖ´Ù.
4. Fail Over ÇÊÀÚÀÇ ¸ÅµÎ»ç Ŭ·¯½ºÅÍ´Â ¸î¸îÀÇ ¸®¾ó¼¹ö°¡ ´Ù¿î‰çÀ» ¶§ ½É°¢ÇÑ ¹®Á¦°¡ ¹ß»ýÇÑ´Ù. ¿¹¸¦ µé¾î node3 ÀÌ ´Ù¿îµÇ¾ú´Ù¸é node2·ÎºÎÅÍ Á¦°øµÇ´Â ÆäÀÌÁöµéµµ Á¦´ë·Î Ç¥½ÃµÇÁö ¾Ê´Â °ÍÀ» º»ÀûÀÌ ÀÖ´Ù. ¾î·µç ¾ÈÁ¤ÀûÀÎ ¼ºñ½º¸¦ À§Çؼ fail over´Â ¹Ýµå½Ã ÀÌ·ç¾îÁ®¾ß ÇÑ´Ù. fail over¿¡´Â µÎ °¡Áö°¡ ÀÖ´Ù Çϳª´Â ¸®¾ó¼¹öÀÇ fail over ¿Í Çϳª´Â ·Îµå¹ë·±¼ÀÇ fail over ÀÌ´Ù. ¸®¾ó¼¹öÀÇ fail over´Â °£´ÜÇÑ ¹®Á¦ÀÌ´Ù. ÇÏÁö¸¸ ·Îµå¹ë·±¼ÀÇ fail over´Â °£´ÜÇÏÁö ¾Ê´Ù. º»¹®¼¿¡¼´Â ¸®¾ó¼¹öÀÇ fail over¸¦ À§ÇÑ °£´ÜÇÑ ÇÁ·Î±×·¥ ¼Ò½º¿Í ÇÔ²² ¼³¸íÀ» ÇÒ °ÍÀÌ´Ù. ±Û°í ·Îµå¹ë·±¼ÀÇ fail over ´Â '0. µé¾î°¡±â¿¡ ¾Õ¼' ¶õ¿¡ ÀÖ´Â °í°¡¿ë¼º ¼Ö·ç¼ÇÀ» Âü°í Çϱ⠹ٶõ´Ù. ¸®¾ó¼¹öÀÇ ±âº» ¾ÆÀ̵ð¾î´Â ÁÖ±âÀûÀ¸·Î ¸®¾ó¼¹ö¿¡°Ô À¥ÆäÀÌÁö ¿äûÀ» ÇÏ¿© Á¦´ë·Î ÀÀ´äÀ» ÇÏ´ÂÁö¸¦ üũÇÏ°í ÀÀ´äÀÌ ¾øÀ¸¸é ÇØ´ç ¸®¾ó¼¹ö°¡ fail µÇ¾úÀ½À¸·Î ¾ÕÀ¸·Î µé¾î¿À´Â ¿äûÀ» ±×°÷À¸·Î Àü¼Û(transation)ÇÏÁö ¾Êµµ·Ï ÇØÁÖ´Â °ÍÀÌ´Ù. ÀÌ °ÍÀº ¸®¾ó¼¹ö°¡ fail ‰çÀ» ¶§ °ü¸®ÀÚ°¡ Äֻܼ󿡼 ÇØÁÖ´Â Çൿ°ú ÀÏÄ¡ÇÏ¸ç ´Ù¸¸ À̸¦ ÇÁ·Î±×·¥È ÇÑ °Í»ÓÀÌ´Ù. ¿¹¸¦ µé¾î wget http://node3/ ¸í·ÉÀ¸·Î node3 À¸·ÎºÎÅÍ À¥ÆäÀÌÁö¸¦ °¡Á®¿À·Á°í ÇßÀ¸³ª ½ÇÆÐÇß´Ù¸é °ü¸®ÀÚ´Â ipvsadm -d -t medusa:80 -R node3:80 °ú °°Àº ¸í·ÉÀ¸·Î ´õ ÀÌ»ó ¸ÞµÎ»ç·Î ¿À´Â ¿äûÀ» node3 À¸·Î º¸³»Áö ¸øÇϵµ·Ï ÇÒ °ÍÀÌ´Ù. ÀÌ·¯ÇÑ ¹æ¹ýÀ¸·Î Àüü ¾Ë°í¸®ÁòÀ» ¼³°èÇغ¸¸é
¾Æ·¡¿Í °°´Ù.
5. source ´ÙÀ½Àº ½ÇÁ¦ ¸®¾ó¼¹öÀÇ fail over¸¦ Áö¿øÇÏ´Â ÇÁ·Î±×·¥ÀÌ´Ù. C ¾ð¾î¿¡ ´É¼÷ÇÏ´Ù¸é ½±°Ô ÀÌÇØÇÒ ¼ö ÀÖÀ» °ÍÀÌ´Ù. ±×¸®°í ±×·¸Áö ¾Ê´ÙÇصµ ¸ÞÀκκÐÀº ½±°Ô ÀÌÇØÇÒ ¼ö ÀÖÀ» °ÍÀÌ¸ç ¸ÞÀÎ ºÎºÐÀÇ º¯°æ¸¸À¸·Î ÀÚ½ÅÀÇ Å¬·¯½ºÅÍ¿¡ Àû¿ëÇÒ ¼ö ÀÖ´Ù. ÇöÀç ÇÁ·Î±×·¥Àº 3°³ÀÇ ¸®¾ó¼¹ö(node1, node3, node4)¸¦ °¡Áö°í ÀÖ´Â °æ¿ìÀÌ¸ç °ÔÀ¸¸¥ ºÐÀº ±½Àº ±Û¾¾·Î µÈ ºÎºÐÀ» Àû´çÈ÷ °íÃļ »ç¿ëÇÏ¸é µÈ´Ù. ±×¸®°í ³²ÀÇ ÇÁ·Î±×·¥À» ºÐ¼®ÇÏ´Â °ÍÀº ¼Ò½º°¡ ÀÛ´õ¶óµµ ¸Å¿ì Àç¹Ì¾ø´Â °æ¿ì°¡ ¸¹´Ù. ƯÈ÷ ÇÊÀÚÀÇ ÇãÁ¢ÇÑ Äڵ忡 Â¥ÁõÀÌ ³¯ ¼öµµ ÀÖ´Ù. ÀÌ·± ºÐµéÀº TcpConnect() ¸¸ µû¼ Á÷Á¢ ÇÁ·Î±×·¥À» ÀÛ¼ºÇÏ´Â °Íµµ ÁÁÀº ¹æ¹ýÀÌ´Ù. À§ÀÇ ¾Ë°í¸®Áò¿¡¼ IsAlive() ¿¡ ÇØ´çÇÏ´Â ·çƾÀÌ´Ù. ±×¸®°í Âü°í·Î TcpConnect() ¿¡¼ TcpSend() ¿Í TcpRecv()¸¦ È£ÃâÇϹǷΠ3°³ÀÇ ·çƾÀ» º¹»çÇؼ »ç¿ëÇÏ¿©¾ß ÇÑ´Ù.
5. MMD ÇÁ·ÎÁ§Æ® °³ÀÎÀûÀ¸·Î Ŭ·¯½ºÅÍÀÇ ¿©·¯ µ¥¸óÀÇ ¸ð´ÏÅ͸µ°ú
fail over¸¦ À§ÇÑ ÇÁ·Î±×·¥À» Á¦ÀÛÇÏ´Â ÇÁ·ÎÁ§Æ®ÀÌ´Ù. ¾ÆÁ÷Àº ½ÃÀÛ´Ü°èÀ̸ç,
Ãʱ⠹öÀüµµ ¿Ï¼ºµÇÁö ¾ÊÀº »óÅÂÀÌ´Ù. |