<div dir="ltr"><div>День добрый!</div><div><br></div>Я из того, что видел - реально решение на таких конфигах с keepalived - самое производительное, но, как я понял и самое геморное по настройкам и, возможно, поддержке.<div><br><div>Для себя мы пока просто поставили DNS round-robin с коротким циклом обновления, при сильных сбоях узлов - около часа уходит на полный вывод из кластера, но это терпимо в наших случаях, узлов условно много. Да и узлы раскиданы очень сильно.</div><div><br></div><div>Для 2 узлов (если это веб сервис) не проще ли повесить на оба сервера по nginx и на каждом указать оба сервера-бекенда как upstream серверы? Перенос осуществлять той же переброской IP на нужный сервер хоть каким способом (самопал, heartbeat, какие-то новые вроде еще были тулзы), сбойный узел бекенда будет исключаться из работы по конфигу самим nginx.</div><div><br></div></div></div><div class="gmail_extra"><br><div class="gmail_quote">11 января 2016 г., 15:19 пользователь Дмитрий Сбойчаков <span dir="ltr">&lt;<a href="mailto:sboichakov@gmail.com" target="_blank">sboichakov@gmail.com</a>&gt;</span> написал:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div><div><div><div><div><div><div><div><div><div>Всем привет!<br></div>Есть задача - сделать, чтобы две машины висели над одном IP адресе и между ними распределялся поступающий  трафик. Никаких третьих сторон в сети (ну, кроме роутера - разумеется) не должны знать о реализации, т.е. задача должна быть решена без внешнего директора.<br></div>Т.е. непосредственно реализация HightAvailability и Load-Balance.<br></div>Первая часть успешно реализуется протоколом VRRP или CARP (но тут уже фряха).<br></div>А вторую можно организовать с помощью kernel модуля ip_vs.<br></div>Юзерспейс реализацией первого и управлялкой второго является демон keepalived.<br></div>Так вот, некоторое уступление для тех, кто совсем не сталкивался с этими задачами - пусть им тоже будет интересно почитать топик ;)<br></div>Теперь вопрос к гуру, кто работал с этим демоном?<br></div>Насколько я понимаю для реализации нужен один vrrp_instance на две машины, а ip адресе инстанса  должен крутиться virtual server (модуль ip_vs, VS). Причем VS должен быть на той машине, которая является мастером в текущий момент.<br></div><div><br></div>Я пишу такой конфиг (ниже), может что то упускаю? ip forwarding включен...<br></div>Есть кто, кто сможет помочь с настройкой?<br><div><div><div><div><pre><font size="2"><i><span style="font-family:monospace,monospace">! Configuration File for keepalived

vrrp_instance VI_1 {
    interface eth0
    virtual_router_id 50
    nopreempt
    priority 100
    advert_int 1
    virtual_ipaddress {
        172.20.0.245

    }
}

virtual_server </span></i><i><span style="font-family:monospace,monospace"><i><span style="font-family:monospace,monospace"> 172.20.0.245</span></i> 1358 {
    delay_loop 6
    lb_algo rr 
    lb_kind DR
    persistence_timeout 50
    protocol TCP
    real_server </span></i><i><span style="font-family:monospace,monospace"><i><span style="font-family:monospace,monospace"><i><span style="font-family:monospace,monospace">172.20.0.11</span></i></span></i> 1358 {
        weight 1
      </span></i><i><span style="font-family:monospace,monospace">  TCP_CHECK {
            connect_port    </span></i><i><span style="font-family:monospace,monospace"><i><span style="font-family:monospace,monospace">1358</span></i>
            connect_timeout 3
        }
    }<br></span></i><i><span style="font-family:monospace,monospace"><i><span style="font-family:monospace,monospace">   real_server 172.20.0.10 1358 {
        weight 1
      </span></i><i><span style="font-family:monospace,monospace">  TCP_CHECK {
            connect_port    </span></i><i><span style="font-family:monospace,monospace"><i><span style="font-family:monospace,monospace">1358</span></i>
            connect_timeout 3
        }
    }<br></span></i> }</span></i><span class="HOEnZb"><font color="#888888">
</font></span></font></pre><span class="HOEnZb"><font color="#888888"><br clear="all"><div><div><div><div><div><div><div><div><div><div><div><div><div><div><div><div><br>-- <br><div><div style="padding:20px 12px;line-height:17px;font-family:&quot;Helvetica Neue&quot;,Helvetica,Arial,sans-serif;font-size:13px;background-color:rgb(255,255,255)"><div dir="ltr"><div><div style="direction:ltr;font-size:10pt;font-family:Tahoma"><div><font color="#999999">С Уважением, </font><span style="color:rgb(153,153,153);font-size:10pt">Сбойчаков Дмитрий</span></div></div></div><div style="clear:both"></div></div><div style="clear:both"></div></div></div>
</div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></font></span></div></div></div></div></div>
<br>_______________________________________________<br>
Sarlug mailing list<br>
<a href="mailto:Sarlug@lists.lug.ru">Sarlug@lists.lug.ru</a><br>
<a href="https://lists.lug.ru/mailman/listinfo/sarlug" rel="noreferrer" target="_blank">https://lists.lug.ru/mailman/listinfo/sarlug</a><br></blockquote></div><br><br clear="all"><div><br></div>-- <br><div class="gmail_signature">Dmitry Agafonov ~ <a href="http://agafonov.pp.ru/" target="_blank">http://agafonov.pp.ru/</a></div>
</div>