{"id":1381,"date":"2026-03-22T22:41:36","date_gmt":"2026-03-22T13:41:36","guid":{"rendered":"http:\/\/www.igoni.kr\/?p=1381"},"modified":"2026-03-22T22:41:36","modified_gmt":"2026-03-22T13:41:36","slug":"keepalived%ea%b8%b0%eb%b0%98%ec%9d%98-db%ec%9d%b4%ec%a4%91%ed%99%94-%ea%b5%ac%ed%98%84","status":"publish","type":"post","link":"http:\/\/www.igoni.kr\/?p=1381","title":{"rendered":"keepalived\uae30\ubc18\uc758 DB\uc774\uc911\ud654 \uad6c\ud604"},"content":{"rendered":"<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_82_2 counter-hierarchy ez-toc-counter ez-toc-grey ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">\ubaa9 \ucc28<\/p>\n<span class=\"ez-toc-title-toggle\"><a href=\"#\" class=\"ez-toc-pull-right ez-toc-btn ez-toc-btn-xs ez-toc-btn-default ez-toc-toggle\" aria-label=\"\ubaa9\ucc28 \ud1a0\uae00\"><span class=\"ez-toc-js-icon-con\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #999;color:#999\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #999;color:#999\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/span><\/a><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"http:\/\/www.igoni.kr\/?p=1381\/#%EC%8B%9C%EC%8A%A4%ED%85%9C_%EA%B5%AC%EC%84%B1%EB%8F%84\" >\uc2dc\uc2a4\ud15c \uad6c\uc131\ub3c4<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"http:\/\/www.igoni.kr\/?p=1381\/#%EC%8B%9C%EC%8A%A4%ED%85%9C_%EC%84%A4%EC%B9%98%EC%A0%84%EC%B2%B4%EC%84%9C%EB%B2%84\" >\uc2dc\uc2a4\ud15c \uc124\uce58(\uc804\uccb4\uc11c\ubc84)<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"http:\/\/www.igoni.kr\/?p=1381\/#%EC%8B%9C%EC%8A%A4%ED%85%9C_%EC%84%A4%EC%B9%98DB1%EC%84%9C%EB%B2%84\" >\uc2dc\uc2a4\ud15c \uc124\uce58(DB#1\uc11c\ubc84)<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"http:\/\/www.igoni.kr\/?p=1381\/#keepalived_%EC%9A%B4%EC%98%81\" >keepalived \uc6b4\uc601<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"http:\/\/www.igoni.kr\/?p=1381\/#%EC%9E%A5%EC%95%A0%EB%B0%9C%EC%83%9D%EC%8B%9C_%EC%A1%B0%EC%B9%98\" >\uc7a5\uc560\ubc1c\uc0dd\uc2dc \uc870\uce58<\/a><\/li><\/ul><\/nav><\/div>\n<p class=\"wikigeneratedid\">\uc548\ub155\ud558\uc138\uc694, \uace0\ub2c8\uc785\ub2c8\ub2e4. \uae30\uc874\uc5d0 \uc791\uc131\ud55c \ubb38\uc11c Refactoring\uc744 \uc9c4\ud589\uc911\uc778\ub370\uc694. \ud574\ub2f9\ubb38\uc11c\ub3c4 \uc5c5\ub370\uc774\ud2b8\ub97c \uc9c4\ud589\ud574\ubcf4\uc558\uc2b5\ub2c8\ub2e4.<\/p>\n<table style=\"border-collapse: collapse; width: 100%;\" border=\"1\">\n<colgroup>\n<col style=\"width: 99.881%;\" \/><\/colgroup>\n<tbody>\n<tr>\n<td><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-1385\" src=\"http:\/\/www.igoni.kr\/wp-content\/uploads\/2026\/03\/8108fa75-fcfb-4642-9436-5068e4a7df84.jpg\" alt=\"\" width=\"2304\" height=\"1728\" srcset=\"http:\/\/www.igoni.kr\/wp-content\/uploads\/2026\/03\/8108fa75-fcfb-4642-9436-5068e4a7df84.jpg 2304w, http:\/\/www.igoni.kr\/wp-content\/uploads\/2026\/03\/8108fa75-fcfb-4642-9436-5068e4a7df84-300x225.jpg 300w, http:\/\/www.igoni.kr\/wp-content\/uploads\/2026\/03\/8108fa75-fcfb-4642-9436-5068e4a7df84-1024x768.jpg 1024w, http:\/\/www.igoni.kr\/wp-content\/uploads\/2026\/03\/8108fa75-fcfb-4642-9436-5068e4a7df84-768x576.jpg 768w, http:\/\/www.igoni.kr\/wp-content\/uploads\/2026\/03\/8108fa75-fcfb-4642-9436-5068e4a7df84-1536x1152.jpg 1536w, http:\/\/www.igoni.kr\/wp-content\/uploads\/2026\/03\/8108fa75-fcfb-4642-9436-5068e4a7df84-2048x1536.jpg 2048w, http:\/\/www.igoni.kr\/wp-content\/uploads\/2026\/03\/8108fa75-fcfb-4642-9436-5068e4a7df84-1300x975.jpg 1300w\" sizes=\"auto, (max-width: 2304px) 100vw, 2304px\" \/><\/td>\n<\/tr>\n<tr>\n<td>perplexity\uc5d0\uc11c \uc0dd\uc131\ud55c AI\uc774\ubbf8\uc9c0<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h3 id=\"bkmrk-%EC%8B%9C%EC%8A%A4%ED%85%9C-%EA%B5%AC%EC%84%B1%EB%8F%84\" class=\"wikigeneratedid\"><span class=\"ez-toc-section\" id=\"%EC%8B%9C%EC%8A%A4%ED%85%9C_%EA%B5%AC%EC%84%B1%EB%8F%84\"><\/span>\uc2dc\uc2a4\ud15c \uad6c\uc131\ub3c4<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<ol id=\"bkmrk-%EC%84%9C%EB%B2%84%EC%A0%95%EB%B3%B4-%EB%A1%9C%EB%93%9C%EB%B0%B8%EB%9F%B0%EC%8B%B1-%EC%A2%85%EB%A5%98-%EC%95%8C%EA%B3%A0%EB%A6%AC%EC%A6%98-%EC%A2%85\">\n<li>\uc11c\ubc84\uc815\ubcf4<br \/>\n<img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-1383\" src=\"http:\/\/www.igoni.kr\/wp-content\/uploads\/2026\/03\/DVpimage.png\" alt=\"\" width=\"559\" height=\"271\" srcset=\"http:\/\/www.igoni.kr\/wp-content\/uploads\/2026\/03\/DVpimage.png 559w, http:\/\/www.igoni.kr\/wp-content\/uploads\/2026\/03\/DVpimage-300x145.png 300w\" sizes=\"auto, (max-width: 559px) 100vw, 559px\" \/><br \/>\n&nbsp;<\/li>\n<li>\ub85c\ub4dc\ubc38\ub7f0\uc2f1 \uc885\ub958\n<div>\n<table style=\"width: 90.6166%; height: 361.36px; border-collapse: collapse; border-style: groove; border-width: 1px;\" border=\"1\">\n<thead>\n<tr style=\"height: 29.7969px;\">\n<td style=\"width: 24.4314%; height: 29.7969px;\"><strong>\uc54c\uace0\ub9ac\uc998 \uc885\ub958<\/strong><\/td>\n<td style=\"width: 67.2107%; height: 29.7969px;\"><strong>\uc54c\uace0\ub9ac\uc998 \uc124\uba85<\/strong><\/td>\n<td style=\"width: 8.23086%; height: 29.7969px;\"><strong>\uc124\uc815\uac12<\/strong><\/td>\n<\/tr>\n<\/thead>\n<tbody>\n<tr style=\"height: 29.7969px;\">\n<td style=\"width: 24.4314%; height: 29.7969px;\">\ub77c\uc6b4\ub4dc \ub85c\ube48<\/td>\n<td style=\"width: 67.2107%; height: 29.7969px;\">\ud558\ub098\uc529 \ubd84\ubc30<\/td>\n<td style=\"width: 8.23086%; height: 29.7969px;\">rr<\/td>\n<\/tr>\n<tr style=\"height: 29.7969px;\">\n<td style=\"width: 24.4314%; height: 29.7969px;\">\uac00\uc911\uce58 \ub77c\uc6b4\ub4dc \ub85c\ube48<\/td>\n<td style=\"width: 67.2107%; height: 29.7969px;\">\uac00\uc911\uce58\uac00 \ud070 \uc11c\ubc84\ub85c \ubd84\ubc30<\/td>\n<td style=\"width: 8.23086%; height: 29.7969px;\">wrr<\/td>\n<\/tr>\n<tr style=\"height: 29.7969px;\">\n<td style=\"width: 24.4314%; height: 29.7969px;\">\ucd5c\uc18c \uc5f0\uacb0<\/td>\n<td style=\"width: 67.2107%; height: 29.7969px;\">\uc811\uc18d\uc218\uac00 \uc801\uc740 \uc11c\ubc84\ub85c \ubd84\ubc30<\/td>\n<td style=\"width: 8.23086%; height: 29.7969px;\">lc<\/td>\n<\/tr>\n<tr style=\"height: 29.7969px;\">\n<td style=\"width: 24.4314%; height: 29.7969px;\">\uac00\uc911\uce58 \ucd5c\uc18c\uc5f0\uacb0<\/td>\n<td style=\"width: 67.2107%; height: 29.7969px;\">(\uc811\uc18d\uc218+1)\/\uac00\uc911\uce58 \ub85c \ucd5c\uc18c\uac12 \uc11c\ubc84\ub85c \ubd84\ubc30<\/td>\n<td style=\"width: 8.23086%; height: 29.7969px;\">wlc<\/td>\n<\/tr>\n<tr style=\"height: 29.7969px;\">\n<td style=\"width: 24.4314%; height: 29.7969px;\">\uc9c0\uc5ed \ucd5c\uc18c\uc5f0\uacb0<\/td>\n<td style=\"width: 67.2107%; height: 29.7969px;\">\uc811\uc18d\uc218\uac00 \uac00\uc911\uce58\ub97c \ub118\uae30\uae30\uc804\uae4c\uc9c0 \ud55c\uc11c\ubc84\ub9cc \ubd84\ubc30<\/td>\n<td style=\"width: 8.23086%; height: 29.7969px;\">lblc<\/td>\n<\/tr>\n<tr style=\"height: 46.5938px;\">\n<td style=\"width: 24.4314%; height: 46.5938px;\">\ubcf5\uc81c\uae30\ubc18\uc758 \uc9c0\uc5ed \ucd5c\uc18c\uc5f0\uacb0<\/td>\n<td style=\"width: 67.2107%; height: 46.5938px;\">\uac00\uc911\uce58\ub97c \ub118\uace0 \uc788\uc744\ub54c \uc811\uc18d\uc218\uac00 \uac00\uc7a5 \uc801\uc740 \uc11c\ubc84 \uc120\ud0dd (\uae30\ubcf8\uc791\ub3d9\uc740 lblc\uc640 \ub3d9\uc77c)<\/td>\n<td style=\"width: 8.23086%; height: 46.5938px;\">lblcr<\/td>\n<\/tr>\n<tr style=\"height: 29.7969px;\">\n<td style=\"width: 24.4314%; height: 29.7969px;\">\ubaa9\uc801\uc9c0 \ud574\uc2dc<\/td>\n<td style=\"width: 67.2107%; height: 29.7969px;\">\ubaa9\uc801\uc9c0 IP\ub85c \ubd80\ud130 \ud574\uc2dc\uac12 \uacc4\uc0b0\ud574\uc11c \ubd84\ubc30<\/td>\n<td style=\"width: 8.23086%; height: 29.7969px;\">dh<\/td>\n<\/tr>\n<tr style=\"height: 29.7969px;\">\n<td style=\"width: 24.4314%; height: 29.7969px;\">\uc18c\uc2a4 \ud574\uc2dc<\/td>\n<td style=\"width: 67.2107%; height: 29.7969px;\">\uc18c\uc2a4\u00a0IP\ub85c \ubd80\ud130 \ud574\uc2dc\uac12 \uacc4\uc0b0\ud574\uc11c \ubd84\ubc30<\/td>\n<td style=\"width: 8.23086%; height: 29.7969px;\">sh<\/td>\n<\/tr>\n<tr style=\"height: 46.5938px;\">\n<td style=\"width: 24.4314%; height: 46.5938px;\">\uc751\ub2f5\uc18d\ub3c4<\/td>\n<td style=\"width: 67.2107%; height: 46.5938px;\">\uc751\ub2f5\uc18d\ub3c4(Short Expected Delay)\uac00 \uac00\uc7a5 \uc9e7\uc740 \uc11c\ubc84\ub85c \ubd84\ubc30<br \/>\n(\uc2e4\uc81c\ub85c\ub294 \uc811\uc18d\uc218\uac00 \uac00\uc7a5 \uc801\uc740 \uc11c\ubc84\ub85c \ubd84\ubc30)<\/td>\n<td style=\"width: 8.23086%; height: 46.5938px;\">sed<\/td>\n<\/tr>\n<tr style=\"height: 29.7969px;\">\n<td style=\"width: 24.4314%; height: 29.7969px;\">\ud050 \uc5c6\uc74c<\/td>\n<td style=\"width: 67.2107%; height: 29.7969px;\">Active \uc811\uc18d\uc218r\uac00 0\uc778 \uc11c\ubc84\ub97c \uc6b0\uc120 \ubd84\ubc30(\uae30\ubcf8\uc791\ub3d9\uc740 sed\uc54c\uace0\ub9ac\uc998\uacfc \ub3d9\uc77c)<\/td>\n<td style=\"width: 8.23086%; height: 29.7969px;\">nq<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/li>\n<\/ol>\n<h3 id=\"bkmrk-%EC%8B%9C%EC%8A%A4%ED%85%9C-%EC%84%A4%EC%B9%98%28%EC%A0%84%EC%B2%B4%EC%84%9C%EB%B2%84%29\" class=\"wikigeneratedid\"><span class=\"ez-toc-section\" id=\"%EC%8B%9C%EC%8A%A4%ED%85%9C_%EC%84%A4%EC%B9%98%EC%A0%84%EC%B2%B4%EC%84%9C%EB%B2%84\"><\/span>\uc2dc\uc2a4\ud15c \uc124\uce58(\uc804\uccb4\uc11c\ubc84)<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<ol id=\"bkmrk-%ED%8C%A8%ED%82%A4%EC%A7%80-%EC%84%A4%EC%B9%98%24%3E-yum-install\">\n<li>\ud328\ud0a4\uc9c0 \uc124\uce58\n<pre><code class=\"language-Python\">$&gt; yum install keepalived ipvsadm -y<\/code><\/pre>\n<p>&nbsp;<\/p>\n<div>\n<div class=\"box\">\n<div class=\"code\"><\/div>\n<\/div>\n<\/div>\n<\/li>\n<li>keepalived \uc124\uc815\n<pre><code class=\"language-Python\">\r\n\r\n$&gt; vi \/etc\/keepalived\/keepalived.conf\r\nglobal_defs {\r\n\u00a0\u00a0router_id MARIA_HA\r\n\u00a0\u00a0script_user root\r\n}\r\n\r\nvrrp_instance DB_HA {\r\n\u00a0\u00a0state BACKUP\r\n\u00a0\u00a0interface eth0\r\n\u00a0\u00a0virtual_router_id 10\r\n\u00a0\u00a0priority 100\r\n\u00a0\u00a0lvs_sync_daemon_interface eth0\r\n\r\n\u00a0\u00a0authentication {\r\n\u00a0\u00a0\u00a0\u00a0auth_type PASS\r\n\u00a0\u00a0\u00a0\u00a0auth_pass mariadb\r\n\u00a0}\r\n\r\n\u00a0\u00a0virtual_ipaddress {\r\n\u00a0\u00a0\u00a0172.21.115.207\r\n\u00a0}\r\n}\r\n\r\nvirtual_server 172.21.115.217 3306 {\r\n\u00a0\u00a0delay_loop 3\r\n\u00a0\u00a0lb_algo dh\r\n\u00a0\u00a0protocol TCP\r\n\u00a0\u00a0real_server 172.21.115.218 3306 {\r\n\u00a0\u00a0\u00a0\u00a0weight 100\r\n\u00a0\u00a0\u00a0\u00a0MISC_CHECK {\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0misc_path \"\/svc\/mysql_check.sh 172.21.115.218\"\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0misc_timeout 3\r\n\u00a0\u00a0\u00a0}\r\n\u00a0}\r\n\u00a0\u00a0real_server 172.21.115.215 3306 {\r\n\u00a0\u00a0\u00a0\u00a0weight 100\r\n\u00a0\u00a0\u00a0\u00a0MISC_CHECK {\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0misc_path \"\/svc\/mysql_check.sh 172.21.115.215\"\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0misc_timeout 3\r\n\u00a0\u00a0\u00a0}\r\n\u00a0}\r\n}<\/code><\/pre>\n<p>&nbsp;<\/p>\n<div>\n<div class=\"box\">\n<div class=\"code\">\n<div class=\"linenoswrapper\"><\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/li>\n<li>\ubaa8\ub2c8\ud130 \uc2a4\ud06c\ub9bd\ud2b8 \uc124\uc815\n<pre><code class=\"language-Python\">$&gt; vi \/svc\/mysql_check.sh\r\n\r\n#!\/bin\/bash\r\n\r\n\/svc\/mysql\/bin\/mysql -u monitor -pmonitor -h $1 -Nse 'select now()'\r\n\r\n$&gt; chmod 755 \/svc\/mysql_check.sh<\/code><\/pre>\n<\/li>\n<\/ol>\n<h3 id=\"bkmrk-%EC%8B%9C%EC%8A%A4%ED%85%9C-%EC%84%A4%EC%B9%98%28db%231%EC%84%9C%EB%B2%84%29\" class=\"wikigeneratedid\"><span class=\"ez-toc-section\" id=\"%EC%8B%9C%EC%8A%A4%ED%85%9C_%EC%84%A4%EC%B9%98DB1%EC%84%9C%EB%B2%84\"><\/span>\uc2dc\uc2a4\ud15c \uc124\uce58(DB#1\uc11c\ubc84)<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<ol id=\"bkmrk-%EC%A0%91%EA%B7%BC%EC%9D%84-%EC%9C%84%ED%95%9C-db%EA%B3%84%EC%A0%95%EC%84%A4%EC%A0%95-mariad\">\n<li>\uc811\uadfc\uc744 \uc704\ud55c db\uacc4\uc815\uc124\uc815\n<pre><code class=\"language-SQL\">MariaDB [(none)]&gt; grant process on *.* to \u00a0monitor@'172.21.115.215' identified by 'monitor' with grant option;\r\nMariaDB [(none)]&gt; grant process on *.* to \u00a0monitor@'172.21.115.218' identified by 'monitor' with grant option;\r\nMariaDB [(none)]&gt; flush privileges;<\/code><\/pre>\n<\/li>\n<li>\ucee4\ub110 \ud30c\ub77c\ubbf8\ud130 \uc218\uc815 \ud6c4 \uc801\uc6a9\n<pre><code class=\"language-Python\">$&gt; vi \/etc\/sysctl.conf\r\n...\r\nnet.ipv4.ip_forward = 1\r\n...\r\n$&gt; sysctl -p<\/code><\/pre>\n<\/li>\n<li>\uc11c\ube44\uc2a4 \uc2e4\ud589 \ud6c4 VIP\ud560\ub2f9\uc5ec\ubd80 \ud655\uc778\n<pre><code class=\"language-Python\">$&gt; systemctl start keepalived\r\n$&gt; ip addr show | grep 32\r\n\u00a0\u00a0\u00a0\u00a0inet 172.21.115.217\/32 scope global eth0 \u00a0\u00a0#\uc2e4\uc81c\ub85c Active\ub41c \ub178\ub4dc\uc5d0\uc11c\ub9cc VIP \ud560\ub2f9\ub428<\/code><\/pre>\n<div>\n<div class=\"box\">\n<div class=\"code\">\n<div class=\"linenoswrapper\">\n<div class=\"linenos\"><\/div>\n<div><\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/li>\n<\/ol>\n<h3 id=\"bkmrk-keepalived-%EC%9A%B4%EC%98%81\" class=\"wikigeneratedid\"><span class=\"ez-toc-section\" id=\"keepalived_%EC%9A%B4%EC%98%81\"><\/span>keepalived \uc6b4\uc601<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<ol id=\"bkmrk-%EB%AA%A8%EB%8B%88%ED%84%B0%EB%A7%81-%EB%B0%A9%EB%B2%95%24%3E-ipvsadm--l\">\n<li>\ubaa8\ub2c8\ud130\ub9c1 \ubc29\ubc95\n<pre><code class=\"language-Python\">$&gt; ipvsadm -Ln\r\n\r\nIP Virtual Server version 1.2.1 (size=4096)\r\nProt LocalAddress:Port Scheduler Flags\r\n\u00a0\u00a0-&gt; RemoteAddress:Port \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0Forward Weight ActiveConn InActConn\r\nTCP \u00a0172.21.115.217:3306 sh\r\n\u00a0\u00a0-&gt; 172.21.115.215:3306 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0Masq \u00a0\u00a0\u00a0100 \u00a0\u00a0\u00a02 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a00\r\n\u00a0\u00a0-&gt; 172.21.115.218:3306 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0Masq \u00a0\u00a0\u00a0100 \u00a0\u00a0\u00a050 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a00<\/code><\/pre>\n<p>&nbsp;<\/p>\n<div>\n<div class=\"box\">\n<div class=\"code\">\n<div class=\"linenoswrapper\"><\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/li>\n<li>\u200b\u200b\u200b\u200b\u200b\u200b\ud604\uc7ac \uc5f0\uacb0\ub41c \uc138\uc158 \uc815\ubcf4 \ud655\uc778\n<pre><code class=\"language-Python\">$&gt; ipvsadm -Lnc\r\nIPVS connection entries\r\npro expire state \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0source \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0virtual \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0destination\r\nTCP 14:56 \u00a0ESTABLISHED 172.21.114.22:52950 172.21.115.217:3306 172.21.115.218:3306\r\nTCP 14:56 \u00a0ESTABLISHED 172.21.114.22:52968 172.21.115.217:3306 172.21.115.218:3306\r\nTCP 14:56 \u00a0ESTABLISHED 172.21.114.22:52984 172.21.115.217:3306 172.21.115.218:3306\r\nTCP 14:54 \u00a0ESTABLISHED 172.21.114.22:52928 172.21.115.217:3306 172.21.115.218:3306\r\nTCP 14:56 \u00a0ESTABLISHED 172.21.114.22:52980 172.21.115.217:3306 172.21.115.218:3306<\/code><\/pre>\n<div>\n<div class=\"box\">\n<div class=\"code\">\n<div class=\"linenoswrapper\">\n<div class=\"linenos\"><\/div>\n<div><\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/li>\n<\/ol>\n<h3 id=\"bkmrk-%EC%9E%A5%EC%95%A0%EB%B0%9C%EC%83%9D%EC%8B%9C-%EC%A1%B0%EC%B9%98\" class=\"wikigeneratedid\"><span class=\"ez-toc-section\" id=\"%EC%9E%A5%EC%95%A0%EB%B0%9C%EC%83%9D%EC%8B%9C_%EC%A1%B0%EC%B9%98\"><\/span>\uc7a5\uc560\ubc1c\uc0dd\uc2dc \uc870\uce58<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<ol id=\"bkmrk-%EC%9E%A5%EC%95%A0%EA%B5%AC%ED%98%84-%28db%231-mariadb-%EC%A0%91\">\n<li>\uc7a5\uc560\uad6c\ud604 (DB#1 Mariadb \uc811\uadfc \ubd88\uac00\uc2dc)\n<pre><code class=\"language-Python\"># Keepalived\uc5d0\uc11c Mysql \uc811\uadfc \ubd88\uac00 \ud655\uc778\r\n\r\n$&gt; vi \/var\/log\/messages\r\n...\r\nMar 11 14:36:43 dbms01 Keepalived_healthcheckers[666145]: Misc check for [[172.21.115.218]:tcp:3306 VS [172.21.115.217]:tcp:3306] by [\/svc\/mysql_check.sh] timed out with retry disabled.\r\nMar 11 14:36:43 dbms01 Keepalived_healthcheckers[666145]: Removing service [172.21.115.218]:tcp:3306 to VS [172.21.115.217]:tcp:3306\r\n...<\/code><\/pre>\n<div>\n<div>\n<div>\n<div class=\"box\"><\/div>\n<\/div>\n<div>\n<div class=\"box\">\n<div class=\"code\">\n<div class=\"linenoswrapper\">\n<div class=\"linenos\"><\/div>\n<div># ipvsadm\uc5d0\uc11c \uc7a5\uc560\ubc1c\uc0dd\uc11c\ubc84 \uc81c\uc678<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<pre><code class=\"language-Python\">$&gt; ipvsadm\r\nIP Virtual Server version 1.2.1 (size=4096)\r\nProt LocalAddress:Port Scheduler Flags\r\n\u00a0\u00a0-&gt; RemoteAddress:Port \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0Forward Weight ActiveConn InActConn\r\nTCP \u00a0172.21.115.217:3306 sh\r\n\u00a0\u00a0-&gt; 172.21.115.215:3306 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0Masq \u00a0\u00a0\u00a0100 \u00a0\u00a0\u00a033 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a013<\/code><\/pre>\n<div>\n<div>\n<div class=\"box\">\n<div class=\"code\">\n<div class=\"linenoswrapper\">\n<div><\/div>\n<div><\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/li>\n<li>\n<div>\n<div>\n<div>\n<div class=\"box\">\n<div class=\"code\">\n<div class=\"linenoswrapper\">\n<div class=\"linenos\">\uc7a5\uc560\uad6c\ud604 (DB#1 \uc11c\ubc84 \uc7a5\uc560\uc2dc)<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<pre><code class=\"language-Python\">#master \uc11c\ubc84\r\n$&gt; vi \/var\/log\/messages\r\nMar 11 14:19:21 dbms01 systemd[1]: Stopping LVS and VRRP High Availability Monitor...\r\nMar 11 14:19:21 dbms01 Keepalived[664420]: Stopping\r\nMar 11 14:19:21 dbms01 Keepalived_healthcheckers[664421]: Shutting down service [172.21.115.218]:tcp:3306 from VS [172.21.115.217]:tcp:3306\r\nMar 11 14:19:21 dbms01 kernel: IPVS: stopping master sync thread 664516 ...\r\nMar 11 14:19:21 dbms01 Keepalived_vrrp[664422]: (DB_HA) sent 0 priority\r\nMar 11 14:19:21 dbms01 Keepalived_vrrp[664422]: (DB_HA) removing VIPs.\r\nMar 11 14:19:21 dbms01 Keepalived_healthcheckers[664421]: Shutting down service [172.21.115.215]:tcp:3306 from VS [172.21.115.217]:tcp:3306\r\nMar 11 14:19:21 dbms01 Keepalived_healthcheckers[664421]: Stopped - used 0.011017 user time, 0.141106 system time\r\nMar 11 14:19:22 dbms01 Keepalived_vrrp[664422]: Stopped - used 0.011218 user time, 0.026105 system time\r\nMar 11 14:19:22 dbms01 Keepalived[664420]: CPU usage (self\/children) user: 0.000000\/1.222181 system: 0.001086\/1.218784\r\nMar 11 14:19:22 dbms01 Keepalived[664420]: Stopped Keepalived v2.1.5 (07\/13,2020)\r\nMar 11 14:19:22 dbms01 systemd[1]: keepalived.service: Succeeded.\r\nMar 11 14:19:22 dbms01 systemd[1]: Stopped LVS and VRRP High Availability Monitor.\r\n1\r\n2\r\n3\r\n4\r\n5\r\n6\r\n7\r\n8\r\n\r\n#Standby \uc11c\ubc84\r\n$&gt; vi \/var\/log\/messages\r\nMar 11 14:20:41 dbms02 Keepalived_vrrp[666146]: (DB_HA) Backup received priority 0 advertisement\r\nMar 11 14:20:42 dbms02 Keepalived_vrrp[666146]: (DB_HA) Receive advertisement timeout\r\nMar 11 14:20:42 dbms02 Keepalived_vrrp[666146]: (DB_HA) Entering MASTER STATE\r\nMar 11 14:20:42 dbms02 Keepalived_vrrp[666146]: (DB_HA) setting VIPs.\r\nMar 11 14:20:42 dbms02 Keepalived_vrrp[666146]: (DB_HA) Sending\/queueing gratuitous ARPs on eth0 for 172.21.115.217\r\nMar 11 14:20:42 dbms02 Keepalived_vrrp[666146]: Sending gratuitous ARP on eth0 for 172.21.115.217<\/code><\/pre>\n<div>\n<div>\n<div class=\"box\">\n<div class=\"code\">\n<div class=\"linenoswrapper\">\n<div class=\"linenos\"><\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/li>\n<\/ol>\n<p id=\"bkmrk-reference\"><em>reference<\/em><\/p>\n<ul id=\"bkmrk-https%3A%2F%2Faccess.redha\">\n<li><em><span class=\"wikiexternallink\"><a class=\"wikimodel-freestanding\" href=\"https:\/\/access.redhat.com\/documentation\/en-us\/red_hat_enterprise_linux\/7\/html\/load_balancer_administration\/index\/\/\"><span class=\"wikigeneratedlinkcontent\">https:\/\/access.redhat.com\/documentation\/en-us\/red_hat_enterprise_linux\/7\/html\/load_balancer_administration\/index\/\/<\/span><\/a><\/span><\/em><\/li>\n<li><em><span class=\"wikiexternallink\"><a class=\"wikimodel-freestanding\" href=\"https:\/\/www.slideshare.net\/neoclova\/maria-db-250919306\/\/\"><span class=\"wikigeneratedlinkcontent\">https:\/\/www.slideshare.net\/neoclova\/maria-db-250919306\/\/<\/span><\/a><\/span><\/em><\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>\uc548\ub155\ud558\uc138\uc694, \uace0\ub2c8\uc785\ub2c8\ub2e4. \uae30\uc874\uc5d0 \uc791\uc131\ud55c \ubb38\uc11c Refactoring\uc744 \uc9c4\ud589\uc911\uc778\ub370\uc694. \ud574\ub2f9\ubb38\uc11c\ub3c4 \uc5c5\ub370\uc774\ud2b8\ub97c \uc9c4\ud589\ud574\ubcf4\uc558\uc2b5\ub2c8\ub2e4. perplexity\uc5d0\uc11c \uc0dd\uc131\ud55c AI\uc774\ubbf8\uc9c0 \uc2dc\uc2a4\ud15c \uad6c\uc131\ub3c4 \uc11c\ubc84\uc815\ubcf4&hellip;<\/p>\n","protected":false},"author":1,"featured_media":1385,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[381],"tags":[395,393],"class_list":["post-1381","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-mysqlmariadb","tag-ha","tag-keepalived"],"aioseo_notices":[],"_links":{"self":[{"href":"http:\/\/www.igoni.kr\/index.php?rest_route=\/wp\/v2\/posts\/1381","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/www.igoni.kr\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/www.igoni.kr\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/www.igoni.kr\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/www.igoni.kr\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1381"}],"version-history":[{"count":1,"href":"http:\/\/www.igoni.kr\/index.php?rest_route=\/wp\/v2\/posts\/1381\/revisions"}],"predecessor-version":[{"id":1387,"href":"http:\/\/www.igoni.kr\/index.php?rest_route=\/wp\/v2\/posts\/1381\/revisions\/1387"}],"wp:featuredmedia":[{"embeddable":true,"href":"http:\/\/www.igoni.kr\/index.php?rest_route=\/wp\/v2\/media\/1385"}],"wp:attachment":[{"href":"http:\/\/www.igoni.kr\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1381"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.igoni.kr\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1381"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.igoni.kr\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1381"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}