[L4 ½ºÀ§Ä¡ ¾øÀÌ Load Balancing ±¸¼ºÇϱâ - crossroads]
°í°¡¿ë¼º ½Ã½ºÅÛ ±¸¼ºÀ» À§ÇØ L4 ½ºÀ§Ä¡¸¦ ¸¹ÀÌ »ç¿ëÇÑ´Ù. ÇÏÁö¸¸ ¸®´ª½º¿¡´Â L4 ½ºÀ§Ä¡°¡ ÇÏ´Â ¿ªÇÒÀ» ´ë½Å ÇÒ¼öÀÖ´Â ¿ÀǼҽº°¡ ¸¹ÀÌ Á¸ÀçÇÑ´Ù. ´ëÇ¥ÀûÀÎ°Ô Zen,Haproxy,ipvsadm, crossroads µîÀÌ ÀÖ´Ù. ÀÌÁß¿¡¼ ¿À´ÃÀº crossroads ¶ó´Â ¿ÀǼҽº¿¡ ´ëÇØ¼ Çѹø ¾Ë¾Æº¸µµ·Ï ÇϰڴÙ.
crossroads ´Â L4 Àåºñ°¡ ¼öÇàÇÏ´Â ±âº»ÀûÀÎ ·Îµå¹ë·±½º ±â´ÉÀ» °¡Áö°íÀÖ´Ù. 2´ëÀÌ»óÀÇ ¼¹ö°¡ ¼ºñ½ºÁß¿¡ 1´ë°¡ Àå¾Ö°¡ ¹ß»ýÇÒ°æ¿ì ³ª¸ÓÁö 1´ëÀÇ ¼¹ö·Î ÀÚµ¿À¸·Î TCP ¿¬°áÀÌ µÇµµ·Ï ±¸¼ºµÇ¾îÀÖ´Ù.

B1,B2,B3 ´Â ¼·Î µ¥ÀÌÅͰ¡ °øÀ¯µÇ°í ÀÖÀ¸¸ç, Ŭ·¯½ºÅÍ, glusterfs, nfs µî µ¥ÀÌÅÍ °øÀ¯°¡ µÇ°íÀÖ´Â »óÅ´Ù.
¼³Ä¡¹æ¹ýµµ °£´ÜÇϸç Àß È°¿ëÇϸé load balancing À» ±¸¼ºÇÏ¿© ½±°Ô »ç¿ëÇÒ¼ö ÀÖ´Ù.
XR crossroads Gateway Server : 192.168.0.8
WEB 1 : 192.168.0.2:80
WEB 2 : 192.168.0.4:80
WEB1°ú WEB2´Â µ¿ÀÏÇÏ°Ô ¼ÂÆÃ µÈ ¼¹ö ÀÌ´Ù. µ¥ÀÌÅÍ µ¿±âÈ´Â ±Û·¯½ºÅÍ, NFC, rsync µî ¿©·¯¹æ¹ýÀ» ÀÌ¿ëÇÏ¿© µ¿±âȸ¦ ÁøÇà½ÃÄѳõ´Â´Ù.
3´ëÀÇ ¼¹ö ¸ðµÎ SUlinux 2014 R6 64bit ¹öÀüÀ» ÀÌ¿ëÇÏ¿© ¼³Ä¡ÇÏ¿´´Ù.
[¼³Ä¡¹æ¹ý]
gcc ÄÄÆÄÀÏ·¯°¡ ÇÊ¿äÇÏ´Ù. ¾Æ·¡¿Í °°ÀÌ ¼³Ä¡ÇØÁØ´Ù.
yum install gcc gcc-c++ make
ÇÏÁö¸¸ sulinux °¡ ¼³Ä¡µÇ¾îÀÖ´Ù¸é gcc ´Â ¼³Ä¡ ÇÏÁö ¾Ê¾Æµµ µÈ´Ù.
wget https://crossroads.e-tunity.com/downloads/crossroads-stable.tar.gz
tar xvf crossroads-stable.tar.gz
cd crossroads-2.74
make install
¿¡·¯¾øÀÌ Á¤»óÀûÀ¸·Î ¼³Ä¡°¡ ¿Ï·áµÇ¸é ¾Æ·¡ÀÇ ÆÄÀÏÀ» ¸¸µé¾î ÁØ´Ù.
vi /etc/xrctl.xml
<?xml version=<94>1.0<94> encoding=<94>UTF-8<94>?>
<configuration>
<system>
<uselogger>true</uselogger>
<logdir>/tmp</logdir>
</system>
<service>
<name>M-test</name>
<server>
<address>192.168.0.8:7777</address>
<type>tcp</type>
<webinterface>0:8010</webinterface>
<verbose>yes</verbose>
<clientreadtimeout>0</clientreadtimeout>
<clientwritetimout>0</clientwritetimeout>
<backendreadtimeout>0</backendreadtimeout>
<backendwritetimeout>0</backendwritetimeout>
</server>
<backend>
<address>192.168.0.2:80</address>
</backend>
<backend>
<address>192.168.0.4:80</address>
</backend>
</service>
</configuration>
xrctl ¸í·ÉÀ» ÀÌ¿ëÇÏ¿© ¼ºñ½º¸¦ ½ÃÀÛÇÑ´Ù.
xrctl start
Service Tecmint: started
xrctl status
Service Tecmint: running
7777 port °¡ 80 port ¿¬°áµÉ¼öÀÖµµ·Ï. ÁÖ¼Òâ¿¡ Æ÷Æ®¹øÈ£ ¾øÀÌ Á¢±Ù.
iptables -A PREROUTING -t nat -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 7777
netstat -lnp ¸í·É¾î·Î ¿·ÁÀÖ´Â Æ÷Æ®¸¦ È®ÀÎÇÑ´Ù.
7777Æ÷Æ®´Â XR Server¿¡¼ ¼³Á¤ÇÑ Æ÷Æ®À̸ç 8010Æ÷Æ®´Â °ü¸®ÀÚ ÆäÀÌÁö¿ë Æ÷Æ®ÀÌ´Ù.
tcp 0 0 192.168.0.8:7777 0.0.0.0:* LISTEN 17081/xr-M-test
tcp 0 0 0.0.0.0:8010 0.0.0.0:* LISTEN 17081/xr-M-test
°ü¸®ÀÚ ¸ð´ÏÅ͸µ ÆäÀÌÁö http://¼¹ö¾ÆÀÌÇÇ:8010 À¸·Î Á¢¼ÓÇÑ´Ù.

http://192.168.0.8 ·Î Á¢¼ÓÀ» ÇϰԵǸé WEB1, WEB2 ·Î load balancing °¡ ÀÌ·ï Áö°íÀÖ´Ù.
L4 Àåºñ°¡ ¾øÀ»°æ¿ì DNS·Îµå¹ß¶õ½Ì, IPVSADMµîÀ» ÀÌ¿ëÇØ¼ ¼¹ö±¸¼ºÀÌ °¡´ÉÇϸç À̹ø¿¡ crossroads·Î ±¸¼ºÇØ º¸¾Ò´Ù.
±â°¡±Þ L4Àåºñ´Â ºñ½ÑÆíÀε¥ ¿ÀǼҽº¸¦ Ȱ¿ëÇØ¼µµ ·Îµå¹ß¶õ½Ì ±¸¼ºÀÌ °¡´ÉÇÏ´Ù´Â°É ¾Ë¾Æº¸±â À§Çؼ ¼³Ä¡ÇÏ¿´´Ù.
¼³Ä¡°¡ ½¬¿ì¸ç, °ü¸®°¡ ½±´Ù´Â ÀåÁ¡ÀÌ ÀÖÁö¸¸, ±×¸¸Å ±â´ÉÀº ºÎÁ·ÇÑ ¸éÀÌ ÀÖ´Ù. ´Ü¼ø DNS ¶ó¿îµå·Îºó ¹æ½Ä º¸´Ù´Â ÀÌ°Ô Á»´õ ÀÌÁ¡Àº Àִ°Š°°´Ù.