{"id":1205,"date":"2014-05-12T19:23:22","date_gmt":"2014-05-12T10:23:22","guid":{"rendered":"http:\/\/ani2life.com\/wp\/?p=1205"},"modified":"2014-05-20T16:52:04","modified_gmt":"2014-05-20T07:52:04","slug":"ha-lvs-%ea%b5%ac%ec%b6%95%ed%95%98%ea%b8%b0-ubuntu-14-04-ipvsadm-heartbeat","status":"publish","type":"post","link":"https:\/\/ani2life.com\/wp\/?p=1205","title":{"rendered":"HA-LVS \uad6c\ucd95\ud558\uae30 &#8211; Ubuntu 14.04 + Ipvsadm + Heartbeat"},"content":{"rendered":"<p>\uc774 \uae00\uc5d0\uc11c\ub294 \uc6b0\ubd84\ud22c 14.04\uc5d0\uc11c Ipvsadm\uc73c\ub85c LVS(Linux Virtual Server)\ub97c \uad6c\ucd95\ud558\uc5ec \uc6f9 \uc11c\ubc84 \ub85c\ub4dc\ubc38\ub7f0\uc2f1\uc744 \uad6c\ud604\ud558\uace0 Heartbeat\ub85c \uace0\uac00\uc6a9\uc131(HA, High Availability)\uc744 \uc720\uc9c0\ud558\ub294 \ubc29\ubc95\uc744 \uc18c\uac1c\ud55c\ub2e4. LVS \uad6c\ucd95 \uc644\ub8cc \ud6c4 HA\ub97c \uc801\uc6a9\ud560 \uac83\uc774\ubbc0\ub85c HA\ub97c \uc81c\uc678\ud55c LVS\ub9cc \uad6c\ucd95\ud558\uace0 \uc2f6\uc740 \uc0ac\ub78c\uae4c\uc9c0 \uace0\ub824\ub418\uc5c8\ub2e4.<\/p>\n<p>\uc774 \uc608\uc81c\uc5d0\uc11c \uc0ac\uc6a9\ub418\ub294 \uc11c\ubc84\uc640 \uc0ac\uc6a9\ub418\ub294 IP\ub294 \uc544\ub798\uc640 \uac19\ub2e4.<\/p>\n<p style=\"padding-left: 30px;\">[\uc11c\ubc84 \uc885\ub958: Hostname, IP]<\/p>\n<ul style=\"padding-left: 30px;\">\n<li>LVS \uc11c\ubc84 1: lvs1, 192.168.56.3<\/li>\n<li>LVS \uc11c\ubc84 2: lvs2, 192.168.56.4<\/li>\n<li>(LVS \uac00\uc0c1 IP: 192.168.56.10)<\/li>\n<li>\uc6f9 \uc11c\ubc84 1: web1, 192.168.56.11<\/li>\n<li>\uc6f9 \uc11c\ubc84 2: web2, 192.168.56.12<\/li>\n<\/ul>\n<p style=\"padding-left: 30px;\">HA\ub97c \uc801\uc6a9\ud558\uc9c0 \uc54a\ub294\ub2e4\uba74 lvs2\ub294 \ubb34\uc2dc\ud55c\ub2e4.<\/p>\n<p>web1, web2 \uc11c\ubc84\uc5d0\ub294 Aapache, Nginx \uac19\uc740 \uc6f9 \uc11c\ubc84 \ud504\ub85c\uadf8\ub7a8\uc774 \uc124\uce58\ub418\uc5b4 \uc788\ub2e4.<\/p>\n<p>LVS \uc11c\ubc84(192.168.56.10)\uc5d0 \uc811\uc18d\ud558\uba74 web1(192.168.56.11), web2(192.168.56.12) \uc11c\ubc84\uc911 \ud558\ub098\uc5d0 \uc5f0\uacb0\uc774 \ub418\ub3c4\ub85d \ud560 \uac83\uc774\ub2e4.<\/p>\n<h1>LVS\ub85c \ub85c\ub4dc\ubc38\ub7f0\uc2f1 \ud658\uacbd \uad6c\ucd95\ud558\uae30<\/h1>\n<h2>lvs1, lvs2 \uc11c\ubc84\uc5d0 LVS \uad6c\ucd95<\/h2>\n<pre class=\"theme:terminal nums:false lang:default decode:true\"># ipvsadm \uc124\uce58\r\n$ sudo apt-get install ipvsadm<\/pre>\n<pre class=\"theme:terminal nums:false lang:default decode:true\"># ipvsadm \uc124\uc815 \ud30c\uc77c \uc218\uc815\r\n$ sudo vi \/etc\/default\/ipvsadm\r\n<\/pre>\n<pre class=\"lang:default decode:true\"># if you want to start ipvsadm on boot set this to true\r\nAUTO=\"true\"\r\n\r\n# daemon method (none|master|backup)\r\nDAEMON=\"master\"\r\n\r\n# use interface (eth0,eth1...)\r\nIFACE=\"eth0\"\r\n\r\n# syncid to use\r\nSYNCID=\"1\"<\/pre>\n<pre class=\"theme:terminal nums:false lang:default decode:true\"># IP \ud3ec\uc6cc\ub4dc \ud5c8\uc6a9\r\n$ sudo vi \/etc\/sysctl.conf<\/pre>\n<pre class=\"nums:false lang:default decode:true\">...\r\nnet.ipv4.ip_forward=1\r\n...<\/pre>\n<pre class=\"theme:terminal lang:default decode:true\"># ipvsadm \uc124\uc815 - \uc11c\ube44\uc2a4 \ucd94\uac00\r\n$ sudo ipvsadm -A -t 192.168.56.10:80 -s rr<\/pre>\n<p>-s \uc635\uc158\uc740 \uc2a4\ucf00\uc974\ub9c1 \ubc29\uc2dd\uc73c\ub85c 4\uac1c\uc758 \ubc29\uc2dd\uc774 \uc788\ub2e4.<\/p>\n<ul>\n<li>rr: \ub77c\uc6b4\ub4dc\ub85c\ube48<\/li>\n<li>wrr: \uac00\uc911\uce58 \ub77c\uc6b4\ub4dc\ub85c\ube48<\/li>\n<li>lc: \ucd5c\uc18c\uc5f0\uacb0<\/li>\n<li>wlc: \uac00\uc911\uce58 \ucd5c\uc18c\uc5f0\uacb0<\/li>\n<\/ul>\n<pre class=\"theme:terminal lang:default decode:true\"># ipvsadm \uc124\uc815 - \uc11c\ubc84 \ucd94\uac00\r\n$ sudo ipvsadm -a -t 192.168.56.10:80 -r 192.168.56.11:80 -g -w 1\r\n$ sudo ipvsadm -a -t 192.168.56.10:80 -r 192.168.56.12:80 -g -w 1\r\n<\/pre>\n<p>-g \uc635\uc158\uc740 \ud328\ud0b7 \ud3ec\uc6cc\ub529 \ubc29\uc2dd\uc73c\ub85c \ub2e4\uc774\ub809\ud2b8 \ub77c\uc6b0\ud305(Direct Routing)\uc744 \ub73b\ud558\uba70 -i(Tunneling), -m(NAT) \ub97c \uc0ac\uc6a9\ud560 \uc218\ub3c4 \uc788\ub2e4. \ud558\uc9c0\ub9cc \uac01 \uc0c1\ud669\uc5d0 \ub530\ub77c web1, web2\uc5d0 \uc694\uad6c\ub418\ub294 \ub124\ud2b8\uc6cc\ud06c \uc124\uc815\uc774 \ub2ec\ub77c\uc9c0\ubbc0\ub85c \uc774 \uc608\uc81c\uc5d0\uc11c\ub294 -g(Direct Routing)\ub97c \uc0ac\uc6a9\ud55c\ub2e4.<\/p>\n<p style=\"padding-left: 30px;\">\ud328\ud0b7 \ud3ec\uc6cc\ub529 \ubc29\uc2dd\ubcc4 \ub124\ud2b8\uc6cc\ud06c \uc124\uc815 \ucc38\uace0 \uc790\ub8cc: <a href=\"http:\/\/yoonperl.tistory.com\/18\" target=\"_blank\">http:\/\/yoonperl.tistory.com\/18<\/a><\/p>\n<p>-w \uc635\uc158\uc740 \uac00\uc911\uce58\ub85c \uc11c\ubc84\ubcc4\ub85c \uac00\uc911\uce58\ub97c \ub2e4\ub974\uac8c \ud558\uace0 \uc2f6\uc744\ub54c \uc0ac\uc6a9\ud558\uba74 \ub41c\ub2e4. \ub2f9\uc5f0\ud788 \uc2a4\ucf00\uc974\ub9c1 \ubc29\uc2dd\uc911 wrr(\uac00\uc911\uce58 \ub77c\uc6b4\ub4dc\ub85c\ube48), wlc(\uac00\uc911\uce58 \ucd5c\uc18c\uc5f0\uacb0)\uc5d0\uc11c \uc720\ud6a8\ud558\ub2e4.<\/p>\n<pre class=\"theme:terminal lang:default decode:true\"># ipvsadm \uc124\uc815 \uc0c1\ud0dc \ud655\uc778\r\n$ sudo ipvsadm -Ln\r\nIP Virtual Server version 1.2.1 (size=4096)\r\nProt LocalAddress:Port Scheduler Flags\r\n  -&gt; RemoteAddress:Port           Forward Weight ActiveConn InActConn\r\nTCP  192.168.56.10:80 rr\r\n  -&gt; 192.168.56.11:80             Route   1      0          0\r\n  -&gt; 192.168.56.12:80             Route   1      0          0<\/pre>\n<p>\ud558\uc9c0\ub9cc \uc704 \uc124\uc815\uc740 \uc7ac\ubd80\ud305 \ud558\uba74 \uc0ac\ub77c\uc9c4\ub2e4. ipvsadm-save \uba85\ub839\uc73c\ub85c \ucd9c\ub825\ub418\ub294 \ub0b4\uc6a9\uc744 \/etc\/ipvsadm.rules \uc5d0 \ucd94\uac00\ud574\uc57c \ud55c\ub2e4.<\/p>\n<pre class=\"theme:terminal lang:default decode:true\"># ipvsadm \uc124\uc815 \uc720\uc9c0\r\n$ sudo sh -c 'ipvsadm-save | tee \/etc\/ipvsadm.rules'\r\n-A -t 192.168.56.10:http -s rr\r\n-a -t 192.168.56.10:http -r 192.168.56.11:http -g -w 1\r\n-a -t 192.168.56.10:http -r 192.168.56.12:http -g -w 1<\/pre>\n<pre class=\"theme:terminal lang:default decode:true\"># LVS \uc11c\ubc84\uc5d0 \uac00\uc0c1 IP \ucd94\uac00(\uc7ac\ubd80\ud305\uc2dc \uc124\uc815 \uc0ac\ub77c\uc9d0.)\r\n$ sudo ifconfig eth0:0 192.168.56.10 netmask 255.255.255.0 up<\/pre>\n<p>\uc704\uc758 \uac00\uc0c1 IP \uc124\uc815\uc740 \uc7ac\ubd80\ud305 \ud558\uba74 \uc0ac\ub77c\uc9c4\ub2e4. \/etc\/network\/interfaces \ud30c\uc77c\uc744 \uc9c1\uc811 \uc218\uc815\ud558\uba74 \uc7ac\ubd80\ud305\uc744 \ud574\ub3c4 \uc124\uc815\uc774 \uc720\uc9c0\ub41c\ub2e4.<\/p>\n<pre class=\"theme:terminal lang:default decode:true\"># LVS \uc11c\ubc84\uc5d0 \uac00\uc0c1 IP \ucd94\uac00(\uc7ac\ubd80\ud305\uc2dc \uc124\uc815 \uc720\uc9c0\ub428.)\r\n$ sudo vi \/etc\/network\/interfaces<\/pre>\n<pre class=\"lang:default decode:true\">...\r\nauto eth0\r\niface eth0 inet static\r\naddress 192.168.56.XX  # \uac01 \uc11c\ubc84\uc5d0 \ub9de\ub294 IP \ubd80\uc5ec\r\nnetmask 255.255.255.0\r\ngateway 192.168.56.1\r\nnetwork 192.168.56.1\r\nbroadcast 192.168.56.255\r\n\r\nauto eth0:0\r\niface eth0:0 inet static\r\naddress 192.168.56.10\r\nnetmask 255.255.255.0<\/pre>\n<p>&nbsp;<\/p>\n<h2>web1, web2 \uc11c\ubc84 \ub124\ud2b8\uc6cc\ud06c \uc124\uc815<\/h2>\n<p>\uc6f9 \uc11c\ubc84\ub3c4 LVS \uc11c\ubc84\uc640 \ub9c8\ucc2c\uac00\uc9c0\ub85c \ub3d9\uc77c\ud55c \uac00\uc0c1 IP\ub97c \ucd94\uac00\ud574\uc57c \ud55c\ub2e4.<\/p>\n<pre class=\"theme:terminal lang:default decode:true\"># \uc6f9 \uc11c\ubc84\uc5d0 \uac00\uc0c1 IP \ucd94\uac00(\uc7ac\ubd80\ud305\uc2dc \uc124\uc815 \uc0ac\ub77c\uc9d0.)\r\n$ ifconfig eth0:0 192.168.56.10 netmask 255.255.255.0 up<\/pre>\n<p>\uac00\uc0c1 IP\ub97c \ucd94\uac00\ud558\ub294 \ubc29\ubc95\uc740 LVS \uc11c\ubc84\uc640 \ub2e4\ub974\uc9c0 \uc54a\ub2e4.<\/p>\n<p>ARP(Address Resolution Protocol, \uc8fc\uc18c \uacb0\uc815 \ud504\ub85c\ud1a0\ucf5c) \uae30\ub2a5\uc744 \ub044\ub294 \uc124\uc815\uc744 \ubc18\ub4dc\uc2dc \ucd94\uac00\ud574\uc57c \ud55c\ub2e4. \uc678\ubd80\uc5d0\uc11c \uac00\uc0c1 IP(192.168.56.10)\ub85c \uc811\uc18d\uc2dc ARP\uac00 \uce90\uc26c \ub418\uba74 \ub85c\ub4dc\ubc38\ub7f0\uc2f1\uc774 \ub418\uc9c0 \uc54a\uace0 \uce90\uc26c\ub41c \ub9e5\uc8fc\uc18c\uc758 \uc7a5\ube44\ub85c \ubc14\ub85c \uc5f0\uacb0\uc774 \ub418\ubc84\ub9b0\ub2e4.<\/p>\n<pre class=\"theme:terminal lang:default decode:true\"># \uc2e4\uc11c\ubc84\uc5d0 ARP \ubb38\uc81c \ud574\uacb0\uc744\uc704\ud574 ARP\uc5d0 \ub300\ud55c \uc751\ub2f5\uc5c6\uc74c \uc124\uc815 \ucd94\uac00\r\n$ sudo vi \/etc\/sysctl.conf<\/pre>\n<pre class=\"lang:default decode:true\">...\r\nnet.ipv4.conf.lo.arp_ignore = 1\r\nnet.ipv4.conf.lo.arp_announce = 2\r\nnet.ipv4.conf.all.arp_ignore = 1\r\nnet.ipv4.conf.all.arp_announce = 2<\/pre>\n<h2>LVS \ud14c\uc2a4\ud2b8 \ud558\uae30<\/h2>\n<p>lvs2 \uc11c\ubc84\ub294 \uc544\uc9c1 \uc0ac\uc6a9\ud558\uc9c0 \uc54a\uc73c\ubbc0\ub85c \uc804\uc6d0\uc744 \uaebc\ub454\ub2e4.<\/p>\n<p>\uc678\ubd80 \uc7a5\ube44\uc5d0\uc11c \uac00\uc0c1 IP(192.168.56.10)\ub85c \uc6f9 \ud398\uc774\uc9c0(http:\/\/192.168.56.10) \uc811\uc18d\uc744 \uc2dc\ub3c4\ud55c\ub2e4. web1\uacfc web2\uc758 \ub0b4\uc6a9\uc744 \ub2e4\ub974\uac8c \ud574\uc11c web1\uacfc web2\uac00 \ubc88\uac08\uc544\uac00\uba70 \ub098\uc624\ub294\uc9c0 \ud655\uc778\ud55c\ub2e4. \ub2e8, web1\uacfc web2\uac00 \uc815\ud655\ud558\uac8c \ud55c\ubc88\uc529 \ubc88\uac08\uc544\uac00\uba70 \ub098\uc624\uc9c0\ub294 \uc54a\uc73c\ubbc0\ub85c \uac19\uc740 \ud398\uc774\uc9c0\ub9cc \uc5ec\ub7ec\ubc88 \ub098\uc628\ub2e4\uace0 \ud574\uc11c \uc123\ubd88\ub9ac \uc624\ub958\ub77c\uace0 \ud310\ub2e8\ud558\uc9c0 \ub9d0\uc790.<\/p>\n<p>\uc5ec\ub7ec\ubc88 \uc811\uc18d\uacfc \uc2dc\ub3c4\ub97c \ud55c \ud6c4\uc5d0 lvs1 \uc11c\ubc84\uc5d0\uc11c \uc544\ub798\uc640 \uac19\uc774 \uc0c1\ud0dc\ub97c \ud655\uc778\ud558\uc790.<\/p>\n<pre class=\"theme:terminal lang:default decode:true\"># ipvsadm \uc0c1\ud0dc \ud655\uc778\r\n$ sudo ipvsadm -ln --rate\r\nIP Virtual Server version 1.2.1 (size=4096)\r\nProt LocalAddress:Port                 CPS    InPPS   OutPPS    InBPS   OutBPS\r\n  -&gt; RemoteAddress:Port\r\nTCP  192.168.56.10:80                    0        0        0        0        0\r\n  -&gt; 192.168.56.11:80                    0        0        0        0        0\r\n  -&gt; 192.168.56.12:80                    0        0        0        0        0<\/pre>\n<p>CPS, InPPS \ub4f1\uc758 \uc22b\uc790\uac00 \uacc4\uc18d \uc624\ub974\uace0 \ub0b4\ub9ac\uba70 \ubcc0\ud654\ud558\uba74 LVS \uc124\uc815\uc740 \uc815\uc0c1\uc774\ub2e4. \ub9cc\uc57d \uc22b\uc790\ub294 \ubcc0\ud558\ub294\ub370 \uc6f9 \ud398\uc774\uc9c0\uac00 \ub728\uc9c0 \uc54a\ub294\ub2e4\uba74 \uc6f9 \uc11c\ubc84\uc758 \ub124\ud2b8\uc6cc\ud06c \uc124\uc815\uc744 \ub2e4\uc2dc \ud55c\ubc88 \ud655\uc778\ud574\ubcf4\uc790.<\/p>\n<p>\uc22b\uc790\uac00 \ubcc0\ud558\uc9c0 \uc54a\uace0 \ud55c\ucabd \uc6f9\uc11c\ubc84\uc758 \uc6f9 \ud398\uc774\uc9c0\ub9cc \ub72c\ub2e4\uba74 LVS \uc124\uc815\uc774 \uc798\ubabb\ub418\uc5c8\uac70\ub098 \uc678\ubd80 \uc811\uc18d \ud14c\uc2a4\ud2b8\ub97c \ud558\ub294 \ucef4\ud4e8\ud130\uc758 ARP\uac00 \uce90\uc26c\ub418\uc5c8\uc744 \uc218 \uc788\ub2e4. \ub9cc\uc57d ARP \uce90\uc26c\uac00 \ub418\uc5b4\ubc84\ub9b0 \uac83 \uac19\ub2e4\uba74 \uc544\ub798\uc758 \uba85\ub839\uc5b4\ub85c \uce90\uc26c\ub97c \uc9c0\uc6b8 \uc218 \uc788\ub2e4.<\/p>\n<pre class=\"theme:terminal lang:default decode:true\"># ARP \uce90\uc26c \uc0ad\uc81c\r\n$ sudo arp -d 192.168.56.10<\/pre>\n<p>\uc5ec\uae30\uae4c\uc9c0 LVS\ub97c \uc774\uc6a9\ud55c \ub85c\ub4dc\ubc38\ub7f0\uc2f1 \ud658\uacbd \uad6c\ucd95\uc774 \uc644\ub8cc\ub418\uc5c8\ub2e4.<\/p>\n<p>&nbsp;<\/p>\n<h1>Heartbeat\ub85c LVS \uc11c\ubc84\uc5d0 \uace0\uac00\uc6a9\uc131(HA, High Availability) \uc720\uc9c0\ud558\uae30<\/h1>\n<p>\uc774\uc81c lvs1 \uc11c\ubc84\uc5d0 \uc7a5\uc560\uac00 \uc0dd\uae30\ub354\ub77c\ub3c4 lvs2\uac00 \uc774\uc5b4\uc11c \ub3d9\uc791\ud558\ub294 \uace0\uac00\uc6a9\uc131\uc744 \uc801\uc6a9\ud574\ubcf4\uc790. lvs2\ub294 lvs1\uacfc LVS\uac00 \ub3d9\uc77c\ud558\uac8c \uad6c\ucd95\ub418\uc5b4 \uc788\uc5b4\uc57c \ud55c\ub2e4.<\/p>\n<h2>lvs1, lvs2 \uc11c\ubc84\uc5d0 Heartbeat \uc124\uce58\ud558\uae30<\/h2>\n<pre class=\"theme:terminal lang:default decode:true\"># heartbeat \uc124\uce58\r\n$ sudo apt-get install heartbeat<\/pre>\n<p>\uc124\uce58\uac00 \ub418\uc5c8\uc73c\uba74 \/etc\/ha.d\/ \ub514\ub809\ud1a0\ub9ac \uc544\ub798\uc5d0 \uc124\uc815\ud30c\uc77c\uc744 \ucd94\uac00\ud574\uc57c \ud55c\ub2e4. \/usr\/share\/doc\/heartbeat\/ \ub514\ub809\ud1a0\ub9ac\uc5d0 \uae30\ubcf8 \uc124\uc815\ud30c\uc77c\uc774 \uc900\ube44\ub418\uc5b4 \uc788\ub2e4.<\/p>\n<pre class=\"theme:terminal lang:default decode:true\"># Heartbeat \uae30\ubcf8 \uc124\uc815\ud30c\uc77c \ubcf5\uc0ac\ud558\uae30\r\n$ sudo cp \/usr\/share\/doc\/heartbeat\/authkeys \/etc\/ha.d\/\r\n$ sudo cp \/usr\/share\/doc\/heartbeat\/ha.cf.gz \/etc\/ha.d\/\r\n$ sudo cp \/usr\/share\/doc\/heartbeat\/haresources.gz \/etc\/ha.d\/\r\n$ sudo gunzip \/etc\/ha.d\/ha.cf.gz\r\n$ sudo gunzip \/etc\/ha.d\/haresources.gz\r\n<\/pre>\n<p>authkeys \ud30c\uc77c\uc758 \uad8c\ud55c\uc740 \ubc18\ub4dc\uc2dc 600 \uc774\uc5b4\uc57c \uc624\ub958\uac00 \ubc1c\uc0dd\ud558\uc9c0 \uc54a\ub294\ub2e4.<\/p>\n<pre class=\"theme:terminal lang:default decode:true\"># authkeys \uad8c\ud55c \ubcc0\uacbd\r\n$ sudo chmod 600 \/etc\/ha.d\/authkeys<\/pre>\n<p>authkeys \ud30c\uc77c\uc5d0\uc11c \uc124\uc815\ub4e4\uc758 \uc8fc\uc11d\uc744 \uc81c\uac70\ud55c\ub2e4.<\/p>\n<pre class=\"theme:terminal lang:default decode:true\"># authkeys \ud30c\uc77c \ud3b8\uc9d1\r\n$ sudo vi \/etc\/ha.d\/authkeys<\/pre>\n<pre class=\"lang:default decode:true\">...\r\nauth 1\r\n1 crc\r\n...<\/pre>\n<p>ha.cf \ud30c\uc77c\uc5d0\uc11c \uc544\ub798 \uc124\uc815\ub4e4\uc758 \uc8fc\uc11d\uc744 \uc81c\uac70\ud55c\ub2e4.<\/p>\n<pre class=\"theme:terminal lang:default decode:true\"># ha.cf \ud30c\uc77c \ud3b8\uc9d1\r\n$ sudo vi \/etc\/ha.d\/ha.cf<\/pre>\n<pre class=\"lang:default decode:true\">...\r\ndebugfile \/var\/log\/ha-debug\r\nlogfile \/var\/log\/ha-log\r\nlogfacility local0\r\nkeepalive 2\r\ndeadtime 30\r\ninitdead 120\r\nudpport 694\r\nbcast eth0\r\nauto_failback on\r\nnode lvs1\r\nnode lvs2\r\n...<\/pre>\n<p>lvs1, lvs2 \uc11c\ub85c\uac00 IP\ub97c \uc54c \uc218 \uc788\ub3c4\ub85d hosts \ud30c\uc77c\uc5d0 \ucd94\uac00\ud55c\ub2e4.<\/p>\n<pre class=\"theme:terminal lang:default decode:true\"># lvs1, lvs2\uc758 IP \ucd94\uac00\r\n$ sudo \/etc\/hosts<\/pre>\n<pre class=\"lang:default decode:true\">...\r\n192.168.56.3 lvs1\r\n192.168.56.4 lvs2\r\n...<\/pre>\n<p>\uc6b0\ub9ac\uc758 \ubaa9\uc801\uc740 lvs1 \uc11c\ubc84\uc5d0 \uc7a5\uc560\uac00 \ubc1c\uc0dd\uc2dc lvs2\uac00 LVS \uac00\uc0c1 IP\ub97c \uc774\uc5b4 \ubc1b\uc544\uc11c \ub3d9\uc791\ud558\uac8c \ub9cc\ub4dc\ub294 \uac83\uc774\ub2e4. \uc544\ub798\uc640 \uac19\uc774 haresources \ud30c\uc77c\uc744 \ud3b8\uc9d1\ud55c\ub2e4.<\/p>\n<pre class=\"theme:terminal lang:default decode:true\"># haresources \ud30c\uc77c \ud3b8\uc9d1\r\n$ sudo vi \/etc\/ha.d\/haresources<\/pre>\n<pre class=\"lang:default decode:true\">...\r\n# lvs1, lvs2 \ub458\ub2e4 \ub611\uac19\uc774 lvs1\uc73c\ub85c \uc801\ub294\ub2e4.\r\nlvs1 192.168.56.10\r\n<\/pre>\n<p>\uc5ec\uae30\uc11c \ud55c\uac00\uc9c0 \uc911\uc694\ud55c \uac83\uc774 \uc788\ub294\ub370 \uc704\uc5d0\uc11c LVS\ub97c \uad6c\ucd95\ud558\ub290\ub77c \ucd94\uac00\ud55c \uac00\uc0c1 IP(192.168.56.10)\ub97c LVS \uc11c\ubc84\uc5d0\uc11c\ub294 \uc81c\uac70\ud574\uc57c \ud55c\ub2e4.<\/p>\n<pre class=\"theme:terminal lang:default decode:true\"># \uac00\uc0c1 IP \uc81c\uac70\r\n$ sudo ifconfig eth0:0 down<\/pre>\n<p>\uc704\uc758 LVS \uad6c\ucd95 \uacfc\uc815\uc911 \/etc\/network\/interfaces \ud30c\uc77c\uc5d0 \uac00\uc0c1 IP\ub97c \uc9c1\uc811 \ucd94\uac00\ud588\ub2e4\uba74 \ud30c\uc77c\uc744 \uc5f4\uace0 \uc81c\uac70\ud55c\ub2e4.<\/p>\n<p>\uc774\uc81c \uc124\uce58 \ubc0f \uc124\uc815\uc774 \ub05d\ub0ac\ub2e4. Heartbeat\ub97c \uc2e4\ud589\ud574\ubcf4\uc790.<\/p>\n<pre class=\"theme:terminal lang:default decode:true\"># Heartbeat \uc2e4\ud589\r\n$ sudo service heartbeat start\r\nStarting High-Availability services: INFO:  Resource is stopped\r\nDone<\/pre>\n<p>&#8216;Bad nodename&#8217;\uc774\ub77c\ub294 \uc624\ub958\uac00 \ubc1c\uc0dd\ud558\uba74 lvs1, lvs2 \uc11c\ubc84\uc758 hostname\uc774 \uac01\uac01 lvs1, lvs2\uac00 \ub9de\ub294\uc9c0 \ud655\uc778\ud55c\ub2e4.<\/p>\n<p>\ub9cc\uc57d hostname\uc774 \uc798\ubabb\ub418\uc5b4\uc11c \ubcc0\uacbd\ud574\uc57c \ud55c\ub2e4\uba74 \uc544\ub798\uc758 \ub9c1\ud06c\ub97c \ucc38\uace0\ud558\uc5ec hostname\uc744 \ubc14\uafbc\ub2e4.<\/p>\n<p style=\"padding-left: 30px;\"><a href=\"http:\/\/www.subvs.co.uk\/ubuntu_change_hostname_computer_name\" target=\"_blank\">http:\/\/www.subvs.co.uk\/ubuntu_change_hostname_computer_name<\/a><\/p>\n<h2>Heartbeat \ub3d9\uc791\uc5ec\ubd80 \ud655\uc778\ud558\uae30<\/h2>\n<p>lvs1, lvs2 \uc11c\ubc84 \uac01\uac01 ifconfig\ub97c \uc785\ub825\ud55c\ub2e4. lvs1\uc5d0\ub294 eth0:0 \uc7a5\uce58\uac00 \uc788\uc9c0\ub9cc lvs2\uc5d0\ub294 \uc5c6\ub2e4.<\/p>\n<pre class=\"theme:terminal lang:default decode:true\">$ ifconfig\r\n...\r\neth0:0    Link encap:Ethernet  HWaddr 08:00:27:d6:41:62  \r\n          inet addr:192.168.56.10  Bcast:192.168.56.255  Mask:255.255.255.0\r\n          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1\r\n...<\/pre>\n<p>\uc774\ub54c lvs1\uc744 \uc885\ub8cc\uc2dc\ud0a8 \ud6c4 lvs2\uc5d0\uc11c ifconfig\ub97c \uc785\ub825\ud558\uba74 lvs2\uc5d0 eth0:0\uc774 \uc0dd\uc131\ub418\uc5b4 \uc788\uc744 \uac83\uc774\ub2e4.<\/p>\n<p>\uacfc\uc815\uc774 \ubb34\ucc99 \uae38\uace0 \uc5b4\ub824\uc6cc \ubcf4\uc774\uc9c0\ub9cc \ub124\ud2b8\uc6cc\ud06c \uc124\uc815\uacfc hostname\ub9cc \uc2e4\uc218\ud558\uc9c0 \uc54a\uc73c\uba74 \uc5b4\ub835\uc9c0 \uc54a\uac8c \uad6c\ucd95\ud560 \uc218 \uc788\uc744 \uac83\uc774\ub2e4.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\uc774 \uae00\uc5d0\uc11c\ub294 \uc6b0\ubd84\ud22c 14.04\uc5d0\uc11c Ipvsadm\uc73c\ub85c LVS(Linux Virtual Server)\ub97c \uad6c\ucd95\ud558\uc5ec \uc6f9 \uc11c\ubc84 \ub85c\ub4dc\ubc38\ub7f0\uc2f1\uc744 \uad6c\ud604\ud558\uace0 Heartbeat\ub85c \uace0\uac00\uc6a9\uc131(HA, High Availability)\uc744 \uc720\uc9c0\ud558\ub294 \ubc29\ubc95\uc744 \uc18c\uac1c\ud55c\ub2e4. LVS \uad6c\ucd95 \uc644\ub8cc \ud6c4 HA\ub97c \uc801\uc6a9\ud560 \uac83\uc774\ubbc0\ub85c HA\ub97c \uc81c\uc678\ud55c LVS\ub9cc \uad6c\ucd95\ud558\uace0 \uc2f6\uc740 \uc0ac\ub78c\uae4c\uc9c0 \uace0\ub824\ub418\uc5c8\ub2e4. \uc774 \uc608\uc81c\uc5d0\uc11c \uc0ac\uc6a9\ub418\ub294 \uc11c\ubc84\uc640 \uc0ac\uc6a9\ub418\ub294 IP\ub294 \uc544\ub798\uc640 \uac19\ub2e4. [\uc11c\ubc84 \uc885\ub958: Hostname, IP] LVS \uc11c\ubc84 1: lvs1, 192.168.56.3 LVS \uc11c\ubc84 2: lvs2, [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"footnotes":""},"categories":[8],"tags":[441,445,444,448,442,443,446,447],"_links":{"self":[{"href":"https:\/\/ani2life.com\/wp\/index.php?rest_route=\/wp\/v2\/posts\/1205"}],"collection":[{"href":"https:\/\/ani2life.com\/wp\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/ani2life.com\/wp\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/ani2life.com\/wp\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/ani2life.com\/wp\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1205"}],"version-history":[{"count":29,"href":"https:\/\/ani2life.com\/wp\/index.php?rest_route=\/wp\/v2\/posts\/1205\/revisions"}],"predecessor-version":[{"id":1234,"href":"https:\/\/ani2life.com\/wp\/index.php?rest_route=\/wp\/v2\/posts\/1205\/revisions\/1234"}],"wp:attachment":[{"href":"https:\/\/ani2life.com\/wp\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1205"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/ani2life.com\/wp\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1205"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/ani2life.com\/wp\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1205"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}