<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="lt">
	<id>https://wiki.eofnet.lt/w//index.php?action=history&amp;feed=atom&amp;title=Keepalived</id>
	<title>Keepalived - Versijų istorija</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.eofnet.lt/w//index.php?action=history&amp;feed=atom&amp;title=Keepalived"/>
	<link rel="alternate" type="text/html" href="https://wiki.eofnet.lt/w//index.php?title=Keepalived&amp;action=history"/>
	<updated>2026-04-19T12:29:35Z</updated>
	<subtitle>Šio puslapio versijų istorija projekte</subtitle>
	<generator>MediaWiki 1.35.1</generator>
	<entry>
		<id>https://wiki.eofnet.lt/w//index.php?title=Keepalived&amp;diff=8044&amp;oldid=prev</id>
		<title>\dev\null: pictures :-D</title>
		<link rel="alternate" type="text/html" href="https://wiki.eofnet.lt/w//index.php?title=Keepalived&amp;diff=8044&amp;oldid=prev"/>
		<updated>2016-12-14T14:45:42Z</updated>

		<summary type="html">&lt;p&gt;pictures :-D&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Naujas puslapis&lt;/b&gt;&lt;/p&gt;&lt;div&gt;Šiame straipsnyje bus aprašoma kaip sukonfigūruoti [[Aukšto pasiekiamumo web serveris|Aukšto pasiekiamumo]] [[Linux]] serverį su slankiojančiu IP (angl. floating IP) pasitelkiant '''keepalived''' daemon'ą jog jis veiktų kaip Master &amp;gt; Slave (dviejuose serveriuose) ir priskirtų aktyviam serveriui floating IP. Bus naudojamas DigitalOcean API (reikalingas digital ocean api auth key).&lt;br /&gt;
&lt;br /&gt;
= Diegimas =&lt;br /&gt;
&lt;br /&gt;
 apt-get install keepalived&lt;br /&gt;
&lt;br /&gt;
= Konfigūravimas =&lt;br /&gt;
&lt;br /&gt;
Naudosime vidinius tinklo ip (galima naudoti ir išorinius):&lt;br /&gt;
* '''eth1''' - vidinis tinklo interfeisas.&lt;br /&gt;
* '''X.X.X.X''' - Master serverio ip.&lt;br /&gt;
* '''Y.Y.Y.Y''' - Slave serverio ip.&lt;br /&gt;
* '''PA55''' - Slaptažodis komunikavimui tarp serverių.&lt;br /&gt;
* '''chk_nginx''' - tikrinamas nginx serviso gyvybiškumas (galima pridėti ir papildomų).&lt;br /&gt;
* '''virtual_router_id''' - abiejuose serveriuose turi būti vienodas&lt;br /&gt;
* '''state''' - Pirmajame turi būti '''MASTER''', antrajame '''BACKUP'''.&lt;br /&gt;
* '''priority''' - Pagrindiniame serveryje turi būti didesnis.&lt;br /&gt;
* '''/etc/keepalived/master.sh''' - Scriptas kurį leisime aktyviame serveryje (floating ip priskyrimui)&lt;br /&gt;
&lt;br /&gt;
== Master serveris ==&lt;br /&gt;
&lt;br /&gt;
'''/etc/keepalived/keepalived.conf''':&lt;br /&gt;
&lt;br /&gt;
 vrrp_script chk_nginx {&lt;br /&gt;
    script &amp;quot;pidof nginx&amp;quot;&lt;br /&gt;
    interval 2&lt;br /&gt;
 }&lt;br /&gt;
 vrrp_instance VI_1 {&lt;br /&gt;
    interface '''eth1'''&lt;br /&gt;
    state '''MASTER'''&lt;br /&gt;
    priority '''200'''&lt;br /&gt;
    advert_int '''1'''&lt;br /&gt;
    virtual_router_id '''199'''&lt;br /&gt;
 unicast_src_ip '''X.X.X.X'''&lt;br /&gt;
    unicast_peer {&lt;br /&gt;
          '''Y.Y.Y.Y'''&lt;br /&gt;
    }&lt;br /&gt;
   track_script {&lt;br /&gt;
        '''chk_nginx'''&lt;br /&gt;
    }&lt;br /&gt;
  authentication {&lt;br /&gt;
        auth_type PASS&lt;br /&gt;
        auth_pass '''PA55'''&lt;br /&gt;
    }&lt;br /&gt;
   notify_master '''/etc/keepalived/master.sh'''&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
== Slave serveris ==&lt;br /&gt;
&lt;br /&gt;
'''/etc/keepalived/keepalived.conf''':&lt;br /&gt;
 vrrp_script chk_nginx {&lt;br /&gt;
    script &amp;quot;pidof nginx&amp;quot;&lt;br /&gt;
    interval 2&lt;br /&gt;
 }&lt;br /&gt;
 vrrp_instance VI_1 {&lt;br /&gt;
    interface '''eth1'''&lt;br /&gt;
    state '''BACKUP'''&lt;br /&gt;
    priority '''100'''&lt;br /&gt;
    advert_int '''1'''&lt;br /&gt;
    virtual_router_id '''199'''&lt;br /&gt;
 unicast_src_ip '''Y.Y.Y.Y'''&lt;br /&gt;
    unicast_peer {&lt;br /&gt;
           '''X.X.X.X'''&lt;br /&gt;
    }&lt;br /&gt;
    track_script {&lt;br /&gt;
        '''chk_nginx'''&lt;br /&gt;
    }&lt;br /&gt;
    authentication {&lt;br /&gt;
        auth_type PASS&lt;br /&gt;
        auth_pass '''PA55'''&lt;br /&gt;
    }&lt;br /&gt;
    notify_master '''/etc/keepalived/master.sh'''&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
== /etc/keepalived/master.sh scriptas ==&lt;br /&gt;
Būtinai reiktų nusistatyti '''digital ocean api key'''&lt;br /&gt;
&lt;br /&gt;
[[Vaizdas:Make token digocean.png]]&lt;br /&gt;
&lt;br /&gt;
 ir '''floating ip''' prieš naudojant šį scriptą. &lt;br /&gt;
&lt;br /&gt;
[[Vaizdas:Fip assign to primary.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Kaip matote jis paleidžia žemiau esantį assign-ip scriptą kurį aprašysiu žemiau šio straipsnio.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
export DO_TOKEN='JUSU_DIGITALOCEAN_API_KEY'&lt;br /&gt;
IP='FLOATING_IP_ADRESAS'&lt;br /&gt;
ID=$(curl -s http://169.254.169.254/metadata/v1/id)&lt;br /&gt;
HAS_FLOATING_IP=$(curl -s http://169.254.169.254/metadata/v1/floating_ip/ipv4/active)&lt;br /&gt;
if [ $HAS_FLOATING_IP = &amp;quot;false&amp;quot; ]; then&lt;br /&gt;
    n=0&lt;br /&gt;
    while [ $n -lt 10 ]&lt;br /&gt;
    do&lt;br /&gt;
        /usr/local/bin/assign-ip $IP $ID &amp;amp;&amp;amp; break&lt;br /&gt;
        n=$((n+1))&lt;br /&gt;
        sleep 3&lt;br /&gt;
    done&lt;br /&gt;
fi&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
== /usr/local/bin/assign-ip scriptas ==&lt;br /&gt;
 sudo curl -L -o &amp;lt;nowiki&amp;gt;/usr/local/bin/assign-ip http://do.co/assign-ip&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 sudo chmod +x /usr/local/bin/assign-ip&lt;br /&gt;
= Debuginimas =&lt;br /&gt;
Debuginimas paprastas, pirmiausia pažiūrėkite ar nėra paleistas '''keepalived''' daemonas, tuomet jį leiskite šitaip, abejuose serveriuose ir bandykite restart/shutdown, ar dar ką nors (t.y nginx service restart).&lt;br /&gt;
 keepalived -D -n&lt;br /&gt;
Šitaip paleistas servisas visą [[stdout]]'ą mes ir [[foreground]]'ą ir bus aišku ką ir kaip padarėte negerai bei galite taisytis.&lt;br /&gt;
[[Category:Tinklas]]&lt;br /&gt;
[[Category:Cloud]]&lt;br /&gt;
[[Category:Linux]]&lt;br /&gt;
[[Category:Debian]]&lt;br /&gt;
[[Category:Ubuntu]]&lt;/div&gt;</summary>
		<author><name>\dev\null</name></author>
	</entry>
</feed>