{"id":231,"date":"2012-10-02T15:46:08","date_gmt":"2012-10-02T13:46:08","guid":{"rendered":"http:\/\/clark.tipistrani.it\/?p=231"},"modified":"2012-10-02T15:46:23","modified_gmt":"2012-10-02T13:46:23","slug":"cluster-con-ucarp","status":"publish","type":"post","link":"https:\/\/clark.tipistrani.it\/?p=231","title":{"rendered":"Cluster con UCARP"},"content":{"rendered":"<p><a href=\"http:\/\/www.pureftpd.org\/project\/ucarp\">UCARP\u00a0 <\/a>\u00e8 il port sotto linux di CARP di BSD.<\/p>\n<p>La situazione dei 2 bastion host pu\u00f2 essere cosi graficamente rappresentata:<\/p>\n<p style=\"text-align: left;\"><a href=\"https:\/\/clark.tipistrani.it\/wp-content\/uploads\/ucarp.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\" wp-image-239 aligncenter\" title=\"ucarp\" src=\"https:\/\/clark.tipistrani.it\/wp-content\/uploads\/ucarp-300x225.jpg\" alt=\"\" width=\"300\" height=\"225\" srcset=\"https:\/\/clark.tipistrani.it\/wp-content\/uploads\/ucarp-300x225.jpg 300w, https:\/\/clark.tipistrani.it\/wp-content\/uploads\/ucarp.jpg 800w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a>Quindi sangiorgio \u00e8 il Maser e perseo lo slave, e 192.168.2.241 salta dal Master allo slave se il primo per un qualsiasi motivo non dovesse essere operativo, per poi tornare sul primario quando la situazione torna alal normalit\u00e0.<br \/>\nI pacchetti necessari sono: ucarp iproute e iputils-arping che installeremo col solito apt-get install che provvedera&#8217; a tirarsi dietro tutte le dipendenze del caso.<br \/>\nLa documentazione di ucarp e&#8217; un po povera (un po TANTO povera) ad essere onesti e ho dovuto ingegnarmi un po, pero&#8217; grazie anche all&#8217;aiuto di Roberto Resoli del Linuxtrent che ringrazio moltissimo sono riuscito ad ottenere una configurazione piu&#8217; che funzionale.<br \/>\nIl grande vantaggio di ucarp \u00e8 la sua leggerezza e praticit\u00e0, il suo svantaggio la quasi totale incompatibilit\u00e0 con drbd almeno io non son riuscito a farli andare assieme, a causa di questo il fatto\u00a0 le configurazioni dei servizi devono essere replicate sulle due macchine, e assicuro che specie se si ha fretta (cio\u00e8 sempre praticamente) \u00e8 davvero un guaio tenerle allineate.<br \/>\nQuando la connessione cade su sangiorgio, perseo fa il take dell&#8217;indirizzo e fa partire i servizi.<br \/>\nLe differenze tra i vari files di partenza del demone e di arresto sono nella parte di lancio la priorit\u00e0 con cui una macchina si elegge a Master e nella parte di down i mac address delle due macchine che sono invertiti negli script per il gratuitous arp.<br \/>\nLa cosa che mi ha fatto veramente stupore di ucarp \u00e8 che ambedue gli hosts devono essere settati col flag -P cio\u00e8 come Master ma uno \u00e8 pi\u00f9 Master dell&#8217;altro, personalmente trovo questa logica abbastanza contorta ma tant\u00e8.<br \/>\nRiporto interamente e in originale il pezzo del file README di ucarp che tratta di questo argomento<br \/>\n&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<br \/>\nBy changing the base (the -b switch) you can have a &#8220;preferred&#8221; master. The<br \/>\nlower the value is, the more likely it&#8217;s going to be a master.<\/p>\n<p>Please note that by default, and if everything&#8217;s ok, a master will stay a<br \/>\nmaster as long as possible. If you want a &#8220;preferred&#8221; master to immediately<br \/>\nbecome a master even if another host is already the master:<br \/>\n&#8211; add the &#8211;preempt (or -P) switch to *all* hosts<br \/>\n&#8211; use a lower skew or a lower base for the &#8220;preferred&#8221; one.<\/p>\n<p>When ucarp first runs, it starts as a backup and listens to the network to<br \/>\ndetermine if it should become the master. When it enters the backup state, it<br \/>\nnormally runs the downscript. That can be useful to remove old temporary files<br \/>\nor clean up an interface that is in an unknown state. In some circumstances,<br \/>\nhowever, it is undesirable to run the downscript if the service was not<br \/>\nalready up. In that case, use the &#8211;neutral (-n) switch for ucarp to not run<br \/>\nthe downscript when it enters the backup state the first time. All changes<br \/>\nfrom the master state to the backup state after that will run the downscript.<br \/>\n&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<br \/>\nIn effetti dalle prove che ho fatto i flag -b e -k sono quelli che fanno tutto.<br \/>\nUn altro aspetto da tenere presente se si hanno in rete diverse macchine non tra loro clusterizzate che usano ucarp e&#8217; necessario usare VHID differenti altrimenti i syslog si riempiono di messaggi di errore.<\/p>\n<p style=\"text-align: left;\">i file di configurazione di ucarp sono 3<br \/>\na) il file di lancio <a title=\"\/etc\/init.d\/ucarp\" href=\"https:\/\/clark.tipistrani.it\/?p=244\">\/etc\/init.d\/ucarp<\/a><br \/>\nb) il file di up <a title=\"etc\/ucarp\/ucarp-up\" href=\"https:\/\/clark.tipistrani.it\/?p=254\">\/etc\/ucarp\/ucarp-up<\/a><br \/>\nc) il file di down <a title=\"\/etc\/ucarp\/ucarp-down\" href=\"https:\/\/clark.tipistrani.it\/?p=257\">\/etc\/ucarp\/ucarp-down<\/a><\/p>\n<p>il file di lancio \u00e8 stato una mia precisa scelta perch\u00e8 su molta documentazione che si trova in rete questi parametri sono passati direttamente alla scheda in \/etc\/network\/interfaces<br \/>\nLe due macchine sono sangiorgio e la sua gemella perseo.<br \/>\nUn particolare che da subito mi ha dato da pensare \u00e8 stato il seguente:<br \/>\nse la macchina master cade la macchina slave fa il take degli indirizzi fa partire i servizi e tutto va bene; ma se la macchina master non cade perche&#8217; non ha motivo di cadere ma non c&#8217;\u00e8 linea sul router cosa faccio?<br \/>\nQuella sta su bella tranquilla e non si esce.<br \/>\nRagionando e al solito chiedendo nella mitica ML del Linuxtrent sono arrivato a usare un plugin di nagios inserendolo in nello script <a title=\"check_connection\" href=\"https:\/\/clark.tipistrani.it\/?p=261\">check_connection<\/a> e mettendolo in crontab ogni\u00a0 minuto.<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>UCARP\u00a0 \u00e8 il port sotto linux di CARP di BSD. La situazione dei 2 bastion host pu\u00f2 essere cosi graficamente rappresentata: Quindi sangiorgio \u00e8 il Maser e perseo lo slave, e 192.168.2.241 salta dal Master allo slave se il primo per un qualsiasi motivo non dovesse essere operativo, per poi tornare sul primario quando la [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[12,8,6],"tags":[],"class_list":["post-231","post","type-post","status-publish","format-standard","hentry","category-cluster","category-linux","category-work"],"_links":{"self":[{"href":"https:\/\/clark.tipistrani.it\/index.php?rest_route=\/wp\/v2\/posts\/231","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/clark.tipistrani.it\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/clark.tipistrani.it\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/clark.tipistrani.it\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/clark.tipistrani.it\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=231"}],"version-history":[{"count":14,"href":"https:\/\/clark.tipistrani.it\/index.php?rest_route=\/wp\/v2\/posts\/231\/revisions"}],"predecessor-version":[{"id":831,"href":"https:\/\/clark.tipistrani.it\/index.php?rest_route=\/wp\/v2\/posts\/231\/revisions\/831"}],"wp:attachment":[{"href":"https:\/\/clark.tipistrani.it\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=231"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/clark.tipistrani.it\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=231"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/clark.tipistrani.it\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=231"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}