<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.itcollege.ee/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Mmust</id>
	<title>ICO wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.itcollege.ee/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Mmust"/>
	<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php/Special:Contributions/Mmust"/>
	<updated>2026-05-07T00:05:46Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.45.1</generator>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=User:Mmust&amp;diff=76307</id>
		<title>User:Mmust</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=User:Mmust&amp;diff=76307"/>
		<updated>2014-06-02T08:10:21Z</updated>

		<summary type="html">&lt;p&gt;Mmust: /* install */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:IT_infrastruktuuri_teenused]]&lt;br /&gt;
=LDAP Authentication MediaWikile=&lt;br /&gt;
Autor: Marek Must&amp;lt;br&amp;gt; 02.06.2014&lt;br /&gt;
Rühm: AK21&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Sissejuhatus==&lt;br /&gt;
MediaWiki on võimalik panna LDAP või ActiveDirectory-ga ühendusse, et kasutajanimi ja parool tuleks sealt.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Install==&lt;br /&gt;
Tuleb alla laadia: http://www.mediawiki.org/wiki/Extension:LDAP_Authentication&lt;br /&gt;
Sealt saab plugina, mis tuleks panna mediawiki extensions kataloogi.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;PRE&amp;gt;&lt;br /&gt;
#kataloogipuu/extensions/LdapAuthentication&lt;br /&gt;
&amp;lt;/PRE&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mingeid muudatusi extensionis tegema ei pea.&lt;br /&gt;
&lt;br /&gt;
==Seadistamine==&lt;br /&gt;
&lt;br /&gt;
Nüüd avame LocalSettings.php faili, kus paneme extesnsioni käima.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
vim LocalSettings.php&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Lisame LDAPi muudatused selles faili.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Enable LDAP Authentication&lt;br /&gt;
require_once( &amp;quot;$IP/extensions/LdapAuthentication/LdapAuthentication.php&amp;quot; );&lt;br /&gt;
$wgAuth = new LdapAuthenticationPlugin();&lt;br /&gt;
$wgLDAPDomainNames = array( &amp;quot;domeeninimi&amp;quot; );&lt;br /&gt;
$wgLDAPServerNames = array( &amp;quot;domeeninimi&amp;quot; =&amp;gt; &amp;quot;serveri aadress&amp;quot; );&lt;br /&gt;
$wgLDAPSearchStrings = array( &amp;quot;domeeninimi&amp;quot; =&amp;gt; &amp;quot;domeeninimi\\USER-NAME&amp;quot; );&lt;br /&gt;
$wgLDAPEncryptionType = array( &amp;quot;domeeninimi&amp;quot; =&amp;gt; &amp;quot;clear&amp;quot; );&lt;br /&gt;
$wgLDAPUseSSL = false;&lt;br /&gt;
$wgLDAPUseLocal = True;&lt;br /&gt;
$wgMinimalPasswordLength = 1;&lt;br /&gt;
$wgLDAPBaseDNs = array( &amp;quot;domeeninimi&amp;quot; =&amp;gt; &amp;quot;dc=domeeninimi,dc=net&amp;quot; );&lt;br /&gt;
$wgLDAPSearchAttributes = array( &amp;quot;domeeninimi&amp;quot; =&amp;gt; &amp;quot;sAMAccountName&amp;quot; );&lt;br /&gt;
$wgLDAPRetrievePrefs = array( &amp;quot;domeeninimi&amp;quot; =&amp;gt; &amp;quot;true&amp;quot; );&lt;br /&gt;
$wgLDAPDebug = 3; //for debugging LDAP&lt;br /&gt;
$wgShowExceptionDetails = true; //for debugging MediaWiki&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kui sai õigesti konfigureeritud, siis peaks mediawiki näitama sulle sisse logimisel oma domeeninime. &lt;br /&gt;
Juhul kui viga kusagil võib tulla &amp;quot;whitescreen&amp;quot; mis tähendab, et kusagil viga sees.&lt;br /&gt;
&lt;br /&gt;
==Debugging==&lt;br /&gt;
Logid on head asjad ja tavaliselt ütlevad päris täpselt, mis viga on.&lt;br /&gt;
Apache logidesse kirjutatakse tavaliselt, kui ise pole muutnud seda.&lt;br /&gt;
&lt;br /&gt;
Näiteks:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# cd /var/log/httpd&lt;br /&gt;
# tail error.log &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
viimane rida võib erineda erinevates Linuxi distrodes.&lt;/div&gt;</summary>
		<author><name>Mmust</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=User:Mmust&amp;diff=76306</id>
		<title>User:Mmust</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=User:Mmust&amp;diff=76306"/>
		<updated>2014-06-02T08:10:02Z</updated>

		<summary type="html">&lt;p&gt;Mmust: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:IT_infrastruktuuri_teenused]]&lt;br /&gt;
=LDAP Authentication MediaWikile=&lt;br /&gt;
Autor: Marek Must&amp;lt;br&amp;gt; 02.06.2014&lt;br /&gt;
Rühm: AK21&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Sissejuhatus==&lt;br /&gt;
MediaWiki on võimalik panna LDAP või ActiveDirectory-ga ühendusse, et kasutajanimi ja parool tuleks sealt.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==install==&lt;br /&gt;
Tuleb alla laadia: http://www.mediawiki.org/wiki/Extension:LDAP_Authentication&lt;br /&gt;
Sealt saab plugina, mis tuleks panna mediawiki extensions kataloogi.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;PRE&amp;gt;&lt;br /&gt;
#kataloogipuu/extensions/LdapAuthentication&lt;br /&gt;
&amp;lt;/PRE&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mingeid muudatusi extensionis tegema ei pea.&lt;br /&gt;
&lt;br /&gt;
==Seadistamine==&lt;br /&gt;
&lt;br /&gt;
Nüüd avame LocalSettings.php faili, kus paneme extesnsioni käima.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
vim LocalSettings.php&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Lisame LDAPi muudatused selles faili.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Enable LDAP Authentication&lt;br /&gt;
require_once( &amp;quot;$IP/extensions/LdapAuthentication/LdapAuthentication.php&amp;quot; );&lt;br /&gt;
$wgAuth = new LdapAuthenticationPlugin();&lt;br /&gt;
$wgLDAPDomainNames = array( &amp;quot;domeeninimi&amp;quot; );&lt;br /&gt;
$wgLDAPServerNames = array( &amp;quot;domeeninimi&amp;quot; =&amp;gt; &amp;quot;serveri aadress&amp;quot; );&lt;br /&gt;
$wgLDAPSearchStrings = array( &amp;quot;domeeninimi&amp;quot; =&amp;gt; &amp;quot;domeeninimi\\USER-NAME&amp;quot; );&lt;br /&gt;
$wgLDAPEncryptionType = array( &amp;quot;domeeninimi&amp;quot; =&amp;gt; &amp;quot;clear&amp;quot; );&lt;br /&gt;
$wgLDAPUseSSL = false;&lt;br /&gt;
$wgLDAPUseLocal = True;&lt;br /&gt;
$wgMinimalPasswordLength = 1;&lt;br /&gt;
$wgLDAPBaseDNs = array( &amp;quot;domeeninimi&amp;quot; =&amp;gt; &amp;quot;dc=domeeninimi,dc=net&amp;quot; );&lt;br /&gt;
$wgLDAPSearchAttributes = array( &amp;quot;domeeninimi&amp;quot; =&amp;gt; &amp;quot;sAMAccountName&amp;quot; );&lt;br /&gt;
$wgLDAPRetrievePrefs = array( &amp;quot;domeeninimi&amp;quot; =&amp;gt; &amp;quot;true&amp;quot; );&lt;br /&gt;
$wgLDAPDebug = 3; //for debugging LDAP&lt;br /&gt;
$wgShowExceptionDetails = true; //for debugging MediaWiki&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kui sai õigesti konfigureeritud, siis peaks mediawiki näitama sulle sisse logimisel oma domeeninime. &lt;br /&gt;
Juhul kui viga kusagil võib tulla &amp;quot;whitescreen&amp;quot; mis tähendab, et kusagil viga sees.&lt;br /&gt;
&lt;br /&gt;
==Debugging==&lt;br /&gt;
Logid on head asjad ja tavaliselt ütlevad päris täpselt, mis viga on.&lt;br /&gt;
Apache logidesse kirjutatakse tavaliselt, kui ise pole muutnud seda.&lt;br /&gt;
&lt;br /&gt;
Näiteks:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# cd /var/log/httpd&lt;br /&gt;
# tail error.log &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
viimane rida võib erineda erinevates Linuxi distrodes.&lt;/div&gt;</summary>
		<author><name>Mmust</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=User:Mmust&amp;diff=76305</id>
		<title>User:Mmust</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=User:Mmust&amp;diff=76305"/>
		<updated>2014-06-02T08:01:57Z</updated>

		<summary type="html">&lt;p&gt;Mmust: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:IT_infrastruktuuri_teenused]]&lt;br /&gt;
=LDAP Authentication MediaWikile=&lt;br /&gt;
Autor: Marek Must&amp;lt;br&amp;gt; 02.06.2014&lt;br /&gt;
Rühm: AK21&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Sissejuhatus==&lt;br /&gt;
MediaWiki on võimalik panna LDAP või ActiveDirectory-ga ühendusse, et kasutajanimi ja parool tuleks sealt.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==install==&lt;br /&gt;
Tuleb alla laadia: http://www.mediawiki.org/wiki/Extension:LDAP_Authentication&lt;br /&gt;
Sealt saab plugina, mis tuleks panna mediawiki extensions kataloogi.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;PRE&amp;gt;&lt;br /&gt;
#kataloogipuu/extensions/LdapAuthentication&lt;br /&gt;
&amp;lt;/PRE&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mingeid muudatusi extensionis tegema ei pea.&lt;br /&gt;
&lt;br /&gt;
==Seadistamine==&lt;br /&gt;
&lt;br /&gt;
Nüüd avame LocalSettings.php faili, kus paneme extesnsioni käima.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
vim LocalSettings.php&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Mmust</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Ucarp&amp;diff=76304</id>
		<title>Ucarp</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Ucarp&amp;diff=76304"/>
		<updated>2014-06-02T07:59:42Z</updated>

		<summary type="html">&lt;p&gt;Mmust: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Operatsioonisüsteemide administreerimine ja sidumine]]&lt;br /&gt;
=UCARP/CARP=&lt;br /&gt;
Autor: Marek Must&amp;lt;br&amp;gt; 07.12.2012&lt;br /&gt;
Rühm: AK21&lt;br /&gt;
Esitamise kuupäev: &lt;br /&gt;
&lt;br /&gt;
==Sissejuhatus==&lt;br /&gt;
Carp (inglise k. &amp;quot;Common Address Redundancy Protocol&amp;quot;) on protokoll, mis lubab samadel serveritel samas subnetis jagada ühte IP aadressi.&lt;br /&gt;
&lt;br /&gt;
Ucarp on tarkvara, mis võimaldab sul vähemalt 2 serveri olemasolul jagada neile 1 virtuaalne IP aadress, mille tulemusega saadakse kluster.&lt;br /&gt;
Ucarp ei ole väga peen lahendus ja sellega tuleb alati arvestada.&lt;br /&gt;
&lt;br /&gt;
===Ucarpi tugevus===&lt;br /&gt;
   * Lihtsus (ülesse seadmine käib lihtsalt)&lt;br /&gt;
   * Väike serveri ressursside kasutamine&lt;br /&gt;
   * Pole vaja lisa võrgu otsasid (alati on kena, kuid see on täiesti teine teema)&lt;br /&gt;
   * Krüptograafiliselt signeeritud teated. (Ucarpil on seadistatud parool, öeldes lihtsalt)&lt;br /&gt;
   * Suudab töödata koos mitme operatsiooni süsteemiga (inglise k. interoperability )&lt;br /&gt;
&lt;br /&gt;
===Tööpühimõte===&lt;br /&gt;
&lt;br /&gt;
Ucrap töötab lihtsalt:&lt;br /&gt;
 1.) Kui &amp;quot;Server 1&amp;quot; on üleval, siis sellele on määratud virtuaalne IP aadress.&lt;br /&gt;
 2.) Kui &amp;quot;Server 1&amp;quot; on maas ja &amp;quot;Server 2&amp;quot; on primaarne (inglise k. primary), siis on määratud &amp;quot;Server2&amp;quot;-le virtuaalne IP aadress, eeldades, et &amp;quot;Server 2&amp;quot; töötab.&lt;br /&gt;
&lt;br /&gt;
===Ucarpi Nõrkus===&lt;br /&gt;
   * Ainult IP põhine kluster&lt;br /&gt;
   * Seadeid, teenuseid üle ei kanta, kui &amp;quot;Server 2&amp;quot; saab peamiseks serveriks.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Tsiteerides targemaid: ucarp on võrreldes keepalived või heartbeat tarkvaraga tagasihoidlikemate omadustega, kuid mõnel juhul võib just see ollagi eeliseks&lt;br /&gt;
&lt;br /&gt;
==UCARP install==&lt;br /&gt;
&lt;br /&gt;
Install käib lihtsalt:&lt;br /&gt;
&amp;lt;pre&amp;gt; &lt;br /&gt;
apt-get install ucarp &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Selle pannakse programmid peale. mitte unustada, et tarkvara tuleb installida mõlemale serverile!!&lt;br /&gt;
&lt;br /&gt;
==Eel Seadistamine==&lt;br /&gt;
&lt;br /&gt;
* 1.) Teil on installeeritud 2 serverit, kas siis virtuaalsed või mitte.&lt;br /&gt;
* 2.) Ubuntu tavaline install on täiesti piisav.&lt;br /&gt;
* 3.) Vmware või Virtualboxi installi kasutades on elu natukene lihtsam (seda kasutan ka siin hetkel)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Kasutates  Ubuntu kiir installi ja lasite alguses IP anda endale DHCP-l, milleks minu juhul on: 192.168.101.138&lt;br /&gt;
&lt;br /&gt;
Seda saab vaadata:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;PRE&amp;gt;&lt;br /&gt;
ifconfig&lt;br /&gt;
&amp;lt;/PRE&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tulemüüri(inglise k. Gateway) saamine on natuke keerulisem, sest DHCP-ga seda ei ole võimalik päris &amp;quot;tavaliselt&amp;quot; ( ifconfig) näha.&lt;br /&gt;
Tulemüüri nägemiseks on olemas mitu võimalust, kuid mulle meeldib kasutada traceroutei. Tava installis seda paketti peal ei ole ja seega tuleks see paigaldada&lt;br /&gt;
&lt;br /&gt;
&amp;lt;PRE&amp;gt;&lt;br /&gt;
apt-get install traceroute&lt;br /&gt;
&amp;lt;/PRE&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kasutades traceroutei saame:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
traceroute www.neti.ee&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
ja esimene tulemus annab meile juba teada, meie DHCP aadressi:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@ubuntu:~# traceroute www.neti.ee&lt;br /&gt;
traceroute to www.neti.ee (195.50.209.245), 30 hops max, 60 byte packets&lt;br /&gt;
 1  192.168.101.2 (192.168.101.2)  0.139 ms  0.103 ms  0.076 ms^C&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pärast esimest rida võib traceroutei programmist CTRL-C välja minna, pole põhjust edasi oodata. Info olemas.&lt;br /&gt;
&lt;br /&gt;
Meie IP ja tulemüür peaksid nägema välja hetkel sellised:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
IP: 192.168.101.138&lt;br /&gt;
GW: 192.168.110.2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Teie praegune olukord peaks olema midagi sellist:&lt;br /&gt;
&lt;br /&gt;
Server 1&lt;br /&gt;
&lt;br /&gt;
Kasutame käsku ifconfig&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 ifconfig &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
eth0      Link encap:Ethernet  HWaddr 00:0c:29:6f:d7:c4&lt;br /&gt;
          inet addr:192.168.101.138  Bcast:192.168.101.255  Mask:255.255.255.0&lt;br /&gt;
          inet6 addr: fe80::20c:29ff:fe6f:d7c4/64 Scope:Link&lt;br /&gt;
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1&lt;br /&gt;
          RX packets:8377 errors:0 dropped:0 overruns:0 frame:0&lt;br /&gt;
          TX packets:5937 errors:0 dropped:0 overruns:0 carrier:0&lt;br /&gt;
          collisions:0 txqueuelen:1000&lt;br /&gt;
          RX bytes:9556394 (9.5 MB)  TX bytes:426352 (426.3 KB)&lt;br /&gt;
&lt;br /&gt;
lo        Link encap:Local Loopback&lt;br /&gt;
          inet addr:127.0.0.1  Mask:255.0.0.0&lt;br /&gt;
          inet6 addr: ::1/128 Scope:Host&lt;br /&gt;
          UP LOOPBACK RUNNING  MTU:16436  Metric:1&lt;br /&gt;
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0&lt;br /&gt;
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0&lt;br /&gt;
          collisions:0 txqueuelen:0&lt;br /&gt;
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Server 2&lt;br /&gt;
&lt;br /&gt;
Kas siin kasutame sama käsku, mis eelmise server juures:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
eth0      Link encap:Ethernet  HWaddr 00:0c:29:99:51:66&lt;br /&gt;
          inet addr:192.168.101.140  Bcast:192.168.101.255  Mask:255.255.255.0&lt;br /&gt;
          inet6 addr: fe80::20c:29ff:fe99:5166/64 Scope:Link&lt;br /&gt;
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1&lt;br /&gt;
          RX packets:7586 errors:0 dropped:0 overruns:0 frame:0&lt;br /&gt;
          TX packets:4140 errors:0 dropped:0 overruns:0 carrier:0&lt;br /&gt;
          collisions:0 txqueuelen:1000&lt;br /&gt;
          RX bytes:9481944 (9.4 MB)  TX bytes:253201 (253.2 KB)&lt;br /&gt;
&lt;br /&gt;
lo        Link encap:Local Loopback&lt;br /&gt;
          inet addr:127.0.0.1  Mask:255.0.0.0&lt;br /&gt;
          inet6 addr: ::1/128 Scope:Host&lt;br /&gt;
          UP LOOPBACK RUNNING  MTU:16436  Metric:1&lt;br /&gt;
          RX packets:1 errors:0 dropped:0 overruns:0 frame:0&lt;br /&gt;
          TX packets:1 errors:0 dropped:0 overruns:0 carrier:0&lt;br /&gt;
          collisions:0 txqueuelen:0&lt;br /&gt;
          RX bytes:112 (112.0 B)  TX bytes:112 (112.0 B)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Ucarp Seadistammine==&lt;br /&gt;
&lt;br /&gt;
==Server 1==&lt;br /&gt;
&amp;lt;pre&amp;gt; vim /etc/network/interfaces &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Peaks avanema selline pilt:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# This file describes the network interfaces available on your system&lt;br /&gt;
# and how to activate them. For more information, see interfaces(5).&lt;br /&gt;
&lt;br /&gt;
# The loopback network interface&lt;br /&gt;
auto lo&lt;br /&gt;
iface lo inet loopback&lt;br /&gt;
&lt;br /&gt;
# The primary network interface&lt;br /&gt;
auto eth0&lt;br /&gt;
iface eth0 inet dhcp&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nüüd siis muudame selle ümber:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
root@ubuntu:~# vim /etc/network/interfaces&lt;br /&gt;
# This file describes the network interfaces available on your system&lt;br /&gt;
# and how to activate them. For more information, see interfaces(5).&lt;br /&gt;
&lt;br /&gt;
# The loopback network interface&lt;br /&gt;
auto lo&lt;br /&gt;
iface lo inet loopback&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# The primary network interface&lt;br /&gt;
auto eth0&lt;br /&gt;
iface eth0 inet static&lt;br /&gt;
        ################################&lt;br /&gt;
        # standard network configuration&lt;br /&gt;
        ################################&lt;br /&gt;
        address 192.168.101.138  # meie IP, mis panime alguses&lt;br /&gt;
        netmask 255.255.255.0    # netmask, selle saab ifconfig käsuga&lt;br /&gt;
        gateway 192.168.101.2    # traceroute aitas siin&lt;br /&gt;
        network 192.168.101.0    # natuke tuletamist..&lt;br /&gt;
        broadcast 192.168.101.255 #samuti ifconfig aitab&lt;br /&gt;
&lt;br /&gt;
        ################################&lt;br /&gt;
        # ucarp configuration  #########&lt;br /&gt;
        ################################&lt;br /&gt;
        # vid : The ID of the virtual server [1-255]&lt;br /&gt;
        ucarp-vid 1&lt;br /&gt;
        # vip : Virtuaalne IP aadress&lt;br /&gt;
        ucarp-vip 192.168.101.139&lt;br /&gt;
        # password : Mõlemal pool sama!!!!&lt;br /&gt;
        ucarp-password secret&lt;br /&gt;
        # advskew : Advertisement skew [1-255] # tähendab maakeels seda, et me ei reklaamime ennast koguaeg.&lt;br /&gt;
&lt;br /&gt;
        ucarp-advskew 1&lt;br /&gt;
        # advbase &lt;br /&gt;
        ucarp-advbase 1&lt;br /&gt;
        &lt;br /&gt;
        #advskew ja advbase on asjad millega kontrollitakse kui tihedalt brodcastitakse.&lt;br /&gt;
        &lt;br /&gt;
        # Kontroll, kas oleme peamine server?&lt;br /&gt;
        ucarp-master yes&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# CARP võrgu addressi kirjutame siia lihtsalt&lt;br /&gt;
iface eth0:ucarp inet static&lt;br /&gt;
        address 192.168.101.139&lt;br /&gt;
        netmask 255.255.255.0&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kindlasti tuleb teha võrgule restart, et kõik seaded võetakse kasutusse.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/etc/init.d/networking restart &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nüüd on võrgu seaded serveri poolt omaks võetud (juhul kui ei tekkkinud vigu).&lt;br /&gt;
&lt;br /&gt;
Nüüd kasutame meile juba tuttavat käsku ifconfig, et vaadata, kas kõik on hästi.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ifconfig&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Peaks nägema välja midagi sellist:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
eth0      Link encap:Ethernet  HWaddr 00:0c:29:6f:d7:c4&lt;br /&gt;
          inet addr:192.168.101.138  Bcast:192.168.101.255  Mask:255.255.255.0&lt;br /&gt;
          inet6 addr: fe80::20c:29ff:fe6f:d7c4/64 Scope:Link&lt;br /&gt;
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1&lt;br /&gt;
          RX packets:1195 errors:0 dropped:0 overruns:0 frame:0&lt;br /&gt;
          TX packets:287 errors:0 dropped:0 overruns:0 carrier:0&lt;br /&gt;
          collisions:0 txqueuelen:1000&lt;br /&gt;
          RX bytes:88166 (88.1 KB)  TX bytes:29985 (29.9 KB)&lt;br /&gt;
&lt;br /&gt;
eth0:ucarp Link encap:Ethernet  HWaddr 00:0c:29:6f:d7:c4&lt;br /&gt;
          inet addr:192.168.101.139  Bcast:192.168.101.255  Mask:255.255.255.0&lt;br /&gt;
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1&lt;br /&gt;
&lt;br /&gt;
lo        Link encap:Local Loopback&lt;br /&gt;
          inet addr:127.0.0.1  Mask:255.0.0.0&lt;br /&gt;
          inet6 addr: ::1/128 Scope:Host&lt;br /&gt;
          UP LOOPBACK RUNNING  MTU:16436  Metric:1&lt;br /&gt;
          RX packets:36 errors:0 dropped:0 overruns:0 frame:0&lt;br /&gt;
          TX packets:36 errors:0 dropped:0 overruns:0 carrier:0&lt;br /&gt;
          collisions:0 txqueuelen:0&lt;br /&gt;
          RX bytes:2712 (2.7 KB)  TX bytes:2712 (2.7 KB)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
See annab meile selguse, et Server1s on Ucarp kasutuses!&lt;br /&gt;
&lt;br /&gt;
==Server 2==&lt;br /&gt;
&lt;br /&gt;
Nüüd tuleks teha samasugune muutus ka server 2s.&lt;br /&gt;
Olles laisad, siis saame nüüd kopeerida selle ka teise serverisse, pärast teeme muudatused:&lt;br /&gt;
Paar asja on siin väga tähtsad:&lt;br /&gt;
&lt;br /&gt;
 1.) ucarp-advskew 100 # tähendab maakeeles seda, et me ei reklaami ennast nii tihedalt.&lt;br /&gt;
 2.) ucarp-master no # Server ka ei ole master!&lt;br /&gt;
 3.) IP address peab olema ikka selle serveri oma (192.168.101.140). Muud asjad samad&lt;br /&gt;
 4.) virtuaalsed IP-d peaksid olema need, mis eelmisel serveril.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# This file describes the network interfaces available on your system&lt;br /&gt;
# and how to activate them. For more information, see interfaces(5).&lt;br /&gt;
&lt;br /&gt;
# The loopback network interface&lt;br /&gt;
auto lo&lt;br /&gt;
iface lo inet loopback&lt;br /&gt;
&lt;br /&gt;
# The primary network interface&lt;br /&gt;
auto eth0&lt;br /&gt;
iface eth0 inet static&lt;br /&gt;
        ################################&lt;br /&gt;
        # standard network configuration&lt;br /&gt;
        ################################&lt;br /&gt;
        address 192.168.101.140&lt;br /&gt;
        netmask 255.255.255.0&lt;br /&gt;
        gateway 192.168.101.2&lt;br /&gt;
        network 192.168.101.0&lt;br /&gt;
        broadcast 192.168.101.255&lt;br /&gt;
&lt;br /&gt;
        ################################&lt;br /&gt;
        # ucarp configuration&lt;br /&gt;
        ################################&lt;br /&gt;
        # vid : The ID of the virtual server [1-255]&lt;br /&gt;
        ucarp-vid 1&lt;br /&gt;
        # vip : Virtuaalne IP aadress&lt;br /&gt;
        ucarp-vip 192.168.101.139&lt;br /&gt;
        # password : A password used to encrypt Carp communications&lt;br /&gt;
        ucarp-password secret&lt;br /&gt;
        # advskew : Advertisement skew [1-255] &lt;br /&gt;
        ucarp-advskew 100&lt;br /&gt;
        # advbase : Interval in seconds that advertisements will occur&lt;br /&gt;
        ucarp-advbase 1&lt;br /&gt;
        # master : nüüd me enam ei ole master. Seega määrame ära &amp;quot;no&amp;quot;&lt;br /&gt;
        ucarp-master no&lt;br /&gt;
&lt;br /&gt;
# The carp network interface, on top of eth1&lt;br /&gt;
iface eth0:ucarp inet static&lt;br /&gt;
        address 192.168.101.139&lt;br /&gt;
        netmask 255.255.255.0&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nüüd kui vastavad muudatused on sees, siis teeme ka võrgule restarti&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/etc/init.d/networking restart&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Kui märkasid, siis tegelikult midagi ei juhtunud, kuna oleme mitte masterid!&lt;br /&gt;
Kõik peaks nägema välja nagu endine:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
eth0      Link encap:Ethernet  HWaddr 00:0c:29:99:51:66&lt;br /&gt;
          inet addr:192.168.101.140  Bcast:192.168.101.255  Mask:255.255.255.0&lt;br /&gt;
          inet6 addr: fe80::20c:29ff:fe99:5166/64 Scope:Link&lt;br /&gt;
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1&lt;br /&gt;
          RX packets:213 errors:0 dropped:0 overruns:0 frame:0&lt;br /&gt;
          TX packets:99 errors:0 dropped:0 overruns:0 carrier:0&lt;br /&gt;
          collisions:0 txqueuelen:1000&lt;br /&gt;
          RX bytes:17498 (17.4 KB)  TX bytes:12669 (12.6 KB)&lt;br /&gt;
&lt;br /&gt;
lo        Link encap:Local Loopback&lt;br /&gt;
          inet addr:127.0.0.1  Mask:255.0.0.0&lt;br /&gt;
          inet6 addr: ::1/128 Scope:Host&lt;br /&gt;
          UP LOOPBACK RUNNING  MTU:16436  Metric:1&lt;br /&gt;
          RX packets:18 errors:0 dropped:0 overruns:0 frame:0&lt;br /&gt;
          TX packets:18 errors:0 dropped:0 overruns:0 carrier:0&lt;br /&gt;
          collisions:0 txqueuelen:0&lt;br /&gt;
          RX bytes:1380 (1.3 KB)  TX bytes:1380 (1.3 KB)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==UCARP testimine==&lt;br /&gt;
&lt;br /&gt;
Nüüd on mõlemad serverid paigas ja töötavad Ucarp on mõlemale installitud, kuid hetkel me ikka ei tea, kas Ucarp tegelikult ka töötab.&lt;br /&gt;
&lt;br /&gt;
Kerge test võiks olla selline, et paneme serveri kinni, millel hetkel on ucarp aktiveeritud, minu puhul&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
shutdown -h now&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nüüd peaksid nägema Server2s (minu puhul) ucarpi aktiveeritult.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ifconfig&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Vastus:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
eth0      Link encap:Ethernet  HWaddr 00:0c:29:99:51:66&lt;br /&gt;
          inet addr:192.168.101.140  Bcast:192.168.101.255  Mask:255.255.255.0&lt;br /&gt;
          inet6 addr: fe80::20c:29ff:fe99:5166/64 Scope:Link&lt;br /&gt;
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1&lt;br /&gt;
          RX packets:1270 errors:0 dropped:0 overruns:0 frame:0&lt;br /&gt;
          TX packets:929 errors:0 dropped:0 overruns:0 carrier:0&lt;br /&gt;
          collisions:0 txqueuelen:1000&lt;br /&gt;
          RX bytes:94480 (94.4 KB)  TX bytes:113861 (113.8 KB)&lt;br /&gt;
&lt;br /&gt;
eth0:ucarp Link encap:Ethernet  HWaddr 00:0c:29:99:51:66&lt;br /&gt;
          inet addr:192.168.101.139  Bcast:192.168.101.255  Mask:255.255.255.0&lt;br /&gt;
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1&lt;br /&gt;
&lt;br /&gt;
lo        Link encap:Local Loopback&lt;br /&gt;
          inet addr:127.0.0.1  Mask:255.0.0.0&lt;br /&gt;
          inet6 addr: ::1/128 Scope:Host&lt;br /&gt;
          UP LOOPBACK RUNNING  MTU:16436  Metric:1&lt;br /&gt;
          RX packets:482 errors:0 dropped:0 overruns:0 frame:0&lt;br /&gt;
          TX packets:482 errors:0 dropped:0 overruns:0 carrier:0&lt;br /&gt;
          collisions:0 txqueuelen:0&lt;br /&gt;
          RX bytes:38580 (38.5 KB)  TX bytes:38580 (38.5 KB)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Annab meile jällegi kindlustunde, et tõesti server1 annab oma asjad üle server2le, kui server1-ga peaks midagi juhtuma.&lt;br /&gt;
&lt;br /&gt;
==UCARP ja Apache koos==&lt;br /&gt;
&lt;br /&gt;
Idee on lihtne. Installime mõlemale serverile apache serveri ja hoiame neid süngis linuxi vahenditega.&lt;br /&gt;
Selleks võib olla rsync või ka tavaline copy cronis :) Hetkel kasutame rsynci.&lt;br /&gt;
&lt;br /&gt;
Installime apachei ja rsynci:&lt;br /&gt;
&lt;br /&gt;
Server1:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
apt-get install apache2 rsync&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Server2:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
apt-get install apache2 rsync&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nüüd on meil 2 serverit, millel on Rsync ja apache2 installitud&lt;br /&gt;
Apache2 hoiab oma asju:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/etc/apache2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Siis tuleks meil kindlasti sünkida seda kataloogi ja samuti ei tohi ära unustada ka kataloogi, kus meie apache asub&lt;br /&gt;
Näiteks:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/var/www/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nüüd paneme oma rsynci tööle, soovitavalt Crontabi. Meil tekkib probleem, et oleks vaja pärast apache2 konfiguratsioonide muutmist ka apache2 uuesti &amp;quot;reloadida&amp;quot;. Selleks kasutame skripti. Hetkel siin kasutamiseks kirjutasin lihtsa skripti, mida saab endale vastavalt kergelt parandada.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
touch /root/apache_rsync.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Anname käivitamise õigused, et pärast ei unustaks:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
chmod 755 apache_rsync.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nüüd, skript ise. Eeldus on see, et mõlemal pool on SSH lubatud!&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
vim /root/apache_rsync.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
#rsync ise&lt;br /&gt;
rsync -avz -e ssh root@192.168.101.138:/home/apache2 /home/apache2/&lt;br /&gt;
rsync -avz -e ssh root@192.168.101.138:/var/www/html /var/www/html&lt;br /&gt;
&lt;br /&gt;
#p2rast asjade yle kopeerimist tuleb teha reaload et teisel pool ikka asjad t66taks.&lt;br /&gt;
/etc/init.d/apache2 reload&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
See nüüd croni server2-le&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
vim /etc/crontab&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Lisage selline rida. Sellega hakatakse rsyncika hoidma servereid sünkroonis. Tehakse iga 15 minuti järgi. Number 15 võib muuta oma äranägemise järgi.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
*/15 * * * * root /root/apache_rsync.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Kokkuvõtteks==&lt;br /&gt;
Võiks öelda, et viimane skript on väga väike ja võiks kõvasti paremaks teha.&lt;br /&gt;
Näiteks: email saatmise sisse panna, sest hetkel me ei tea, millal server1 on põhiline ja millal server2 on põhiline. &lt;br /&gt;
Hetkel teeme eelduse , et server1 sai fataalse errori ja on katki ja pärast selle korda tegemist on see jälle põhiline.&lt;br /&gt;
&lt;br /&gt;
==Kasutatud kirjandus==&lt;br /&gt;
* http://valeriytroshin.blogspot.com/2011/08/carp-failover-redundancy-in-ubuntu-1104.html&lt;br /&gt;
* http://laurentbel.com/2012/04/12/simple-apache-failover-cluster-on-ubuntu-with-config-synchronization/&lt;br /&gt;
* http://www.auul.pri.ee/wiki/Operatsioonis%C3%BCsteemi_Debian_GNU/Linux_kasutamine#ucarp_kasutamine&lt;br /&gt;
* http://www.freebsd.org/doc/handbook/carp.html&lt;br /&gt;
* http://laurentbel.com/2012/04/04/simple-failover-cluster-on-ubuntu-using-carp/&lt;br /&gt;
* http://en.wikipedia.org/wiki/Common_Address_Redundancy_Protocol&lt;br /&gt;
* http://blog.ijun.org/2009/11/high-availability-with-freebsd-and-carp.html&lt;br /&gt;
* http://www.howtoforge.com/how-to-configure-a-pfsense-2.0-cluster-using-carp&lt;br /&gt;
* http://kuutorvaja.eenet.ee/wiki/K%C3%B5rgk%C3%A4ideldavus_UCARP_abil#Paigaldamine_ja_seadistamine_RHEL.2C_CentOS_ja_Fedora_kasutajatele&lt;br /&gt;
* http://www.pureftpd.org/project/ucarp&lt;/div&gt;</summary>
		<author><name>Mmust</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Ucarp&amp;diff=76303</id>
		<title>Ucarp</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Ucarp&amp;diff=76303"/>
		<updated>2014-06-02T07:58:16Z</updated>

		<summary type="html">&lt;p&gt;Mmust: Blanked the page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Mmust</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Ucarp&amp;diff=76302</id>
		<title>Ucarp</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Ucarp&amp;diff=76302"/>
		<updated>2014-06-02T07:57:08Z</updated>

		<summary type="html">&lt;p&gt;Mmust: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:IT_infrastruktuuri_teenused]]&lt;br /&gt;
=LDAP Authentication MediaWikile=&lt;br /&gt;
Autor: Marek Must&amp;lt;br&amp;gt; 07.12.2012&lt;br /&gt;
Rühm: AK21&lt;br /&gt;
Esitamise kuupäev: &lt;br /&gt;
&lt;br /&gt;
==Sissejuhatus==&lt;br /&gt;
MediaWiki on võimalik panna LDAP või ActiveDirectory-ga ühendusse, et kasutajanimi ja parool tuleks sealt.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==install==&lt;br /&gt;
Tuleb alla laadia: http://www.mediawiki.org/wiki/Extension:LDAP_Authentication&lt;br /&gt;
Sealt saab plugina, mis tuleks panna mediawiki extensions kataloogi.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;PRE&amp;gt;&lt;br /&gt;
#kataloogipuu/extensions/LdapAuthentication&lt;br /&gt;
&amp;lt;/PRE&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mingeid muudatusi extensionis tegema ei pea.&lt;br /&gt;
&lt;br /&gt;
==Seadistamine==&lt;br /&gt;
&lt;br /&gt;
Nüüd avame LocalSettings.php faili, kus paneme extesnsioni käima.&lt;/div&gt;</summary>
		<author><name>Mmust</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=User:Mmust&amp;diff=76301</id>
		<title>User:Mmust</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=User:Mmust&amp;diff=76301"/>
		<updated>2014-06-02T07:50:03Z</updated>

		<summary type="html">&lt;p&gt;Mmust: Blanked the page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Mmust</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Bash_quests_2013&amp;diff=64437</id>
		<title>Bash quests 2013</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Bash_quests_2013&amp;diff=64437"/>
		<updated>2013-09-29T12:52:08Z</updated>

		<summary type="html">&lt;p&gt;Mmust: /* Seitse */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Sissejuhatus=&lt;br /&gt;
&lt;br /&gt;
Bash quests annab võimaluse teha bash skriptimise kodutööd ka neile, kellel teemat pole. Skript tuleb panna Tudengi enda wiki lehele. Punktid saab esimene, kes antud questi täies mahus valmis sai. Kui lahendus pole rahuldav saab punktid järgmine OK lahenduse looja.&lt;br /&gt;
Kui quest valmis, siis pane link questi juurde (nagu näites)&lt;br /&gt;
Queste tuleb pidevalt juurde.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Tunnis lahendatud näited=&lt;br /&gt;
[[User:Mernits|Mernits]] 14:26, 29 September 2013 (EEST)&lt;br /&gt;
==Esimene==&lt;br /&gt;
Teha skript, mis küsib kasutajalt kataloogi nime ja siis väljastab kõik (tavalised) failid/kaustad, mis seal kataloogis asuvad 3p&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
echo -n &amp;quot;Sisesta kataloogi täispikk tee:&amp;quot;&lt;br /&gt;
read KATALOOG&lt;br /&gt;
ls &amp;quot;${KATALOOG}&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Lahendus: [[User:Rohak|Rohak]] 14:28, 29 September 2013 (EEST)&lt;br /&gt;
&lt;br /&gt;
==Teine==&lt;br /&gt;
#Teha skript, mis küsib kasutajalt kataloogi nime ja siis väljastab kõik (tavalised) failid/kaustad, mis seal kataloogis asuvad 3p&lt;br /&gt;
[[User:Ptomusk|Ptomusk]] 14:29, 29 September 2013 (EEST)&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
_short_help=&amp;quot;`basename $0` [DIRECTORY]&amp;quot;&lt;br /&gt;
_long_help=&amp;quot;Output the files in the specified directory&amp;quot;&lt;br /&gt;
if [ &amp;quot;$1&amp;quot; = &#039;--help&#039; ]; then&lt;br /&gt;
        echo $_short_help&lt;br /&gt;
        echo $_long_help&lt;br /&gt;
        exit 0&lt;br /&gt;
elif [ -d &amp;quot;$1&amp;quot; ]; then&lt;br /&gt;
	find &amp;quot;$1/&amp;quot; -maxdepth 1 -type f&lt;br /&gt;
else&lt;br /&gt;
	echo &amp;quot;No such directory!&amp;quot;&lt;br /&gt;
	echo $_short_help&lt;br /&gt;
	exit 1&lt;br /&gt;
fi&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Kolmas==&lt;br /&gt;
#Teha skript, mis küsib kasutajalt kataloogi nime ja siis väljastab kõik (tavalised) failid/kaustad, mis seal kataloogis asuvad 3p&lt;br /&gt;
&lt;br /&gt;
[[User:Mmust|Mmust]] 14:28, 29 September 2013 (EEST)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
echo &amp;quot;Sisesta kataloogi nime &amp;quot;&lt;br /&gt;
read NIMI&lt;br /&gt;
$NIMI&lt;br /&gt;
cd $NIMI&lt;br /&gt;
ls -la&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Neljas==&lt;br /&gt;
[[User:Mernits|Mernits]] 15:28, 29 September 2013 (EEST)&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
for i in {1..26}; do ping -c1 192.168.6.$i | grep ttl=128 &amp;gt;/dev/null &amp;amp;&amp;amp; echo &amp;quot;Masin $i on windowsis&amp;quot; ; done&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
==Viies==&lt;br /&gt;
Skript peab väljastama õppejõu pangakaardi pin koodi.&lt;br /&gt;
&lt;br /&gt;
[[User:Rohak|Rohak]] 15:36, 29 September 2013 (EEST)&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
echo {0000..9999}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[User:Tliik|Tliik]] 15:37, 29 September 2013 (EEST)&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
for i in {0000..9999}; do echo $i; done&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Kuues==&lt;br /&gt;
[[User:Rohak|Rohak]] 15:47, 29 September 2013 (EEST)&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
#Skritp käsib kasutajal osta ära elevant ja vaatamata sisestusele vastab kõik ütlevad &amp;quot;mida kasutaja ütles&amp;quot;, aga osta elevant ära.&lt;br /&gt;
&lt;br /&gt;
echo -n &amp;quot;Osta elevant ära:&amp;quot;&lt;br /&gt;
while true; do&lt;br /&gt;
	read VASTUS&lt;br /&gt;
	echo -n &amp;quot;Kõik ütlevad $VASTUS, aga osta elevant ära:&amp;quot;&lt;br /&gt;
done&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Seitse==&lt;br /&gt;
&lt;br /&gt;
[[User:Mmust|Mmust]] 15:52, 29 September 2013 (EEST)&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
#for s in `seq 1 99999`; do&lt;br /&gt;
while true; do&lt;br /&gt;
echo -n &amp;quot;Tere, osta elevant ära&amp;quot;&lt;br /&gt;
read osta&lt;br /&gt;
read -p &amp;quot;kõik ütlevad, nii $osta, aga osta elevant ära&amp;quot;&lt;br /&gt;
done&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Quest 0 - Näide=&lt;br /&gt;
Teha skript, mis ei tee midagi asjalikku, kuid väljasta sõna BÖÖÖ&lt;br /&gt;
&lt;br /&gt;
Lahendus: [[User:Mernits]]&lt;br /&gt;
&lt;br /&gt;
Quest lukus (tehtud) [[User:Mernits|Mernits]] 15:04, 24 January 2013 (EET)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Quest 1 - PATH (Quest lukus!) =&lt;br /&gt;
&lt;br /&gt;
Tee skript, mis lisab käsurealt etteantud kataloogi kasutaja PATH muutujasse, kui kataloog eksisteerib.&lt;br /&gt;
&lt;br /&gt;
Tagastab 0 juhul kui kõik õnnestus.&lt;br /&gt;
&lt;br /&gt;
Tagastab 1 kui kataloogi ei leitud.&lt;br /&gt;
&lt;br /&gt;
Tagastab 2 kui argumentide arv ei klapi.&lt;br /&gt;
&lt;br /&gt;
NB: tagastamine pole ekraanile väljastamine ja argumendi käsurealt ette andmine ei tähenda selle küsimist kasutajalt, näiteks read abil peale skirpi käivitamist. Vaata õppematerjali.&lt;br /&gt;
&lt;br /&gt;
Piia Ploovits A22 https://wiki.itcollege.ee/index.php/User:Pploovit&lt;br /&gt;
&lt;br /&gt;
=Quest 2 - Leiab kas masinas on etteantud pordid lahti või mitte (Quest lukus)=&lt;br /&gt;
&lt;br /&gt;
Teha skript, mis saab argumendina failinime ja kontrollitava masina IP aadressi, ning loeb failist portide nimekirja.&lt;br /&gt;
&lt;br /&gt;
Skript tagastab 0, kui kõik nimekirjas olevad pordid on lahti ja teised pordid kinni&lt;br /&gt;
&lt;br /&gt;
Skript tagastab 1, kui vajalikud pordid on lahti, kuid ka midagi muud on lahti&lt;br /&gt;
&lt;br /&gt;
Skript tagastab 2, kui 1-n vajalikest portidest on kinni&lt;br /&gt;
&lt;br /&gt;
Skript tagastab 3, kui argumentide arv ei sobi&lt;br /&gt;
&lt;br /&gt;
Skript tagastab 4, kui IP aadress pole sobiv&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Kontrollib porte vahemikus 1-10000&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
NB, see sobib ka pythoni kodutööks või arvestusena (kui saadad unikaalse lahenduse enne arvestuse päeva)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Meelis Kurnikov AK31: http://enos.itcollege.ee/~mekurnik/skriptimiskeeled/ports.py&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Priit Lume AK51: https://wiki.itcollege.ee/index.php/User:Plume&lt;br /&gt;
&lt;br /&gt;
Lahendus bashis. Andres Elliku A21: https://wiki.itcollege.ee/index.php/User:Aelliku&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Quest lukus &#039;&#039;&#039; [[User:Mernits|Mernits]] 16:04, 12 February 2013 (EET)&lt;br /&gt;
&lt;br /&gt;
=Quest 3 Lukus - tehtud=&lt;br /&gt;
&lt;br /&gt;
Quest on tehtud!&lt;br /&gt;
&lt;br /&gt;
Loo skript, mis kontrollib kas kasutajal, kes skripti käivitas on õigus kirjutada etteantud kataloogi või mitte.&lt;br /&gt;
&lt;br /&gt;
Kataloogi nimi antakse ette käsurealt.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Skript tagastab 0, kui õigus on olemas.&lt;br /&gt;
&lt;br /&gt;
Skript tagastab 1, kui õigust pole või kataloogi pole (näiteks on tegu failiga)&lt;br /&gt;
&lt;br /&gt;
Chris Liebert A22 https://wiki.itcollege.ee/index.php/User:Cliebert&lt;br /&gt;
&lt;br /&gt;
Quest tehtud [[User:Mernits|Mernits]] 17:50, 3 March 2013 (EET)&lt;br /&gt;
&lt;br /&gt;
Pythonis tehtud:Dineta Mahno A21 https://wiki.itcollege.ee/index.php/User:Dmahno&lt;br /&gt;
&lt;br /&gt;
=Quest 4 - Quest lukus - tehtud!=&lt;br /&gt;
&lt;br /&gt;
Quest on tehtud bashis! [[User:Mernits|Mernits]] 22:31, 3 March 2013 (EET)&lt;br /&gt;
Python lahenduse võib veel saata...&lt;br /&gt;
&lt;br /&gt;
Luua skript, mis kontrollib, kas etteantud kasutaja kodukataloogis on faile või katalooge, mis ei kuulu kasutajale.&lt;br /&gt;
&lt;br /&gt;
Leitud failid kirjutatakse väljundisse.&lt;br /&gt;
&lt;br /&gt;
Skript tagastab 0, kui täitmine õnnestus&lt;br /&gt;
&lt;br /&gt;
Skript tagastab 1, kui kasutajat pole&lt;br /&gt;
&lt;br /&gt;
Skript tagastab 2, kui kasutajal pole kodukausta&lt;br /&gt;
&lt;br /&gt;
Muude vigade korral tagastab 3.&lt;br /&gt;
&lt;br /&gt;
Chris Liebert A22 https://wiki.itcollege.ee/index.php/User:Cliebert&lt;br /&gt;
&lt;br /&gt;
Dineta Mahno  A21 https://wiki.itcollege.ee/index.php/User:Dmahno&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Quest 5 - LUKUS! =&lt;br /&gt;
&lt;br /&gt;
Teha skript, mis teeb üks kord sekundis ekraanitõmmise&lt;br /&gt;
&lt;br /&gt;
Skript teeb kogu ekraanist pilditõmmise üks kord sekundis ja nummerdab failid. DATE-1.png DATE-2.png jne&lt;br /&gt;
&lt;br /&gt;
Võib teha pythonis või bashis.&lt;br /&gt;
&lt;br /&gt;
Pildivorming võib olla jpg, png või muu laialt levinud vorming.&lt;br /&gt;
&lt;br /&gt;
Esimesed 3 erinevat lahendust saavad 10p!&lt;br /&gt;
&lt;br /&gt;
Questi võib teha nii bashis, kui pythonis&lt;br /&gt;
&lt;br /&gt;
Quest on lahti alates 09.aprill.2013&lt;br /&gt;
&lt;br /&gt;
Frederick Rang A22 https://wiki.itcollege.ee/index.php/User:Frang#Skriptimiskeeled (bash)&lt;br /&gt;
&lt;br /&gt;
Frederick Rang A22 https://wiki.itcollege.ee/index.php/User:Frang#Skriptimiskeeled (python)&lt;br /&gt;
&lt;br /&gt;
Dineta Mahno A21 https://wiki.itcollege.ee/index.php/User:Dmahno#Python_quest5 (python)&lt;/div&gt;</summary>
		<author><name>Mmust</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Bash_quests_2013&amp;diff=64436</id>
		<title>Bash quests 2013</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Bash_quests_2013&amp;diff=64436"/>
		<updated>2013-09-29T12:51:28Z</updated>

		<summary type="html">&lt;p&gt;Mmust: /* Seitse */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Sissejuhatus=&lt;br /&gt;
&lt;br /&gt;
Bash quests annab võimaluse teha bash skriptimise kodutööd ka neile, kellel teemat pole. Skript tuleb panna Tudengi enda wiki lehele. Punktid saab esimene, kes antud questi täies mahus valmis sai. Kui lahendus pole rahuldav saab punktid järgmine OK lahenduse looja.&lt;br /&gt;
Kui quest valmis, siis pane link questi juurde (nagu näites)&lt;br /&gt;
Queste tuleb pidevalt juurde.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Tunnis lahendatud näited=&lt;br /&gt;
[[User:Mernits|Mernits]] 14:26, 29 September 2013 (EEST)&lt;br /&gt;
==Esimene==&lt;br /&gt;
Teha skript, mis küsib kasutajalt kataloogi nime ja siis väljastab kõik (tavalised) failid/kaustad, mis seal kataloogis asuvad 3p&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
echo -n &amp;quot;Sisesta kataloogi täispikk tee:&amp;quot;&lt;br /&gt;
read KATALOOG&lt;br /&gt;
ls &amp;quot;${KATALOOG}&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Lahendus: [[User:Rohak|Rohak]] 14:28, 29 September 2013 (EEST)&lt;br /&gt;
&lt;br /&gt;
==Teine==&lt;br /&gt;
#Teha skript, mis küsib kasutajalt kataloogi nime ja siis väljastab kõik (tavalised) failid/kaustad, mis seal kataloogis asuvad 3p&lt;br /&gt;
[[User:Ptomusk|Ptomusk]] 14:29, 29 September 2013 (EEST)&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
_short_help=&amp;quot;`basename $0` [DIRECTORY]&amp;quot;&lt;br /&gt;
_long_help=&amp;quot;Output the files in the specified directory&amp;quot;&lt;br /&gt;
if [ &amp;quot;$1&amp;quot; = &#039;--help&#039; ]; then&lt;br /&gt;
        echo $_short_help&lt;br /&gt;
        echo $_long_help&lt;br /&gt;
        exit 0&lt;br /&gt;
elif [ -d &amp;quot;$1&amp;quot; ]; then&lt;br /&gt;
	find &amp;quot;$1/&amp;quot; -maxdepth 1 -type f&lt;br /&gt;
else&lt;br /&gt;
	echo &amp;quot;No such directory!&amp;quot;&lt;br /&gt;
	echo $_short_help&lt;br /&gt;
	exit 1&lt;br /&gt;
fi&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Kolmas==&lt;br /&gt;
#Teha skript, mis küsib kasutajalt kataloogi nime ja siis väljastab kõik (tavalised) failid/kaustad, mis seal kataloogis asuvad 3p&lt;br /&gt;
&lt;br /&gt;
[[User:Mmust|Mmust]] 14:28, 29 September 2013 (EEST)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
echo &amp;quot;Sisesta kataloogi nime &amp;quot;&lt;br /&gt;
read NIMI&lt;br /&gt;
$NIMI&lt;br /&gt;
cd $NIMI&lt;br /&gt;
ls -la&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Neljas==&lt;br /&gt;
[[User:Mernits|Mernits]] 15:28, 29 September 2013 (EEST)&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
for i in {1..26}; do ping -c1 192.168.6.$i | grep ttl=128 &amp;gt;/dev/null &amp;amp;&amp;amp; echo &amp;quot;Masin $i on windowsis&amp;quot; ; done&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
==Viies==&lt;br /&gt;
Skript peab väljastama õppejõu pangakaardi pin koodi.&lt;br /&gt;
&lt;br /&gt;
[[User:Rohak|Rohak]] 15:36, 29 September 2013 (EEST)&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
echo {0000..9999}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[User:Tliik|Tliik]] 15:37, 29 September 2013 (EEST)&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
for i in {0000..9999}; do echo $i; done&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Kuues==&lt;br /&gt;
[[User:Rohak|Rohak]] 15:47, 29 September 2013 (EEST)&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
#Skritp käsib kasutajal osta ära elevant ja vaatamata sisestusele vastab kõik ütlevad &amp;quot;mida kasutaja ütles&amp;quot;, aga osta elevant ära.&lt;br /&gt;
&lt;br /&gt;
echo -n &amp;quot;Osta elevant ära:&amp;quot;&lt;br /&gt;
while true; do&lt;br /&gt;
	read VASTUS&lt;br /&gt;
	echo -n &amp;quot;Kõik ütlevad $VASTUS, aga osta elevant ära:&amp;quot;&lt;br /&gt;
done&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Seitse==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
[[User:Mmust|Mmust]] 15:48, 29 September 2013 (EEST)&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
#for s in `seq 1 99999`; do&lt;br /&gt;
while true; do&lt;br /&gt;
echo -n &amp;quot;Tere, osta elevant ära&amp;quot;&lt;br /&gt;
read osta&lt;br /&gt;
read -p &amp;quot;kõik ütlevad, nii $osta, aga osta elevant ära&amp;quot;&lt;br /&gt;
done&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Quest 0 - Näide=&lt;br /&gt;
Teha skript, mis ei tee midagi asjalikku, kuid väljasta sõna BÖÖÖ&lt;br /&gt;
&lt;br /&gt;
Lahendus: [[User:Mernits]]&lt;br /&gt;
&lt;br /&gt;
Quest lukus (tehtud) [[User:Mernits|Mernits]] 15:04, 24 January 2013 (EET)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Quest 1 - PATH (Quest lukus!) =&lt;br /&gt;
&lt;br /&gt;
Tee skript, mis lisab käsurealt etteantud kataloogi kasutaja PATH muutujasse, kui kataloog eksisteerib.&lt;br /&gt;
&lt;br /&gt;
Tagastab 0 juhul kui kõik õnnestus.&lt;br /&gt;
&lt;br /&gt;
Tagastab 1 kui kataloogi ei leitud.&lt;br /&gt;
&lt;br /&gt;
Tagastab 2 kui argumentide arv ei klapi.&lt;br /&gt;
&lt;br /&gt;
NB: tagastamine pole ekraanile väljastamine ja argumendi käsurealt ette andmine ei tähenda selle küsimist kasutajalt, näiteks read abil peale skirpi käivitamist. Vaata õppematerjali.&lt;br /&gt;
&lt;br /&gt;
Piia Ploovits A22 https://wiki.itcollege.ee/index.php/User:Pploovit&lt;br /&gt;
&lt;br /&gt;
=Quest 2 - Leiab kas masinas on etteantud pordid lahti või mitte (Quest lukus)=&lt;br /&gt;
&lt;br /&gt;
Teha skript, mis saab argumendina failinime ja kontrollitava masina IP aadressi, ning loeb failist portide nimekirja.&lt;br /&gt;
&lt;br /&gt;
Skript tagastab 0, kui kõik nimekirjas olevad pordid on lahti ja teised pordid kinni&lt;br /&gt;
&lt;br /&gt;
Skript tagastab 1, kui vajalikud pordid on lahti, kuid ka midagi muud on lahti&lt;br /&gt;
&lt;br /&gt;
Skript tagastab 2, kui 1-n vajalikest portidest on kinni&lt;br /&gt;
&lt;br /&gt;
Skript tagastab 3, kui argumentide arv ei sobi&lt;br /&gt;
&lt;br /&gt;
Skript tagastab 4, kui IP aadress pole sobiv&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Kontrollib porte vahemikus 1-10000&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
NB, see sobib ka pythoni kodutööks või arvestusena (kui saadad unikaalse lahenduse enne arvestuse päeva)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Meelis Kurnikov AK31: http://enos.itcollege.ee/~mekurnik/skriptimiskeeled/ports.py&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Priit Lume AK51: https://wiki.itcollege.ee/index.php/User:Plume&lt;br /&gt;
&lt;br /&gt;
Lahendus bashis. Andres Elliku A21: https://wiki.itcollege.ee/index.php/User:Aelliku&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Quest lukus &#039;&#039;&#039; [[User:Mernits|Mernits]] 16:04, 12 February 2013 (EET)&lt;br /&gt;
&lt;br /&gt;
=Quest 3 Lukus - tehtud=&lt;br /&gt;
&lt;br /&gt;
Quest on tehtud!&lt;br /&gt;
&lt;br /&gt;
Loo skript, mis kontrollib kas kasutajal, kes skripti käivitas on õigus kirjutada etteantud kataloogi või mitte.&lt;br /&gt;
&lt;br /&gt;
Kataloogi nimi antakse ette käsurealt.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Skript tagastab 0, kui õigus on olemas.&lt;br /&gt;
&lt;br /&gt;
Skript tagastab 1, kui õigust pole või kataloogi pole (näiteks on tegu failiga)&lt;br /&gt;
&lt;br /&gt;
Chris Liebert A22 https://wiki.itcollege.ee/index.php/User:Cliebert&lt;br /&gt;
&lt;br /&gt;
Quest tehtud [[User:Mernits|Mernits]] 17:50, 3 March 2013 (EET)&lt;br /&gt;
&lt;br /&gt;
Pythonis tehtud:Dineta Mahno A21 https://wiki.itcollege.ee/index.php/User:Dmahno&lt;br /&gt;
&lt;br /&gt;
=Quest 4 - Quest lukus - tehtud!=&lt;br /&gt;
&lt;br /&gt;
Quest on tehtud bashis! [[User:Mernits|Mernits]] 22:31, 3 March 2013 (EET)&lt;br /&gt;
Python lahenduse võib veel saata...&lt;br /&gt;
&lt;br /&gt;
Luua skript, mis kontrollib, kas etteantud kasutaja kodukataloogis on faile või katalooge, mis ei kuulu kasutajale.&lt;br /&gt;
&lt;br /&gt;
Leitud failid kirjutatakse väljundisse.&lt;br /&gt;
&lt;br /&gt;
Skript tagastab 0, kui täitmine õnnestus&lt;br /&gt;
&lt;br /&gt;
Skript tagastab 1, kui kasutajat pole&lt;br /&gt;
&lt;br /&gt;
Skript tagastab 2, kui kasutajal pole kodukausta&lt;br /&gt;
&lt;br /&gt;
Muude vigade korral tagastab 3.&lt;br /&gt;
&lt;br /&gt;
Chris Liebert A22 https://wiki.itcollege.ee/index.php/User:Cliebert&lt;br /&gt;
&lt;br /&gt;
Dineta Mahno  A21 https://wiki.itcollege.ee/index.php/User:Dmahno&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Quest 5 - LUKUS! =&lt;br /&gt;
&lt;br /&gt;
Teha skript, mis teeb üks kord sekundis ekraanitõmmise&lt;br /&gt;
&lt;br /&gt;
Skript teeb kogu ekraanist pilditõmmise üks kord sekundis ja nummerdab failid. DATE-1.png DATE-2.png jne&lt;br /&gt;
&lt;br /&gt;
Võib teha pythonis või bashis.&lt;br /&gt;
&lt;br /&gt;
Pildivorming võib olla jpg, png või muu laialt levinud vorming.&lt;br /&gt;
&lt;br /&gt;
Esimesed 3 erinevat lahendust saavad 10p!&lt;br /&gt;
&lt;br /&gt;
Questi võib teha nii bashis, kui pythonis&lt;br /&gt;
&lt;br /&gt;
Quest on lahti alates 09.aprill.2013&lt;br /&gt;
&lt;br /&gt;
Frederick Rang A22 https://wiki.itcollege.ee/index.php/User:Frang#Skriptimiskeeled (bash)&lt;br /&gt;
&lt;br /&gt;
Frederick Rang A22 https://wiki.itcollege.ee/index.php/User:Frang#Skriptimiskeeled (python)&lt;br /&gt;
&lt;br /&gt;
Dineta Mahno A21 https://wiki.itcollege.ee/index.php/User:Dmahno#Python_quest5 (python)&lt;/div&gt;</summary>
		<author><name>Mmust</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Bash_quests_2013&amp;diff=64435</id>
		<title>Bash quests 2013</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Bash_quests_2013&amp;diff=64435"/>
		<updated>2013-09-29T12:50:31Z</updated>

		<summary type="html">&lt;p&gt;Mmust: /* Seitse */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Sissejuhatus=&lt;br /&gt;
&lt;br /&gt;
Bash quests annab võimaluse teha bash skriptimise kodutööd ka neile, kellel teemat pole. Skript tuleb panna Tudengi enda wiki lehele. Punktid saab esimene, kes antud questi täies mahus valmis sai. Kui lahendus pole rahuldav saab punktid järgmine OK lahenduse looja.&lt;br /&gt;
Kui quest valmis, siis pane link questi juurde (nagu näites)&lt;br /&gt;
Queste tuleb pidevalt juurde.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Tunnis lahendatud näited=&lt;br /&gt;
[[User:Mernits|Mernits]] 14:26, 29 September 2013 (EEST)&lt;br /&gt;
==Esimene==&lt;br /&gt;
Teha skript, mis küsib kasutajalt kataloogi nime ja siis väljastab kõik (tavalised) failid/kaustad, mis seal kataloogis asuvad 3p&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
echo -n &amp;quot;Sisesta kataloogi täispikk tee:&amp;quot;&lt;br /&gt;
read KATALOOG&lt;br /&gt;
ls &amp;quot;${KATALOOG}&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Lahendus: [[User:Rohak|Rohak]] 14:28, 29 September 2013 (EEST)&lt;br /&gt;
&lt;br /&gt;
==Teine==&lt;br /&gt;
#Teha skript, mis küsib kasutajalt kataloogi nime ja siis väljastab kõik (tavalised) failid/kaustad, mis seal kataloogis asuvad 3p&lt;br /&gt;
[[User:Ptomusk|Ptomusk]] 14:29, 29 September 2013 (EEST)&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
_short_help=&amp;quot;`basename $0` [DIRECTORY]&amp;quot;&lt;br /&gt;
_long_help=&amp;quot;Output the files in the specified directory&amp;quot;&lt;br /&gt;
if [ &amp;quot;$1&amp;quot; = &#039;--help&#039; ]; then&lt;br /&gt;
        echo $_short_help&lt;br /&gt;
        echo $_long_help&lt;br /&gt;
        exit 0&lt;br /&gt;
elif [ -d &amp;quot;$1&amp;quot; ]; then&lt;br /&gt;
	find &amp;quot;$1/&amp;quot; -maxdepth 1 -type f&lt;br /&gt;
else&lt;br /&gt;
	echo &amp;quot;No such directory!&amp;quot;&lt;br /&gt;
	echo $_short_help&lt;br /&gt;
	exit 1&lt;br /&gt;
fi&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Kolmas==&lt;br /&gt;
#Teha skript, mis küsib kasutajalt kataloogi nime ja siis väljastab kõik (tavalised) failid/kaustad, mis seal kataloogis asuvad 3p&lt;br /&gt;
&lt;br /&gt;
[[User:Mmust|Mmust]] 14:28, 29 September 2013 (EEST)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
echo &amp;quot;Sisesta kataloogi nime &amp;quot;&lt;br /&gt;
read NIMI&lt;br /&gt;
$NIMI&lt;br /&gt;
cd $NIMI&lt;br /&gt;
ls -la&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Neljas==&lt;br /&gt;
[[User:Mernits|Mernits]] 15:28, 29 September 2013 (EEST)&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
for i in {1..26}; do ping -c1 192.168.6.$i | grep ttl=128 &amp;gt;/dev/null &amp;amp;&amp;amp; echo &amp;quot;Masin $i on windowsis&amp;quot; ; done&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
==Viies==&lt;br /&gt;
Skript peab väljastama õppejõu pangakaardi pin koodi.&lt;br /&gt;
&lt;br /&gt;
[[User:Rohak|Rohak]] 15:36, 29 September 2013 (EEST)&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
echo {0000..9999}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[User:Tliik|Tliik]] 15:37, 29 September 2013 (EEST)&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
for i in {0000..9999}; do echo $i; done&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Kuues==&lt;br /&gt;
[[User:Rohak|Rohak]] 15:47, 29 September 2013 (EEST)&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
#Skritp käsib kasutajal osta ära elevant ja vaatamata sisestusele vastab kõik ütlevad &amp;quot;mida kasutaja ütles&amp;quot;, aga osta elevant ära.&lt;br /&gt;
&lt;br /&gt;
echo -n &amp;quot;Osta elevant ära:&amp;quot;&lt;br /&gt;
while true; do&lt;br /&gt;
	read VASTUS&lt;br /&gt;
	echo -n &amp;quot;Kõik ütlevad $VASTUS, aga osta elevant ära:&amp;quot;&lt;br /&gt;
done&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Seitse==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
[[User:Mmust|Mmust]] 15:48, 29 September 2013 (EEST)&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
#for s in `seq 1 10`; do&lt;br /&gt;
while true; do&lt;br /&gt;
echo -n &amp;quot;Tere, osta elevant ära&amp;quot;&lt;br /&gt;
read osta&lt;br /&gt;
read -p &amp;quot;kõik ütlevad, nii $osta, aga osta elevant ära&amp;quot;&lt;br /&gt;
done&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Quest 0 - Näide=&lt;br /&gt;
Teha skript, mis ei tee midagi asjalikku, kuid väljasta sõna BÖÖÖ&lt;br /&gt;
&lt;br /&gt;
Lahendus: [[User:Mernits]]&lt;br /&gt;
&lt;br /&gt;
Quest lukus (tehtud) [[User:Mernits|Mernits]] 15:04, 24 January 2013 (EET)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Quest 1 - PATH (Quest lukus!) =&lt;br /&gt;
&lt;br /&gt;
Tee skript, mis lisab käsurealt etteantud kataloogi kasutaja PATH muutujasse, kui kataloog eksisteerib.&lt;br /&gt;
&lt;br /&gt;
Tagastab 0 juhul kui kõik õnnestus.&lt;br /&gt;
&lt;br /&gt;
Tagastab 1 kui kataloogi ei leitud.&lt;br /&gt;
&lt;br /&gt;
Tagastab 2 kui argumentide arv ei klapi.&lt;br /&gt;
&lt;br /&gt;
NB: tagastamine pole ekraanile väljastamine ja argumendi käsurealt ette andmine ei tähenda selle küsimist kasutajalt, näiteks read abil peale skirpi käivitamist. Vaata õppematerjali.&lt;br /&gt;
&lt;br /&gt;
Piia Ploovits A22 https://wiki.itcollege.ee/index.php/User:Pploovit&lt;br /&gt;
&lt;br /&gt;
=Quest 2 - Leiab kas masinas on etteantud pordid lahti või mitte (Quest lukus)=&lt;br /&gt;
&lt;br /&gt;
Teha skript, mis saab argumendina failinime ja kontrollitava masina IP aadressi, ning loeb failist portide nimekirja.&lt;br /&gt;
&lt;br /&gt;
Skript tagastab 0, kui kõik nimekirjas olevad pordid on lahti ja teised pordid kinni&lt;br /&gt;
&lt;br /&gt;
Skript tagastab 1, kui vajalikud pordid on lahti, kuid ka midagi muud on lahti&lt;br /&gt;
&lt;br /&gt;
Skript tagastab 2, kui 1-n vajalikest portidest on kinni&lt;br /&gt;
&lt;br /&gt;
Skript tagastab 3, kui argumentide arv ei sobi&lt;br /&gt;
&lt;br /&gt;
Skript tagastab 4, kui IP aadress pole sobiv&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Kontrollib porte vahemikus 1-10000&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
NB, see sobib ka pythoni kodutööks või arvestusena (kui saadad unikaalse lahenduse enne arvestuse päeva)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Meelis Kurnikov AK31: http://enos.itcollege.ee/~mekurnik/skriptimiskeeled/ports.py&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Priit Lume AK51: https://wiki.itcollege.ee/index.php/User:Plume&lt;br /&gt;
&lt;br /&gt;
Lahendus bashis. Andres Elliku A21: https://wiki.itcollege.ee/index.php/User:Aelliku&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Quest lukus &#039;&#039;&#039; [[User:Mernits|Mernits]] 16:04, 12 February 2013 (EET)&lt;br /&gt;
&lt;br /&gt;
=Quest 3 Lukus - tehtud=&lt;br /&gt;
&lt;br /&gt;
Quest on tehtud!&lt;br /&gt;
&lt;br /&gt;
Loo skript, mis kontrollib kas kasutajal, kes skripti käivitas on õigus kirjutada etteantud kataloogi või mitte.&lt;br /&gt;
&lt;br /&gt;
Kataloogi nimi antakse ette käsurealt.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Skript tagastab 0, kui õigus on olemas.&lt;br /&gt;
&lt;br /&gt;
Skript tagastab 1, kui õigust pole või kataloogi pole (näiteks on tegu failiga)&lt;br /&gt;
&lt;br /&gt;
Chris Liebert A22 https://wiki.itcollege.ee/index.php/User:Cliebert&lt;br /&gt;
&lt;br /&gt;
Quest tehtud [[User:Mernits|Mernits]] 17:50, 3 March 2013 (EET)&lt;br /&gt;
&lt;br /&gt;
Pythonis tehtud:Dineta Mahno A21 https://wiki.itcollege.ee/index.php/User:Dmahno&lt;br /&gt;
&lt;br /&gt;
=Quest 4 - Quest lukus - tehtud!=&lt;br /&gt;
&lt;br /&gt;
Quest on tehtud bashis! [[User:Mernits|Mernits]] 22:31, 3 March 2013 (EET)&lt;br /&gt;
Python lahenduse võib veel saata...&lt;br /&gt;
&lt;br /&gt;
Luua skript, mis kontrollib, kas etteantud kasutaja kodukataloogis on faile või katalooge, mis ei kuulu kasutajale.&lt;br /&gt;
&lt;br /&gt;
Leitud failid kirjutatakse väljundisse.&lt;br /&gt;
&lt;br /&gt;
Skript tagastab 0, kui täitmine õnnestus&lt;br /&gt;
&lt;br /&gt;
Skript tagastab 1, kui kasutajat pole&lt;br /&gt;
&lt;br /&gt;
Skript tagastab 2, kui kasutajal pole kodukausta&lt;br /&gt;
&lt;br /&gt;
Muude vigade korral tagastab 3.&lt;br /&gt;
&lt;br /&gt;
Chris Liebert A22 https://wiki.itcollege.ee/index.php/User:Cliebert&lt;br /&gt;
&lt;br /&gt;
Dineta Mahno  A21 https://wiki.itcollege.ee/index.php/User:Dmahno&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Quest 5 - LUKUS! =&lt;br /&gt;
&lt;br /&gt;
Teha skript, mis teeb üks kord sekundis ekraanitõmmise&lt;br /&gt;
&lt;br /&gt;
Skript teeb kogu ekraanist pilditõmmise üks kord sekundis ja nummerdab failid. DATE-1.png DATE-2.png jne&lt;br /&gt;
&lt;br /&gt;
Võib teha pythonis või bashis.&lt;br /&gt;
&lt;br /&gt;
Pildivorming võib olla jpg, png või muu laialt levinud vorming.&lt;br /&gt;
&lt;br /&gt;
Esimesed 3 erinevat lahendust saavad 10p!&lt;br /&gt;
&lt;br /&gt;
Questi võib teha nii bashis, kui pythonis&lt;br /&gt;
&lt;br /&gt;
Quest on lahti alates 09.aprill.2013&lt;br /&gt;
&lt;br /&gt;
Frederick Rang A22 https://wiki.itcollege.ee/index.php/User:Frang#Skriptimiskeeled (bash)&lt;br /&gt;
&lt;br /&gt;
Frederick Rang A22 https://wiki.itcollege.ee/index.php/User:Frang#Skriptimiskeeled (python)&lt;br /&gt;
&lt;br /&gt;
Dineta Mahno A21 https://wiki.itcollege.ee/index.php/User:Dmahno#Python_quest5 (python)&lt;/div&gt;</summary>
		<author><name>Mmust</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Bash_quests_2013&amp;diff=64434</id>
		<title>Bash quests 2013</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Bash_quests_2013&amp;diff=64434"/>
		<updated>2013-09-29T12:49:55Z</updated>

		<summary type="html">&lt;p&gt;Mmust: /* Seitse */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Sissejuhatus=&lt;br /&gt;
&lt;br /&gt;
Bash quests annab võimaluse teha bash skriptimise kodutööd ka neile, kellel teemat pole. Skript tuleb panna Tudengi enda wiki lehele. Punktid saab esimene, kes antud questi täies mahus valmis sai. Kui lahendus pole rahuldav saab punktid järgmine OK lahenduse looja.&lt;br /&gt;
Kui quest valmis, siis pane link questi juurde (nagu näites)&lt;br /&gt;
Queste tuleb pidevalt juurde.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Tunnis lahendatud näited=&lt;br /&gt;
[[User:Mernits|Mernits]] 14:26, 29 September 2013 (EEST)&lt;br /&gt;
==Esimene==&lt;br /&gt;
Teha skript, mis küsib kasutajalt kataloogi nime ja siis väljastab kõik (tavalised) failid/kaustad, mis seal kataloogis asuvad 3p&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
echo -n &amp;quot;Sisesta kataloogi täispikk tee:&amp;quot;&lt;br /&gt;
read KATALOOG&lt;br /&gt;
ls &amp;quot;${KATALOOG}&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Lahendus: [[User:Rohak|Rohak]] 14:28, 29 September 2013 (EEST)&lt;br /&gt;
&lt;br /&gt;
==Teine==&lt;br /&gt;
#Teha skript, mis küsib kasutajalt kataloogi nime ja siis väljastab kõik (tavalised) failid/kaustad, mis seal kataloogis asuvad 3p&lt;br /&gt;
[[User:Ptomusk|Ptomusk]] 14:29, 29 September 2013 (EEST)&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
_short_help=&amp;quot;`basename $0` [DIRECTORY]&amp;quot;&lt;br /&gt;
_long_help=&amp;quot;Output the files in the specified directory&amp;quot;&lt;br /&gt;
if [ &amp;quot;$1&amp;quot; = &#039;--help&#039; ]; then&lt;br /&gt;
        echo $_short_help&lt;br /&gt;
        echo $_long_help&lt;br /&gt;
        exit 0&lt;br /&gt;
elif [ -d &amp;quot;$1&amp;quot; ]; then&lt;br /&gt;
	find &amp;quot;$1/&amp;quot; -maxdepth 1 -type f&lt;br /&gt;
else&lt;br /&gt;
	echo &amp;quot;No such directory!&amp;quot;&lt;br /&gt;
	echo $_short_help&lt;br /&gt;
	exit 1&lt;br /&gt;
fi&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Kolmas==&lt;br /&gt;
#Teha skript, mis küsib kasutajalt kataloogi nime ja siis väljastab kõik (tavalised) failid/kaustad, mis seal kataloogis asuvad 3p&lt;br /&gt;
&lt;br /&gt;
[[User:Mmust|Mmust]] 14:28, 29 September 2013 (EEST)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
echo &amp;quot;Sisesta kataloogi nime &amp;quot;&lt;br /&gt;
read NIMI&lt;br /&gt;
$NIMI&lt;br /&gt;
cd $NIMI&lt;br /&gt;
ls -la&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Neljas==&lt;br /&gt;
[[User:Mernits|Mernits]] 15:28, 29 September 2013 (EEST)&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
for i in {1..26}; do ping -c1 192.168.6.$i | grep ttl=128 &amp;gt;/dev/null &amp;amp;&amp;amp; echo &amp;quot;Masin $i on windowsis&amp;quot; ; done&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
==Viies==&lt;br /&gt;
Skript peab väljastama õppejõu pangakaardi pin koodi.&lt;br /&gt;
&lt;br /&gt;
[[User:Rohak|Rohak]] 15:36, 29 September 2013 (EEST)&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
echo {0000..9999}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[User:Tliik|Tliik]] 15:37, 29 September 2013 (EEST)&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
for i in {0000..9999}; do echo $i; done&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Kuues==&lt;br /&gt;
[[User:Rohak|Rohak]] 15:47, 29 September 2013 (EEST)&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
#Skritp käsib kasutajal osta ära elevant ja vaatamata sisestusele vastab kõik ütlevad &amp;quot;mida kasutaja ütles&amp;quot;, aga osta elevant ära.&lt;br /&gt;
&lt;br /&gt;
echo -n &amp;quot;Osta elevant ära:&amp;quot;&lt;br /&gt;
while true; do&lt;br /&gt;
	read VASTUS&lt;br /&gt;
	echo -n &amp;quot;Kõik ütlevad $VASTUS, aga osta elevant ära:&amp;quot;&lt;br /&gt;
done&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Seitse==&lt;br /&gt;
[[User:Mmust|Mmust]] 15:48, 29 September 2013 (EEST)&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
#for s in `seq 1 10`; do&lt;br /&gt;
while true; do&lt;br /&gt;
echo -n &amp;quot;Tere, osta elevant ära&amp;quot;&lt;br /&gt;
read osta&lt;br /&gt;
read -p &amp;quot;kõik ütlevad, nii $osta, aga osta elevant ära&amp;quot;&lt;br /&gt;
done&lt;br /&gt;
&lt;br /&gt;
=Quest 0 - Näide=&lt;br /&gt;
Teha skript, mis ei tee midagi asjalikku, kuid väljasta sõna BÖÖÖ&lt;br /&gt;
&lt;br /&gt;
Lahendus: [[User:Mernits]]&lt;br /&gt;
&lt;br /&gt;
Quest lukus (tehtud) [[User:Mernits|Mernits]] 15:04, 24 January 2013 (EET)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Quest 1 - PATH (Quest lukus!) =&lt;br /&gt;
&lt;br /&gt;
Tee skript, mis lisab käsurealt etteantud kataloogi kasutaja PATH muutujasse, kui kataloog eksisteerib.&lt;br /&gt;
&lt;br /&gt;
Tagastab 0 juhul kui kõik õnnestus.&lt;br /&gt;
&lt;br /&gt;
Tagastab 1 kui kataloogi ei leitud.&lt;br /&gt;
&lt;br /&gt;
Tagastab 2 kui argumentide arv ei klapi.&lt;br /&gt;
&lt;br /&gt;
NB: tagastamine pole ekraanile väljastamine ja argumendi käsurealt ette andmine ei tähenda selle küsimist kasutajalt, näiteks read abil peale skirpi käivitamist. Vaata õppematerjali.&lt;br /&gt;
&lt;br /&gt;
Piia Ploovits A22 https://wiki.itcollege.ee/index.php/User:Pploovit&lt;br /&gt;
&lt;br /&gt;
=Quest 2 - Leiab kas masinas on etteantud pordid lahti või mitte (Quest lukus)=&lt;br /&gt;
&lt;br /&gt;
Teha skript, mis saab argumendina failinime ja kontrollitava masina IP aadressi, ning loeb failist portide nimekirja.&lt;br /&gt;
&lt;br /&gt;
Skript tagastab 0, kui kõik nimekirjas olevad pordid on lahti ja teised pordid kinni&lt;br /&gt;
&lt;br /&gt;
Skript tagastab 1, kui vajalikud pordid on lahti, kuid ka midagi muud on lahti&lt;br /&gt;
&lt;br /&gt;
Skript tagastab 2, kui 1-n vajalikest portidest on kinni&lt;br /&gt;
&lt;br /&gt;
Skript tagastab 3, kui argumentide arv ei sobi&lt;br /&gt;
&lt;br /&gt;
Skript tagastab 4, kui IP aadress pole sobiv&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Kontrollib porte vahemikus 1-10000&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
NB, see sobib ka pythoni kodutööks või arvestusena (kui saadad unikaalse lahenduse enne arvestuse päeva)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Meelis Kurnikov AK31: http://enos.itcollege.ee/~mekurnik/skriptimiskeeled/ports.py&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Priit Lume AK51: https://wiki.itcollege.ee/index.php/User:Plume&lt;br /&gt;
&lt;br /&gt;
Lahendus bashis. Andres Elliku A21: https://wiki.itcollege.ee/index.php/User:Aelliku&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Quest lukus &#039;&#039;&#039; [[User:Mernits|Mernits]] 16:04, 12 February 2013 (EET)&lt;br /&gt;
&lt;br /&gt;
=Quest 3 Lukus - tehtud=&lt;br /&gt;
&lt;br /&gt;
Quest on tehtud!&lt;br /&gt;
&lt;br /&gt;
Loo skript, mis kontrollib kas kasutajal, kes skripti käivitas on õigus kirjutada etteantud kataloogi või mitte.&lt;br /&gt;
&lt;br /&gt;
Kataloogi nimi antakse ette käsurealt.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Skript tagastab 0, kui õigus on olemas.&lt;br /&gt;
&lt;br /&gt;
Skript tagastab 1, kui õigust pole või kataloogi pole (näiteks on tegu failiga)&lt;br /&gt;
&lt;br /&gt;
Chris Liebert A22 https://wiki.itcollege.ee/index.php/User:Cliebert&lt;br /&gt;
&lt;br /&gt;
Quest tehtud [[User:Mernits|Mernits]] 17:50, 3 March 2013 (EET)&lt;br /&gt;
&lt;br /&gt;
Pythonis tehtud:Dineta Mahno A21 https://wiki.itcollege.ee/index.php/User:Dmahno&lt;br /&gt;
&lt;br /&gt;
=Quest 4 - Quest lukus - tehtud!=&lt;br /&gt;
&lt;br /&gt;
Quest on tehtud bashis! [[User:Mernits|Mernits]] 22:31, 3 March 2013 (EET)&lt;br /&gt;
Python lahenduse võib veel saata...&lt;br /&gt;
&lt;br /&gt;
Luua skript, mis kontrollib, kas etteantud kasutaja kodukataloogis on faile või katalooge, mis ei kuulu kasutajale.&lt;br /&gt;
&lt;br /&gt;
Leitud failid kirjutatakse väljundisse.&lt;br /&gt;
&lt;br /&gt;
Skript tagastab 0, kui täitmine õnnestus&lt;br /&gt;
&lt;br /&gt;
Skript tagastab 1, kui kasutajat pole&lt;br /&gt;
&lt;br /&gt;
Skript tagastab 2, kui kasutajal pole kodukausta&lt;br /&gt;
&lt;br /&gt;
Muude vigade korral tagastab 3.&lt;br /&gt;
&lt;br /&gt;
Chris Liebert A22 https://wiki.itcollege.ee/index.php/User:Cliebert&lt;br /&gt;
&lt;br /&gt;
Dineta Mahno  A21 https://wiki.itcollege.ee/index.php/User:Dmahno&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Quest 5 - LUKUS! =&lt;br /&gt;
&lt;br /&gt;
Teha skript, mis teeb üks kord sekundis ekraanitõmmise&lt;br /&gt;
&lt;br /&gt;
Skript teeb kogu ekraanist pilditõmmise üks kord sekundis ja nummerdab failid. DATE-1.png DATE-2.png jne&lt;br /&gt;
&lt;br /&gt;
Võib teha pythonis või bashis.&lt;br /&gt;
&lt;br /&gt;
Pildivorming võib olla jpg, png või muu laialt levinud vorming.&lt;br /&gt;
&lt;br /&gt;
Esimesed 3 erinevat lahendust saavad 10p!&lt;br /&gt;
&lt;br /&gt;
Questi võib teha nii bashis, kui pythonis&lt;br /&gt;
&lt;br /&gt;
Quest on lahti alates 09.aprill.2013&lt;br /&gt;
&lt;br /&gt;
Frederick Rang A22 https://wiki.itcollege.ee/index.php/User:Frang#Skriptimiskeeled (bash)&lt;br /&gt;
&lt;br /&gt;
Frederick Rang A22 https://wiki.itcollege.ee/index.php/User:Frang#Skriptimiskeeled (python)&lt;br /&gt;
&lt;br /&gt;
Dineta Mahno A21 https://wiki.itcollege.ee/index.php/User:Dmahno#Python_quest5 (python)&lt;/div&gt;</summary>
		<author><name>Mmust</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Bash_quests_2013&amp;diff=64433</id>
		<title>Bash quests 2013</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Bash_quests_2013&amp;diff=64433"/>
		<updated>2013-09-29T12:48:56Z</updated>

		<summary type="html">&lt;p&gt;Mmust: /* Kuues */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Sissejuhatus=&lt;br /&gt;
&lt;br /&gt;
Bash quests annab võimaluse teha bash skriptimise kodutööd ka neile, kellel teemat pole. Skript tuleb panna Tudengi enda wiki lehele. Punktid saab esimene, kes antud questi täies mahus valmis sai. Kui lahendus pole rahuldav saab punktid järgmine OK lahenduse looja.&lt;br /&gt;
Kui quest valmis, siis pane link questi juurde (nagu näites)&lt;br /&gt;
Queste tuleb pidevalt juurde.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Tunnis lahendatud näited=&lt;br /&gt;
[[User:Mernits|Mernits]] 14:26, 29 September 2013 (EEST)&lt;br /&gt;
==Esimene==&lt;br /&gt;
Teha skript, mis küsib kasutajalt kataloogi nime ja siis väljastab kõik (tavalised) failid/kaustad, mis seal kataloogis asuvad 3p&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
echo -n &amp;quot;Sisesta kataloogi täispikk tee:&amp;quot;&lt;br /&gt;
read KATALOOG&lt;br /&gt;
ls &amp;quot;${KATALOOG}&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Lahendus: [[User:Rohak|Rohak]] 14:28, 29 September 2013 (EEST)&lt;br /&gt;
&lt;br /&gt;
==Teine==&lt;br /&gt;
#Teha skript, mis küsib kasutajalt kataloogi nime ja siis väljastab kõik (tavalised) failid/kaustad, mis seal kataloogis asuvad 3p&lt;br /&gt;
[[User:Ptomusk|Ptomusk]] 14:29, 29 September 2013 (EEST)&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
_short_help=&amp;quot;`basename $0` [DIRECTORY]&amp;quot;&lt;br /&gt;
_long_help=&amp;quot;Output the files in the specified directory&amp;quot;&lt;br /&gt;
if [ &amp;quot;$1&amp;quot; = &#039;--help&#039; ]; then&lt;br /&gt;
        echo $_short_help&lt;br /&gt;
        echo $_long_help&lt;br /&gt;
        exit 0&lt;br /&gt;
elif [ -d &amp;quot;$1&amp;quot; ]; then&lt;br /&gt;
	find &amp;quot;$1/&amp;quot; -maxdepth 1 -type f&lt;br /&gt;
else&lt;br /&gt;
	echo &amp;quot;No such directory!&amp;quot;&lt;br /&gt;
	echo $_short_help&lt;br /&gt;
	exit 1&lt;br /&gt;
fi&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Kolmas==&lt;br /&gt;
#Teha skript, mis küsib kasutajalt kataloogi nime ja siis väljastab kõik (tavalised) failid/kaustad, mis seal kataloogis asuvad 3p&lt;br /&gt;
&lt;br /&gt;
[[User:Mmust|Mmust]] 14:28, 29 September 2013 (EEST)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
echo &amp;quot;Sisesta kataloogi nime &amp;quot;&lt;br /&gt;
read NIMI&lt;br /&gt;
$NIMI&lt;br /&gt;
cd $NIMI&lt;br /&gt;
ls -la&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Neljas==&lt;br /&gt;
[[User:Mernits|Mernits]] 15:28, 29 September 2013 (EEST)&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
for i in {1..26}; do ping -c1 192.168.6.$i | grep ttl=128 &amp;gt;/dev/null &amp;amp;&amp;amp; echo &amp;quot;Masin $i on windowsis&amp;quot; ; done&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
==Viies==&lt;br /&gt;
Skript peab väljastama õppejõu pangakaardi pin koodi.&lt;br /&gt;
&lt;br /&gt;
[[User:Rohak|Rohak]] 15:36, 29 September 2013 (EEST)&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
echo {0000..9999}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[User:Tliik|Tliik]] 15:37, 29 September 2013 (EEST)&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
for i in {0000..9999}; do echo $i; done&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Kuues==&lt;br /&gt;
[[User:Rohak|Rohak]] 15:47, 29 September 2013 (EEST)&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
#Skritp käsib kasutajal osta ära elevant ja vaatamata sisestusele vastab kõik ütlevad &amp;quot;mida kasutaja ütles&amp;quot;, aga osta elevant ära.&lt;br /&gt;
&lt;br /&gt;
echo -n &amp;quot;Osta elevant ära:&amp;quot;&lt;br /&gt;
while true; do&lt;br /&gt;
	read VASTUS&lt;br /&gt;
	echo -n &amp;quot;Kõik ütlevad $VASTUS, aga osta elevant ära:&amp;quot;&lt;br /&gt;
done&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Seitse==&lt;br /&gt;
[[User:Mmust|Mmust]] 15:48, 29 September 2013 (EEST)&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
#for s in `seq 1 10`; do&lt;br /&gt;
while true; do&lt;br /&gt;
echo -n &amp;quot;Tere, osta elevant ära&amp;quot;&lt;br /&gt;
read osta&lt;br /&gt;
read -p &amp;quot;kõik ütlevad, nii $osta, aga osta elevant ära&amp;quot;&lt;br /&gt;
done&lt;br /&gt;
&lt;br /&gt;
=Quest 0 - Näide=&lt;br /&gt;
Teha skript, mis ei tee midagi asjalikku, kuid väljasta sõna BÖÖÖ&lt;br /&gt;
&lt;br /&gt;
Lahendus: [[User:Mernits]]&lt;br /&gt;
&lt;br /&gt;
Quest lukus (tehtud) [[User:Mernits|Mernits]] 15:04, 24 January 2013 (EET)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Quest 1 - PATH (Quest lukus!) =&lt;br /&gt;
&lt;br /&gt;
Tee skript, mis lisab käsurealt etteantud kataloogi kasutaja PATH muutujasse, kui kataloog eksisteerib.&lt;br /&gt;
&lt;br /&gt;
Tagastab 0 juhul kui kõik õnnestus.&lt;br /&gt;
&lt;br /&gt;
Tagastab 1 kui kataloogi ei leitud.&lt;br /&gt;
&lt;br /&gt;
Tagastab 2 kui argumentide arv ei klapi.&lt;br /&gt;
&lt;br /&gt;
NB: tagastamine pole ekraanile väljastamine ja argumendi käsurealt ette andmine ei tähenda selle küsimist kasutajalt, näiteks read abil peale skirpi käivitamist. Vaata õppematerjali.&lt;br /&gt;
&lt;br /&gt;
Piia Ploovits A22 https://wiki.itcollege.ee/index.php/User:Pploovit&lt;br /&gt;
&lt;br /&gt;
=Quest 2 - Leiab kas masinas on etteantud pordid lahti või mitte (Quest lukus)=&lt;br /&gt;
&lt;br /&gt;
Teha skript, mis saab argumendina failinime ja kontrollitava masina IP aadressi, ning loeb failist portide nimekirja.&lt;br /&gt;
&lt;br /&gt;
Skript tagastab 0, kui kõik nimekirjas olevad pordid on lahti ja teised pordid kinni&lt;br /&gt;
&lt;br /&gt;
Skript tagastab 1, kui vajalikud pordid on lahti, kuid ka midagi muud on lahti&lt;br /&gt;
&lt;br /&gt;
Skript tagastab 2, kui 1-n vajalikest portidest on kinni&lt;br /&gt;
&lt;br /&gt;
Skript tagastab 3, kui argumentide arv ei sobi&lt;br /&gt;
&lt;br /&gt;
Skript tagastab 4, kui IP aadress pole sobiv&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Kontrollib porte vahemikus 1-10000&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
NB, see sobib ka pythoni kodutööks või arvestusena (kui saadad unikaalse lahenduse enne arvestuse päeva)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Meelis Kurnikov AK31: http://enos.itcollege.ee/~mekurnik/skriptimiskeeled/ports.py&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Priit Lume AK51: https://wiki.itcollege.ee/index.php/User:Plume&lt;br /&gt;
&lt;br /&gt;
Lahendus bashis. Andres Elliku A21: https://wiki.itcollege.ee/index.php/User:Aelliku&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Quest lukus &#039;&#039;&#039; [[User:Mernits|Mernits]] 16:04, 12 February 2013 (EET)&lt;br /&gt;
&lt;br /&gt;
=Quest 3 Lukus - tehtud=&lt;br /&gt;
&lt;br /&gt;
Quest on tehtud!&lt;br /&gt;
&lt;br /&gt;
Loo skript, mis kontrollib kas kasutajal, kes skripti käivitas on õigus kirjutada etteantud kataloogi või mitte.&lt;br /&gt;
&lt;br /&gt;
Kataloogi nimi antakse ette käsurealt.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Skript tagastab 0, kui õigus on olemas.&lt;br /&gt;
&lt;br /&gt;
Skript tagastab 1, kui õigust pole või kataloogi pole (näiteks on tegu failiga)&lt;br /&gt;
&lt;br /&gt;
Chris Liebert A22 https://wiki.itcollege.ee/index.php/User:Cliebert&lt;br /&gt;
&lt;br /&gt;
Quest tehtud [[User:Mernits|Mernits]] 17:50, 3 March 2013 (EET)&lt;br /&gt;
&lt;br /&gt;
Pythonis tehtud:Dineta Mahno A21 https://wiki.itcollege.ee/index.php/User:Dmahno&lt;br /&gt;
&lt;br /&gt;
=Quest 4 - Quest lukus - tehtud!=&lt;br /&gt;
&lt;br /&gt;
Quest on tehtud bashis! [[User:Mernits|Mernits]] 22:31, 3 March 2013 (EET)&lt;br /&gt;
Python lahenduse võib veel saata...&lt;br /&gt;
&lt;br /&gt;
Luua skript, mis kontrollib, kas etteantud kasutaja kodukataloogis on faile või katalooge, mis ei kuulu kasutajale.&lt;br /&gt;
&lt;br /&gt;
Leitud failid kirjutatakse väljundisse.&lt;br /&gt;
&lt;br /&gt;
Skript tagastab 0, kui täitmine õnnestus&lt;br /&gt;
&lt;br /&gt;
Skript tagastab 1, kui kasutajat pole&lt;br /&gt;
&lt;br /&gt;
Skript tagastab 2, kui kasutajal pole kodukausta&lt;br /&gt;
&lt;br /&gt;
Muude vigade korral tagastab 3.&lt;br /&gt;
&lt;br /&gt;
Chris Liebert A22 https://wiki.itcollege.ee/index.php/User:Cliebert&lt;br /&gt;
&lt;br /&gt;
Dineta Mahno  A21 https://wiki.itcollege.ee/index.php/User:Dmahno&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Quest 5 - LUKUS! =&lt;br /&gt;
&lt;br /&gt;
Teha skript, mis teeb üks kord sekundis ekraanitõmmise&lt;br /&gt;
&lt;br /&gt;
Skript teeb kogu ekraanist pilditõmmise üks kord sekundis ja nummerdab failid. DATE-1.png DATE-2.png jne&lt;br /&gt;
&lt;br /&gt;
Võib teha pythonis või bashis.&lt;br /&gt;
&lt;br /&gt;
Pildivorming võib olla jpg, png või muu laialt levinud vorming.&lt;br /&gt;
&lt;br /&gt;
Esimesed 3 erinevat lahendust saavad 10p!&lt;br /&gt;
&lt;br /&gt;
Questi võib teha nii bashis, kui pythonis&lt;br /&gt;
&lt;br /&gt;
Quest on lahti alates 09.aprill.2013&lt;br /&gt;
&lt;br /&gt;
Frederick Rang A22 https://wiki.itcollege.ee/index.php/User:Frang#Skriptimiskeeled (bash)&lt;br /&gt;
&lt;br /&gt;
Frederick Rang A22 https://wiki.itcollege.ee/index.php/User:Frang#Skriptimiskeeled (python)&lt;br /&gt;
&lt;br /&gt;
Dineta Mahno A21 https://wiki.itcollege.ee/index.php/User:Dmahno#Python_quest5 (python)&lt;/div&gt;</summary>
		<author><name>Mmust</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Bash_quests_2013&amp;diff=64432</id>
		<title>Bash quests 2013</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Bash_quests_2013&amp;diff=64432"/>
		<updated>2013-09-29T12:48:43Z</updated>

		<summary type="html">&lt;p&gt;Mmust: /* Kuues */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Sissejuhatus=&lt;br /&gt;
&lt;br /&gt;
Bash quests annab võimaluse teha bash skriptimise kodutööd ka neile, kellel teemat pole. Skript tuleb panna Tudengi enda wiki lehele. Punktid saab esimene, kes antud questi täies mahus valmis sai. Kui lahendus pole rahuldav saab punktid järgmine OK lahenduse looja.&lt;br /&gt;
Kui quest valmis, siis pane link questi juurde (nagu näites)&lt;br /&gt;
Queste tuleb pidevalt juurde.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Tunnis lahendatud näited=&lt;br /&gt;
[[User:Mernits|Mernits]] 14:26, 29 September 2013 (EEST)&lt;br /&gt;
==Esimene==&lt;br /&gt;
Teha skript, mis küsib kasutajalt kataloogi nime ja siis väljastab kõik (tavalised) failid/kaustad, mis seal kataloogis asuvad 3p&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
echo -n &amp;quot;Sisesta kataloogi täispikk tee:&amp;quot;&lt;br /&gt;
read KATALOOG&lt;br /&gt;
ls &amp;quot;${KATALOOG}&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Lahendus: [[User:Rohak|Rohak]] 14:28, 29 September 2013 (EEST)&lt;br /&gt;
&lt;br /&gt;
==Teine==&lt;br /&gt;
#Teha skript, mis küsib kasutajalt kataloogi nime ja siis väljastab kõik (tavalised) failid/kaustad, mis seal kataloogis asuvad 3p&lt;br /&gt;
[[User:Ptomusk|Ptomusk]] 14:29, 29 September 2013 (EEST)&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
_short_help=&amp;quot;`basename $0` [DIRECTORY]&amp;quot;&lt;br /&gt;
_long_help=&amp;quot;Output the files in the specified directory&amp;quot;&lt;br /&gt;
if [ &amp;quot;$1&amp;quot; = &#039;--help&#039; ]; then&lt;br /&gt;
        echo $_short_help&lt;br /&gt;
        echo $_long_help&lt;br /&gt;
        exit 0&lt;br /&gt;
elif [ -d &amp;quot;$1&amp;quot; ]; then&lt;br /&gt;
	find &amp;quot;$1/&amp;quot; -maxdepth 1 -type f&lt;br /&gt;
else&lt;br /&gt;
	echo &amp;quot;No such directory!&amp;quot;&lt;br /&gt;
	echo $_short_help&lt;br /&gt;
	exit 1&lt;br /&gt;
fi&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Kolmas==&lt;br /&gt;
#Teha skript, mis küsib kasutajalt kataloogi nime ja siis väljastab kõik (tavalised) failid/kaustad, mis seal kataloogis asuvad 3p&lt;br /&gt;
&lt;br /&gt;
[[User:Mmust|Mmust]] 14:28, 29 September 2013 (EEST)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
echo &amp;quot;Sisesta kataloogi nime &amp;quot;&lt;br /&gt;
read NIMI&lt;br /&gt;
$NIMI&lt;br /&gt;
cd $NIMI&lt;br /&gt;
ls -la&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Neljas==&lt;br /&gt;
[[User:Mernits|Mernits]] 15:28, 29 September 2013 (EEST)&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
for i in {1..26}; do ping -c1 192.168.6.$i | grep ttl=128 &amp;gt;/dev/null &amp;amp;&amp;amp; echo &amp;quot;Masin $i on windowsis&amp;quot; ; done&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
==Viies==&lt;br /&gt;
Skript peab väljastama õppejõu pangakaardi pin koodi.&lt;br /&gt;
&lt;br /&gt;
[[User:Rohak|Rohak]] 15:36, 29 September 2013 (EEST)&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
echo {0000..9999}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[User:Tliik|Tliik]] 15:37, 29 September 2013 (EEST)&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
for i in {0000..9999}; do echo $i; done&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Kuues==&lt;br /&gt;
[[User:Rohak|Rohak]] 15:47, 29 September 2013 (EEST)&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
#Skritp käsib kasutajal osta ära elevant ja vaatamata sisestusele vastab kõik ütlevad &amp;quot;mida kasutaja ütles&amp;quot;, aga osta elevant ära.&lt;br /&gt;
&lt;br /&gt;
echo -n &amp;quot;Osta elevant ära:&amp;quot;&lt;br /&gt;
while true; do&lt;br /&gt;
	read VASTUS&lt;br /&gt;
	echo -n &amp;quot;Kõik ütlevad $VASTUS, aga osta elevant ära:&amp;quot;&lt;br /&gt;
done&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Seitse&lt;br /&gt;
[[User:Mmust|Mmust]] 15:48, 29 September 2013 (EEST)&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
#for s in `seq 1 10`; do&lt;br /&gt;
while true; do&lt;br /&gt;
echo -n &amp;quot;Tere, osta elevant ära&amp;quot;&lt;br /&gt;
read osta&lt;br /&gt;
read -p &amp;quot;kõik ütlevad, nii $osta, aga osta elevant ära&amp;quot;&lt;br /&gt;
done&lt;br /&gt;
&lt;br /&gt;
=Quest 0 - Näide=&lt;br /&gt;
Teha skript, mis ei tee midagi asjalikku, kuid väljasta sõna BÖÖÖ&lt;br /&gt;
&lt;br /&gt;
Lahendus: [[User:Mernits]]&lt;br /&gt;
&lt;br /&gt;
Quest lukus (tehtud) [[User:Mernits|Mernits]] 15:04, 24 January 2013 (EET)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Quest 1 - PATH (Quest lukus!) =&lt;br /&gt;
&lt;br /&gt;
Tee skript, mis lisab käsurealt etteantud kataloogi kasutaja PATH muutujasse, kui kataloog eksisteerib.&lt;br /&gt;
&lt;br /&gt;
Tagastab 0 juhul kui kõik õnnestus.&lt;br /&gt;
&lt;br /&gt;
Tagastab 1 kui kataloogi ei leitud.&lt;br /&gt;
&lt;br /&gt;
Tagastab 2 kui argumentide arv ei klapi.&lt;br /&gt;
&lt;br /&gt;
NB: tagastamine pole ekraanile väljastamine ja argumendi käsurealt ette andmine ei tähenda selle küsimist kasutajalt, näiteks read abil peale skirpi käivitamist. Vaata õppematerjali.&lt;br /&gt;
&lt;br /&gt;
Piia Ploovits A22 https://wiki.itcollege.ee/index.php/User:Pploovit&lt;br /&gt;
&lt;br /&gt;
=Quest 2 - Leiab kas masinas on etteantud pordid lahti või mitte (Quest lukus)=&lt;br /&gt;
&lt;br /&gt;
Teha skript, mis saab argumendina failinime ja kontrollitava masina IP aadressi, ning loeb failist portide nimekirja.&lt;br /&gt;
&lt;br /&gt;
Skript tagastab 0, kui kõik nimekirjas olevad pordid on lahti ja teised pordid kinni&lt;br /&gt;
&lt;br /&gt;
Skript tagastab 1, kui vajalikud pordid on lahti, kuid ka midagi muud on lahti&lt;br /&gt;
&lt;br /&gt;
Skript tagastab 2, kui 1-n vajalikest portidest on kinni&lt;br /&gt;
&lt;br /&gt;
Skript tagastab 3, kui argumentide arv ei sobi&lt;br /&gt;
&lt;br /&gt;
Skript tagastab 4, kui IP aadress pole sobiv&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Kontrollib porte vahemikus 1-10000&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
NB, see sobib ka pythoni kodutööks või arvestusena (kui saadad unikaalse lahenduse enne arvestuse päeva)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Meelis Kurnikov AK31: http://enos.itcollege.ee/~mekurnik/skriptimiskeeled/ports.py&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Priit Lume AK51: https://wiki.itcollege.ee/index.php/User:Plume&lt;br /&gt;
&lt;br /&gt;
Lahendus bashis. Andres Elliku A21: https://wiki.itcollege.ee/index.php/User:Aelliku&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Quest lukus &#039;&#039;&#039; [[User:Mernits|Mernits]] 16:04, 12 February 2013 (EET)&lt;br /&gt;
&lt;br /&gt;
=Quest 3 Lukus - tehtud=&lt;br /&gt;
&lt;br /&gt;
Quest on tehtud!&lt;br /&gt;
&lt;br /&gt;
Loo skript, mis kontrollib kas kasutajal, kes skripti käivitas on õigus kirjutada etteantud kataloogi või mitte.&lt;br /&gt;
&lt;br /&gt;
Kataloogi nimi antakse ette käsurealt.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Skript tagastab 0, kui õigus on olemas.&lt;br /&gt;
&lt;br /&gt;
Skript tagastab 1, kui õigust pole või kataloogi pole (näiteks on tegu failiga)&lt;br /&gt;
&lt;br /&gt;
Chris Liebert A22 https://wiki.itcollege.ee/index.php/User:Cliebert&lt;br /&gt;
&lt;br /&gt;
Quest tehtud [[User:Mernits|Mernits]] 17:50, 3 March 2013 (EET)&lt;br /&gt;
&lt;br /&gt;
Pythonis tehtud:Dineta Mahno A21 https://wiki.itcollege.ee/index.php/User:Dmahno&lt;br /&gt;
&lt;br /&gt;
=Quest 4 - Quest lukus - tehtud!=&lt;br /&gt;
&lt;br /&gt;
Quest on tehtud bashis! [[User:Mernits|Mernits]] 22:31, 3 March 2013 (EET)&lt;br /&gt;
Python lahenduse võib veel saata...&lt;br /&gt;
&lt;br /&gt;
Luua skript, mis kontrollib, kas etteantud kasutaja kodukataloogis on faile või katalooge, mis ei kuulu kasutajale.&lt;br /&gt;
&lt;br /&gt;
Leitud failid kirjutatakse väljundisse.&lt;br /&gt;
&lt;br /&gt;
Skript tagastab 0, kui täitmine õnnestus&lt;br /&gt;
&lt;br /&gt;
Skript tagastab 1, kui kasutajat pole&lt;br /&gt;
&lt;br /&gt;
Skript tagastab 2, kui kasutajal pole kodukausta&lt;br /&gt;
&lt;br /&gt;
Muude vigade korral tagastab 3.&lt;br /&gt;
&lt;br /&gt;
Chris Liebert A22 https://wiki.itcollege.ee/index.php/User:Cliebert&lt;br /&gt;
&lt;br /&gt;
Dineta Mahno  A21 https://wiki.itcollege.ee/index.php/User:Dmahno&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Quest 5 - LUKUS! =&lt;br /&gt;
&lt;br /&gt;
Teha skript, mis teeb üks kord sekundis ekraanitõmmise&lt;br /&gt;
&lt;br /&gt;
Skript teeb kogu ekraanist pilditõmmise üks kord sekundis ja nummerdab failid. DATE-1.png DATE-2.png jne&lt;br /&gt;
&lt;br /&gt;
Võib teha pythonis või bashis.&lt;br /&gt;
&lt;br /&gt;
Pildivorming võib olla jpg, png või muu laialt levinud vorming.&lt;br /&gt;
&lt;br /&gt;
Esimesed 3 erinevat lahendust saavad 10p!&lt;br /&gt;
&lt;br /&gt;
Questi võib teha nii bashis, kui pythonis&lt;br /&gt;
&lt;br /&gt;
Quest on lahti alates 09.aprill.2013&lt;br /&gt;
&lt;br /&gt;
Frederick Rang A22 https://wiki.itcollege.ee/index.php/User:Frang#Skriptimiskeeled (bash)&lt;br /&gt;
&lt;br /&gt;
Frederick Rang A22 https://wiki.itcollege.ee/index.php/User:Frang#Skriptimiskeeled (python)&lt;br /&gt;
&lt;br /&gt;
Dineta Mahno A21 https://wiki.itcollege.ee/index.php/User:Dmahno#Python_quest5 (python)&lt;/div&gt;</summary>
		<author><name>Mmust</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Bash_quests_2013&amp;diff=64423</id>
		<title>Bash quests 2013</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Bash_quests_2013&amp;diff=64423"/>
		<updated>2013-09-29T11:28:48Z</updated>

		<summary type="html">&lt;p&gt;Mmust: /* Kolmas */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Sissejuhatus=&lt;br /&gt;
&lt;br /&gt;
Bash quests annab võimaluse teha bash skriptimise kodutööd ka neile, kellel teemat pole. Skript tuleb panna Tudengi enda wiki lehele. Punktid saab esimene, kes antud questi täies mahus valmis sai. Kui lahendus pole rahuldav saab punktid järgmine OK lahenduse looja.&lt;br /&gt;
Kui quest valmis, siis pane link questi juurde (nagu näites)&lt;br /&gt;
Queste tuleb pidevalt juurde.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Tunnis lahendatud näited=&lt;br /&gt;
[[User:Mernits|Mernits]] 14:26, 29 September 2013 (EEST)&lt;br /&gt;
==Esimene==&lt;br /&gt;
Teha skript, mis küsib kasutajalt kataloogi nime ja siis väljastab kõik (tavalised) failid/kaustad, mis seal kataloogis asuvad 3p&lt;br /&gt;
&lt;br /&gt;
==Teine==&lt;br /&gt;
#Teha skript, mis küsib kasutajalt kataloogi nime ja siis väljastab kõik (tavalised) failid/kaustad, mis seal kataloogis asuvad 3p&lt;br /&gt;
&lt;br /&gt;
==Kolmas==&lt;br /&gt;
#Teha skript, mis küsib kasutajalt kataloogi nime ja siis väljastab kõik (tavalised) failid/kaustad, mis seal kataloogis asuvad 3p&lt;br /&gt;
&lt;br /&gt;
[[User:Mmust|Mmust]] 14:28, 29 September 2013 (EEST)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
echo &amp;quot;Sisesta kataloogi nime &amp;quot;&lt;br /&gt;
read NIMI&lt;br /&gt;
$NIMI&lt;br /&gt;
cd $NIMI&lt;br /&gt;
ls -la&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Quest 0 - Näide=&lt;br /&gt;
Teha skript, mis ei tee midagi asjalikku, kuid väljasta sõna BÖÖÖ&lt;br /&gt;
&lt;br /&gt;
Lahendus: [[User:Mernits]]&lt;br /&gt;
&lt;br /&gt;
Quest lukus (tehtud) [[User:Mernits|Mernits]] 15:04, 24 January 2013 (EET)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Quest 1 - PATH (Quest lukus!) =&lt;br /&gt;
&lt;br /&gt;
Tee skript, mis lisab käsurealt etteantud kataloogi kasutaja PATH muutujasse, kui kataloog eksisteerib.&lt;br /&gt;
&lt;br /&gt;
Tagastab 0 juhul kui kõik õnnestus.&lt;br /&gt;
&lt;br /&gt;
Tagastab 1 kui kataloogi ei leitud.&lt;br /&gt;
&lt;br /&gt;
Tagastab 2 kui argumentide arv ei klapi.&lt;br /&gt;
&lt;br /&gt;
NB: tagastamine pole ekraanile väljastamine ja argumendi käsurealt ette andmine ei tähenda selle küsimist kasutajalt, näiteks read abil peale skirpi käivitamist. Vaata õppematerjali.&lt;br /&gt;
&lt;br /&gt;
Piia Ploovits A22 https://wiki.itcollege.ee/index.php/User:Pploovit&lt;br /&gt;
&lt;br /&gt;
=Quest 2 - Leiab kas masinas on etteantud pordid lahti või mitte (Quest lukus)=&lt;br /&gt;
&lt;br /&gt;
Teha skript, mis saab argumendina failinime ja kontrollitava masina IP aadressi, ning loeb failist portide nimekirja.&lt;br /&gt;
&lt;br /&gt;
Skript tagastab 0, kui kõik nimekirjas olevad pordid on lahti ja teised pordid kinni&lt;br /&gt;
&lt;br /&gt;
Skript tagastab 1, kui vajalikud pordid on lahti, kuid ka midagi muud on lahti&lt;br /&gt;
&lt;br /&gt;
Skript tagastab 2, kui 1-n vajalikest portidest on kinni&lt;br /&gt;
&lt;br /&gt;
Skript tagastab 3, kui argumentide arv ei sobi&lt;br /&gt;
&lt;br /&gt;
Skript tagastab 4, kui IP aadress pole sobiv&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Kontrollib porte vahemikus 1-10000&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
NB, see sobib ka pythoni kodutööks või arvestusena (kui saadad unikaalse lahenduse enne arvestuse päeva)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Meelis Kurnikov AK31: http://enos.itcollege.ee/~mekurnik/skriptimiskeeled/ports.py&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Priit Lume AK51: https://wiki.itcollege.ee/index.php/User:Plume&lt;br /&gt;
&lt;br /&gt;
Lahendus bashis. Andres Elliku A21: https://wiki.itcollege.ee/index.php/User:Aelliku&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Quest lukus &#039;&#039;&#039; [[User:Mernits|Mernits]] 16:04, 12 February 2013 (EET)&lt;br /&gt;
&lt;br /&gt;
=Quest 3 Lukus - tehtud=&lt;br /&gt;
&lt;br /&gt;
Quest on tehtud!&lt;br /&gt;
&lt;br /&gt;
Loo skript, mis kontrollib kas kasutajal, kes skripti käivitas on õigus kirjutada etteantud kataloogi või mitte.&lt;br /&gt;
&lt;br /&gt;
Kataloogi nimi antakse ette käsurealt.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Skript tagastab 0, kui õigus on olemas.&lt;br /&gt;
&lt;br /&gt;
Skript tagastab 1, kui õigust pole või kataloogi pole (näiteks on tegu failiga)&lt;br /&gt;
&lt;br /&gt;
Chris Liebert A22 https://wiki.itcollege.ee/index.php/User:Cliebert&lt;br /&gt;
&lt;br /&gt;
Quest tehtud [[User:Mernits|Mernits]] 17:50, 3 March 2013 (EET)&lt;br /&gt;
&lt;br /&gt;
Pythonis tehtud:Dineta Mahno A21 https://wiki.itcollege.ee/index.php/User:Dmahno&lt;br /&gt;
&lt;br /&gt;
=Quest 4 - Quest lukus - tehtud!=&lt;br /&gt;
&lt;br /&gt;
Quest on tehtud bashis! [[User:Mernits|Mernits]] 22:31, 3 March 2013 (EET)&lt;br /&gt;
Python lahenduse võib veel saata...&lt;br /&gt;
&lt;br /&gt;
Luua skript, mis kontrollib, kas etteantud kasutaja kodukataloogis on faile või katalooge, mis ei kuulu kasutajale.&lt;br /&gt;
&lt;br /&gt;
Leitud failid kirjutatakse väljundisse.&lt;br /&gt;
&lt;br /&gt;
Skript tagastab 0, kui täitmine õnnestus&lt;br /&gt;
&lt;br /&gt;
Skript tagastab 1, kui kasutajat pole&lt;br /&gt;
&lt;br /&gt;
Skript tagastab 2, kui kasutajal pole kodukausta&lt;br /&gt;
&lt;br /&gt;
Muude vigade korral tagastab 3.&lt;br /&gt;
&lt;br /&gt;
Chris Liebert A22 https://wiki.itcollege.ee/index.php/User:Cliebert&lt;br /&gt;
&lt;br /&gt;
Dineta Mahno  A21 https://wiki.itcollege.ee/index.php/User:Dmahno&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Quest 5 - LUKUS! =&lt;br /&gt;
&lt;br /&gt;
Teha skript, mis teeb üks kord sekundis ekraanitõmmise&lt;br /&gt;
&lt;br /&gt;
Skript teeb kogu ekraanist pilditõmmise üks kord sekundis ja nummerdab failid. DATE-1.png DATE-2.png jne&lt;br /&gt;
&lt;br /&gt;
Võib teha pythonis või bashis.&lt;br /&gt;
&lt;br /&gt;
Pildivorming võib olla jpg, png või muu laialt levinud vorming.&lt;br /&gt;
&lt;br /&gt;
Esimesed 3 erinevat lahendust saavad 10p!&lt;br /&gt;
&lt;br /&gt;
Questi võib teha nii bashis, kui pythonis&lt;br /&gt;
&lt;br /&gt;
Quest on lahti alates 09.aprill.2013&lt;br /&gt;
&lt;br /&gt;
Frederick Rang A22 https://wiki.itcollege.ee/index.php/User:Frang#Skriptimiskeeled (bash)&lt;br /&gt;
&lt;br /&gt;
Frederick Rang A22 https://wiki.itcollege.ee/index.php/User:Frang#Skriptimiskeeled (python)&lt;br /&gt;
&lt;br /&gt;
Dineta Mahno A21 https://wiki.itcollege.ee/index.php/User:Dmahno#Python_quest5 (python)&lt;/div&gt;</summary>
		<author><name>Mmust</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Bash_quests_2013&amp;diff=64422</id>
		<title>Bash quests 2013</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Bash_quests_2013&amp;diff=64422"/>
		<updated>2013-09-29T11:27:23Z</updated>

		<summary type="html">&lt;p&gt;Mmust: /* Kolmas */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Sissejuhatus=&lt;br /&gt;
&lt;br /&gt;
Bash quests annab võimaluse teha bash skriptimise kodutööd ka neile, kellel teemat pole. Skript tuleb panna Tudengi enda wiki lehele. Punktid saab esimene, kes antud questi täies mahus valmis sai. Kui lahendus pole rahuldav saab punktid järgmine OK lahenduse looja.&lt;br /&gt;
Kui quest valmis, siis pane link questi juurde (nagu näites)&lt;br /&gt;
Queste tuleb pidevalt juurde.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Tunnis lahendatud näited=&lt;br /&gt;
[[User:Mernits|Mernits]] 14:26, 29 September 2013 (EEST)&lt;br /&gt;
==Esimene==&lt;br /&gt;
Teha skript, mis küsib kasutajalt kataloogi nime ja siis väljastab kõik (tavalised) failid/kaustad, mis seal kataloogis asuvad 3p&lt;br /&gt;
&lt;br /&gt;
==Teine==&lt;br /&gt;
#Teha skript, mis küsib kasutajalt kataloogi nime ja siis väljastab kõik (tavalised) failid/kaustad, mis seal kataloogis asuvad 3p&lt;br /&gt;
&lt;br /&gt;
==Kolmas==&lt;br /&gt;
#Teha skript, mis küsib kasutajalt kataloogi nime ja siis väljastab kõik (tavalised) failid/kaustad, mis seal kataloogis asuvad 3p&lt;br /&gt;
&lt;br /&gt;
[[User:Mmust|Mmust]] 14:27, 29 September 2013 (EEST)&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
echo &amp;quot;Sisesta kataloogi nime &amp;quot;&lt;br /&gt;
read NIMI&lt;br /&gt;
$NIMI&lt;br /&gt;
cd $NIMI&lt;br /&gt;
ls -la&lt;br /&gt;
&lt;br /&gt;
=Quest 0 - Näide=&lt;br /&gt;
Teha skript, mis ei tee midagi asjalikku, kuid väljasta sõna BÖÖÖ&lt;br /&gt;
&lt;br /&gt;
Lahendus: [[User:Mernits]]&lt;br /&gt;
&lt;br /&gt;
Quest lukus (tehtud) [[User:Mernits|Mernits]] 15:04, 24 January 2013 (EET)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Quest 1 - PATH (Quest lukus!) =&lt;br /&gt;
&lt;br /&gt;
Tee skript, mis lisab käsurealt etteantud kataloogi kasutaja PATH muutujasse, kui kataloog eksisteerib.&lt;br /&gt;
&lt;br /&gt;
Tagastab 0 juhul kui kõik õnnestus.&lt;br /&gt;
&lt;br /&gt;
Tagastab 1 kui kataloogi ei leitud.&lt;br /&gt;
&lt;br /&gt;
Tagastab 2 kui argumentide arv ei klapi.&lt;br /&gt;
&lt;br /&gt;
NB: tagastamine pole ekraanile väljastamine ja argumendi käsurealt ette andmine ei tähenda selle küsimist kasutajalt, näiteks read abil peale skirpi käivitamist. Vaata õppematerjali.&lt;br /&gt;
&lt;br /&gt;
Piia Ploovits A22 https://wiki.itcollege.ee/index.php/User:Pploovit&lt;br /&gt;
&lt;br /&gt;
=Quest 2 - Leiab kas masinas on etteantud pordid lahti või mitte (Quest lukus)=&lt;br /&gt;
&lt;br /&gt;
Teha skript, mis saab argumendina failinime ja kontrollitava masina IP aadressi, ning loeb failist portide nimekirja.&lt;br /&gt;
&lt;br /&gt;
Skript tagastab 0, kui kõik nimekirjas olevad pordid on lahti ja teised pordid kinni&lt;br /&gt;
&lt;br /&gt;
Skript tagastab 1, kui vajalikud pordid on lahti, kuid ka midagi muud on lahti&lt;br /&gt;
&lt;br /&gt;
Skript tagastab 2, kui 1-n vajalikest portidest on kinni&lt;br /&gt;
&lt;br /&gt;
Skript tagastab 3, kui argumentide arv ei sobi&lt;br /&gt;
&lt;br /&gt;
Skript tagastab 4, kui IP aadress pole sobiv&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Kontrollib porte vahemikus 1-10000&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
NB, see sobib ka pythoni kodutööks või arvestusena (kui saadad unikaalse lahenduse enne arvestuse päeva)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Meelis Kurnikov AK31: http://enos.itcollege.ee/~mekurnik/skriptimiskeeled/ports.py&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Priit Lume AK51: https://wiki.itcollege.ee/index.php/User:Plume&lt;br /&gt;
&lt;br /&gt;
Lahendus bashis. Andres Elliku A21: https://wiki.itcollege.ee/index.php/User:Aelliku&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Quest lukus &#039;&#039;&#039; [[User:Mernits|Mernits]] 16:04, 12 February 2013 (EET)&lt;br /&gt;
&lt;br /&gt;
=Quest 3 Lukus - tehtud=&lt;br /&gt;
&lt;br /&gt;
Quest on tehtud!&lt;br /&gt;
&lt;br /&gt;
Loo skript, mis kontrollib kas kasutajal, kes skripti käivitas on õigus kirjutada etteantud kataloogi või mitte.&lt;br /&gt;
&lt;br /&gt;
Kataloogi nimi antakse ette käsurealt.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Skript tagastab 0, kui õigus on olemas.&lt;br /&gt;
&lt;br /&gt;
Skript tagastab 1, kui õigust pole või kataloogi pole (näiteks on tegu failiga)&lt;br /&gt;
&lt;br /&gt;
Chris Liebert A22 https://wiki.itcollege.ee/index.php/User:Cliebert&lt;br /&gt;
&lt;br /&gt;
Quest tehtud [[User:Mernits|Mernits]] 17:50, 3 March 2013 (EET)&lt;br /&gt;
&lt;br /&gt;
Pythonis tehtud:Dineta Mahno A21 https://wiki.itcollege.ee/index.php/User:Dmahno&lt;br /&gt;
&lt;br /&gt;
=Quest 4 - Quest lukus - tehtud!=&lt;br /&gt;
&lt;br /&gt;
Quest on tehtud bashis! [[User:Mernits|Mernits]] 22:31, 3 March 2013 (EET)&lt;br /&gt;
Python lahenduse võib veel saata...&lt;br /&gt;
&lt;br /&gt;
Luua skript, mis kontrollib, kas etteantud kasutaja kodukataloogis on faile või katalooge, mis ei kuulu kasutajale.&lt;br /&gt;
&lt;br /&gt;
Leitud failid kirjutatakse väljundisse.&lt;br /&gt;
&lt;br /&gt;
Skript tagastab 0, kui täitmine õnnestus&lt;br /&gt;
&lt;br /&gt;
Skript tagastab 1, kui kasutajat pole&lt;br /&gt;
&lt;br /&gt;
Skript tagastab 2, kui kasutajal pole kodukausta&lt;br /&gt;
&lt;br /&gt;
Muude vigade korral tagastab 3.&lt;br /&gt;
&lt;br /&gt;
Chris Liebert A22 https://wiki.itcollege.ee/index.php/User:Cliebert&lt;br /&gt;
&lt;br /&gt;
Dineta Mahno  A21 https://wiki.itcollege.ee/index.php/User:Dmahno&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Quest 5 - LUKUS! =&lt;br /&gt;
&lt;br /&gt;
Teha skript, mis teeb üks kord sekundis ekraanitõmmise&lt;br /&gt;
&lt;br /&gt;
Skript teeb kogu ekraanist pilditõmmise üks kord sekundis ja nummerdab failid. DATE-1.png DATE-2.png jne&lt;br /&gt;
&lt;br /&gt;
Võib teha pythonis või bashis.&lt;br /&gt;
&lt;br /&gt;
Pildivorming võib olla jpg, png või muu laialt levinud vorming.&lt;br /&gt;
&lt;br /&gt;
Esimesed 3 erinevat lahendust saavad 10p!&lt;br /&gt;
&lt;br /&gt;
Questi võib teha nii bashis, kui pythonis&lt;br /&gt;
&lt;br /&gt;
Quest on lahti alates 09.aprill.2013&lt;br /&gt;
&lt;br /&gt;
Frederick Rang A22 https://wiki.itcollege.ee/index.php/User:Frang#Skriptimiskeeled (bash)&lt;br /&gt;
&lt;br /&gt;
Frederick Rang A22 https://wiki.itcollege.ee/index.php/User:Frang#Skriptimiskeeled (python)&lt;br /&gt;
&lt;br /&gt;
Dineta Mahno A21 https://wiki.itcollege.ee/index.php/User:Dmahno#Python_quest5 (python)&lt;/div&gt;</summary>
		<author><name>Mmust</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Ucarp&amp;diff=59239</id>
		<title>Ucarp</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Ucarp&amp;diff=59239"/>
		<updated>2012-12-13T07:49:38Z</updated>

		<summary type="html">&lt;p&gt;Mmust: /* Eel Seadistamine */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=UCARP/CARP=&lt;br /&gt;
Autor: Marek Must&amp;lt;br&amp;gt; 07.12.2012&lt;br /&gt;
Rühm: AK21&lt;br /&gt;
Esitamise kuupäev: &lt;br /&gt;
&lt;br /&gt;
==Sissejuhatus==&lt;br /&gt;
Carp (inglise k. &amp;quot;Common Address Redundancy Protocol&amp;quot;) on protokoll, mis lubab samadel serveritel samas subnetis jagada ühte IP aadressi.&lt;br /&gt;
&lt;br /&gt;
Ucarp on tarkvara, mis võimaldab sul vähemalt 2 serveri olemasolul jagada neile 1 virtuaalne IP aadress, mille tulemusega saadakse kluster.&lt;br /&gt;
Ucarp ei ole väga peen lahendus ja sellega tuleb alati arvestada.&lt;br /&gt;
&lt;br /&gt;
===Ucarpi tugevus===&lt;br /&gt;
   * Lihtsus (ülesse seadmine käib lihtsalt)&lt;br /&gt;
   * Väike serveri ressursside kasutamine&lt;br /&gt;
   * Pole vaja lisa võrgu otsasid (alati on kena, kuid see on täiesti teine teema)&lt;br /&gt;
   * Krüptograafiliselt signeeritud teated. (Ucarpil on seadistatud parool, öeldes lihtsalt)&lt;br /&gt;
   * Suudab töödata koos mitme operatsiooni süsteemiga (inglise k. interoperability )&lt;br /&gt;
&lt;br /&gt;
===Tööpühimõte===&lt;br /&gt;
&lt;br /&gt;
Ucrap töötab lihtsalt:&lt;br /&gt;
 1.) Kui &amp;quot;Server 1&amp;quot; on üleval, siis sellele on määratud virtuaalne IP aadress.&lt;br /&gt;
 2.) Kui &amp;quot;Server 1&amp;quot; on maas ja &amp;quot;Server 2&amp;quot; on primaarne (inglise k. primary), siis on määratud &amp;quot;Server2&amp;quot;-le virtuaalne IP aadress, eeldades, et &amp;quot;Server 2&amp;quot; töötab.&lt;br /&gt;
&lt;br /&gt;
===Ucarpi Nõrkus===&lt;br /&gt;
   * Ainult IP põhine kluster&lt;br /&gt;
   * Seadeid, teenuseid üle ei kanta, kui &amp;quot;Server 2&amp;quot; saab peamiseks serveriks.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Tsiteerides targemaid: ucarp on võrreldes keepalived või heartbeat tarkvaraga tagasihoidlikemate omadustega, kuid mõnel juhul võib just see ollagi eeliseks&lt;br /&gt;
&lt;br /&gt;
==UCARP install==&lt;br /&gt;
&lt;br /&gt;
Install käib lihtsalt:&lt;br /&gt;
&amp;lt;pre&amp;gt; &lt;br /&gt;
apt-get install ucarp &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Selle pannakse programmid peale. mitte unustada, et tarkvara tuleb installida mõlemale serverile!!&lt;br /&gt;
&lt;br /&gt;
==Eel Seadistamine==&lt;br /&gt;
&lt;br /&gt;
* 1.) Teil on installeeritud 2 serverit, kas siis virtuaalsed või mitte.&lt;br /&gt;
* 2.) Ubuntu tavaline install on täiesti piisav.&lt;br /&gt;
* 3.) Vmware või Virtualboxi installi kasutades on elu natukene lihtsam (seda kasutan ka siin hetkel)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Kasutates  Ubuntu kiir installi ja lasite alguses IP anda endale DHCP-l, milleks minu juhul on: 192.168.101.138&lt;br /&gt;
&lt;br /&gt;
Seda saab vaadata:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;PRE&amp;gt;&lt;br /&gt;
ifconfig&lt;br /&gt;
&amp;lt;/PRE&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tulemüüri(inglise k. Gateway) saamine on natuke keerulisem, sest DHCP-ga seda ei ole võimalik päris &amp;quot;tavaliselt&amp;quot; ( ifconfig) näha.&lt;br /&gt;
Tulemüüri nägemiseks on olemas mitu võimalust, kuid mulle meeldib kasutada traceroutei. Tava installis seda paketti peal ei ole ja seega tuleks see paigaldada&lt;br /&gt;
&lt;br /&gt;
&amp;lt;PRE&amp;gt;&lt;br /&gt;
apt-get install traceroute&lt;br /&gt;
&amp;lt;/PRE&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kasutades traceroutei saame:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
traceroute www.neti.ee&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
ja esimene tulemus annab meile juba teada, meie DHCP aadressi:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@ubuntu:~# traceroute www.neti.ee&lt;br /&gt;
traceroute to www.neti.ee (195.50.209.245), 30 hops max, 60 byte packets&lt;br /&gt;
 1  192.168.101.2 (192.168.101.2)  0.139 ms  0.103 ms  0.076 ms^C&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pärast esimest rida võib traceroutei programmist CTRL-C välja minna, pole põhjust edasi oodata. Info olemas.&lt;br /&gt;
&lt;br /&gt;
Meie IP ja tulemüür peaksid nägema välja hetkel sellised:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
IP: 192.168.101.138&lt;br /&gt;
GW: 192.168.110.2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Teie praegune olukord peaks olema midagi sellist:&lt;br /&gt;
&lt;br /&gt;
Server 1&lt;br /&gt;
&lt;br /&gt;
Kasutame käsku ifconfig&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 ifconfig &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
eth0      Link encap:Ethernet  HWaddr 00:0c:29:6f:d7:c4&lt;br /&gt;
          inet addr:192.168.101.138  Bcast:192.168.101.255  Mask:255.255.255.0&lt;br /&gt;
          inet6 addr: fe80::20c:29ff:fe6f:d7c4/64 Scope:Link&lt;br /&gt;
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1&lt;br /&gt;
          RX packets:8377 errors:0 dropped:0 overruns:0 frame:0&lt;br /&gt;
          TX packets:5937 errors:0 dropped:0 overruns:0 carrier:0&lt;br /&gt;
          collisions:0 txqueuelen:1000&lt;br /&gt;
          RX bytes:9556394 (9.5 MB)  TX bytes:426352 (426.3 KB)&lt;br /&gt;
&lt;br /&gt;
lo        Link encap:Local Loopback&lt;br /&gt;
          inet addr:127.0.0.1  Mask:255.0.0.0&lt;br /&gt;
          inet6 addr: ::1/128 Scope:Host&lt;br /&gt;
          UP LOOPBACK RUNNING  MTU:16436  Metric:1&lt;br /&gt;
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0&lt;br /&gt;
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0&lt;br /&gt;
          collisions:0 txqueuelen:0&lt;br /&gt;
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Server 2&lt;br /&gt;
&lt;br /&gt;
Kas siin kasutame sama käsku, mis eelmise server juures:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
eth0      Link encap:Ethernet  HWaddr 00:0c:29:99:51:66&lt;br /&gt;
          inet addr:192.168.101.140  Bcast:192.168.101.255  Mask:255.255.255.0&lt;br /&gt;
          inet6 addr: fe80::20c:29ff:fe99:5166/64 Scope:Link&lt;br /&gt;
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1&lt;br /&gt;
          RX packets:7586 errors:0 dropped:0 overruns:0 frame:0&lt;br /&gt;
          TX packets:4140 errors:0 dropped:0 overruns:0 carrier:0&lt;br /&gt;
          collisions:0 txqueuelen:1000&lt;br /&gt;
          RX bytes:9481944 (9.4 MB)  TX bytes:253201 (253.2 KB)&lt;br /&gt;
&lt;br /&gt;
lo        Link encap:Local Loopback&lt;br /&gt;
          inet addr:127.0.0.1  Mask:255.0.0.0&lt;br /&gt;
          inet6 addr: ::1/128 Scope:Host&lt;br /&gt;
          UP LOOPBACK RUNNING  MTU:16436  Metric:1&lt;br /&gt;
          RX packets:1 errors:0 dropped:0 overruns:0 frame:0&lt;br /&gt;
          TX packets:1 errors:0 dropped:0 overruns:0 carrier:0&lt;br /&gt;
          collisions:0 txqueuelen:0&lt;br /&gt;
          RX bytes:112 (112.0 B)  TX bytes:112 (112.0 B)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Ucarp Seadistammine==&lt;br /&gt;
&lt;br /&gt;
==Server 1==&lt;br /&gt;
&amp;lt;pre&amp;gt; vim /etc/network/interfaces &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Peaks avanema selline pilt:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# This file describes the network interfaces available on your system&lt;br /&gt;
# and how to activate them. For more information, see interfaces(5).&lt;br /&gt;
&lt;br /&gt;
# The loopback network interface&lt;br /&gt;
auto lo&lt;br /&gt;
iface lo inet loopback&lt;br /&gt;
&lt;br /&gt;
# The primary network interface&lt;br /&gt;
auto eth0&lt;br /&gt;
iface eth0 inet dhcp&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nüüd siis muudame selle ümber:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
root@ubuntu:~# vim /etc/network/interfaces&lt;br /&gt;
# This file describes the network interfaces available on your system&lt;br /&gt;
# and how to activate them. For more information, see interfaces(5).&lt;br /&gt;
&lt;br /&gt;
# The loopback network interface&lt;br /&gt;
auto lo&lt;br /&gt;
iface lo inet loopback&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# The primary network interface&lt;br /&gt;
auto eth0&lt;br /&gt;
iface eth0 inet static&lt;br /&gt;
        ################################&lt;br /&gt;
        # standard network configuration&lt;br /&gt;
        ################################&lt;br /&gt;
        address 192.168.101.138  # meie IP, mis panime alguses&lt;br /&gt;
        netmask 255.255.255.0    # netmask, selle saab ifconfig käsuga&lt;br /&gt;
        gateway 192.168.101.2    # traceroute aitas siin&lt;br /&gt;
        network 192.168.101.0    # natuke tuletamist..&lt;br /&gt;
        broadcast 192.168.101.255 #samuti ifconfig aitab&lt;br /&gt;
&lt;br /&gt;
        ################################&lt;br /&gt;
        # ucarp configuration  #########&lt;br /&gt;
        ################################&lt;br /&gt;
        # vid : The ID of the virtual server [1-255]&lt;br /&gt;
        ucarp-vid 1&lt;br /&gt;
        # vip : Virtuaalne IP aadress&lt;br /&gt;
        ucarp-vip 192.168.101.139&lt;br /&gt;
        # password : Mõlemal pool sama!!!!&lt;br /&gt;
        ucarp-password secret&lt;br /&gt;
        # advskew : Advertisement skew [1-255] # tähendab maakeels seda, et me ei reklaamime ennast koguaeg.&lt;br /&gt;
&lt;br /&gt;
        ucarp-advskew 1&lt;br /&gt;
        # advbase &lt;br /&gt;
        ucarp-advbase 1&lt;br /&gt;
        &lt;br /&gt;
        #advskew ja advbase on asjad millega kontrollitakse kui tihedalt brodcastitakse.&lt;br /&gt;
        &lt;br /&gt;
        # Kontroll, kas oleme peamine server?&lt;br /&gt;
        ucarp-master yes&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# CARP võrgu addressi kirjutame siia lihtsalt&lt;br /&gt;
iface eth0:ucarp inet static&lt;br /&gt;
        address 192.168.101.139&lt;br /&gt;
        netmask 255.255.255.0&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kindlasti tuleb teha võrgule restart, et kõik seaded võetakse kasutusse.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/etc/init.d/networking restart &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nüüd on võrgu seaded serveri poolt omaks võetud (juhul kui ei tekkkinud vigu).&lt;br /&gt;
&lt;br /&gt;
Nüüd kasutame meile juba tuttavat käsku ifconfig, et vaadata, kas kõik on hästi.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ifconfig&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Peaks nägema välja midagi sellist:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
eth0      Link encap:Ethernet  HWaddr 00:0c:29:6f:d7:c4&lt;br /&gt;
          inet addr:192.168.101.138  Bcast:192.168.101.255  Mask:255.255.255.0&lt;br /&gt;
          inet6 addr: fe80::20c:29ff:fe6f:d7c4/64 Scope:Link&lt;br /&gt;
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1&lt;br /&gt;
          RX packets:1195 errors:0 dropped:0 overruns:0 frame:0&lt;br /&gt;
          TX packets:287 errors:0 dropped:0 overruns:0 carrier:0&lt;br /&gt;
          collisions:0 txqueuelen:1000&lt;br /&gt;
          RX bytes:88166 (88.1 KB)  TX bytes:29985 (29.9 KB)&lt;br /&gt;
&lt;br /&gt;
eth0:ucarp Link encap:Ethernet  HWaddr 00:0c:29:6f:d7:c4&lt;br /&gt;
          inet addr:192.168.101.139  Bcast:192.168.101.255  Mask:255.255.255.0&lt;br /&gt;
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1&lt;br /&gt;
&lt;br /&gt;
lo        Link encap:Local Loopback&lt;br /&gt;
          inet addr:127.0.0.1  Mask:255.0.0.0&lt;br /&gt;
          inet6 addr: ::1/128 Scope:Host&lt;br /&gt;
          UP LOOPBACK RUNNING  MTU:16436  Metric:1&lt;br /&gt;
          RX packets:36 errors:0 dropped:0 overruns:0 frame:0&lt;br /&gt;
          TX packets:36 errors:0 dropped:0 overruns:0 carrier:0&lt;br /&gt;
          collisions:0 txqueuelen:0&lt;br /&gt;
          RX bytes:2712 (2.7 KB)  TX bytes:2712 (2.7 KB)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
See annab meile selguse, et Server1s on Ucarp kasutuses!&lt;br /&gt;
&lt;br /&gt;
==Server 2==&lt;br /&gt;
&lt;br /&gt;
Nüüd tuleks teha samasugune muutus ka server 2s.&lt;br /&gt;
Olles laisad, siis saame nüüd kopeerida selle ka teise serverisse, pärast teeme muudatused:&lt;br /&gt;
Paar asja on siin väga tähtsad:&lt;br /&gt;
&lt;br /&gt;
 1.) ucarp-advskew 100 # tähendab maakeeles seda, et me ei reklaami ennast nii tihedalt.&lt;br /&gt;
 2.) ucarp-master no # Server ka ei ole master!&lt;br /&gt;
 3.) IP address peab olema ikka selle serveri oma (192.168.101.140). Muud asjad samad&lt;br /&gt;
 4.) virtuaalsed IP-d peaksid olema need, mis eelmisel serveril.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# This file describes the network interfaces available on your system&lt;br /&gt;
# and how to activate them. For more information, see interfaces(5).&lt;br /&gt;
&lt;br /&gt;
# The loopback network interface&lt;br /&gt;
auto lo&lt;br /&gt;
iface lo inet loopback&lt;br /&gt;
&lt;br /&gt;
# The primary network interface&lt;br /&gt;
auto eth0&lt;br /&gt;
iface eth0 inet static&lt;br /&gt;
        ################################&lt;br /&gt;
        # standard network configuration&lt;br /&gt;
        ################################&lt;br /&gt;
        address 192.168.101.140&lt;br /&gt;
        netmask 255.255.255.0&lt;br /&gt;
        gateway 192.168.101.2&lt;br /&gt;
        network 192.168.101.0&lt;br /&gt;
        broadcast 192.168.101.255&lt;br /&gt;
&lt;br /&gt;
        ################################&lt;br /&gt;
        # ucarp configuration&lt;br /&gt;
        ################################&lt;br /&gt;
        # vid : The ID of the virtual server [1-255]&lt;br /&gt;
        ucarp-vid 1&lt;br /&gt;
        # vip : Virtuaalne IP aadress&lt;br /&gt;
        ucarp-vip 192.168.101.139&lt;br /&gt;
        # password : A password used to encrypt Carp communications&lt;br /&gt;
        ucarp-password secret&lt;br /&gt;
        # advskew : Advertisement skew [1-255] &lt;br /&gt;
        ucarp-advskew 100&lt;br /&gt;
        # advbase : Interval in seconds that advertisements will occur&lt;br /&gt;
        ucarp-advbase 1&lt;br /&gt;
        # master : nüüd me enam ei ole master. Seega määrame ära &amp;quot;no&amp;quot;&lt;br /&gt;
        ucarp-master no&lt;br /&gt;
&lt;br /&gt;
# The carp network interface, on top of eth1&lt;br /&gt;
iface eth0:ucarp inet static&lt;br /&gt;
        address 192.168.101.139&lt;br /&gt;
        netmask 255.255.255.0&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nüüd kui vastavad muudatused on sees, siis teeme ka võrgule restarti&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/etc/init.d/networking restart&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Kui märkasid, siis tegelikult midagi ei juhtunud, kuna oleme mitte masterid!&lt;br /&gt;
Kõik peaks nägema välja nagu endine:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
eth0      Link encap:Ethernet  HWaddr 00:0c:29:99:51:66&lt;br /&gt;
          inet addr:192.168.101.140  Bcast:192.168.101.255  Mask:255.255.255.0&lt;br /&gt;
          inet6 addr: fe80::20c:29ff:fe99:5166/64 Scope:Link&lt;br /&gt;
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1&lt;br /&gt;
          RX packets:213 errors:0 dropped:0 overruns:0 frame:0&lt;br /&gt;
          TX packets:99 errors:0 dropped:0 overruns:0 carrier:0&lt;br /&gt;
          collisions:0 txqueuelen:1000&lt;br /&gt;
          RX bytes:17498 (17.4 KB)  TX bytes:12669 (12.6 KB)&lt;br /&gt;
&lt;br /&gt;
lo        Link encap:Local Loopback&lt;br /&gt;
          inet addr:127.0.0.1  Mask:255.0.0.0&lt;br /&gt;
          inet6 addr: ::1/128 Scope:Host&lt;br /&gt;
          UP LOOPBACK RUNNING  MTU:16436  Metric:1&lt;br /&gt;
          RX packets:18 errors:0 dropped:0 overruns:0 frame:0&lt;br /&gt;
          TX packets:18 errors:0 dropped:0 overruns:0 carrier:0&lt;br /&gt;
          collisions:0 txqueuelen:0&lt;br /&gt;
          RX bytes:1380 (1.3 KB)  TX bytes:1380 (1.3 KB)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==UCARP testimine==&lt;br /&gt;
&lt;br /&gt;
Nüüd on mõlemad serverid paigas ja töötavad Ucarp on mõlemale installitud, kuid hetkel me ikka ei tea, kas Ucarp tegelikult ka töötab.&lt;br /&gt;
&lt;br /&gt;
Kerge test võiks olla selline, et paneme serveri kinni, millel hetkel on ucarp aktiveeritud, minu puhul&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
shutdown -h now&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nüüd peaksid nägema Server2s (minu puhul) ucarpi aktiveeritult.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ifconfig&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Vastus:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
eth0      Link encap:Ethernet  HWaddr 00:0c:29:99:51:66&lt;br /&gt;
          inet addr:192.168.101.140  Bcast:192.168.101.255  Mask:255.255.255.0&lt;br /&gt;
          inet6 addr: fe80::20c:29ff:fe99:5166/64 Scope:Link&lt;br /&gt;
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1&lt;br /&gt;
          RX packets:1270 errors:0 dropped:0 overruns:0 frame:0&lt;br /&gt;
          TX packets:929 errors:0 dropped:0 overruns:0 carrier:0&lt;br /&gt;
          collisions:0 txqueuelen:1000&lt;br /&gt;
          RX bytes:94480 (94.4 KB)  TX bytes:113861 (113.8 KB)&lt;br /&gt;
&lt;br /&gt;
eth0:ucarp Link encap:Ethernet  HWaddr 00:0c:29:99:51:66&lt;br /&gt;
          inet addr:192.168.101.139  Bcast:192.168.101.255  Mask:255.255.255.0&lt;br /&gt;
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1&lt;br /&gt;
&lt;br /&gt;
lo        Link encap:Local Loopback&lt;br /&gt;
          inet addr:127.0.0.1  Mask:255.0.0.0&lt;br /&gt;
          inet6 addr: ::1/128 Scope:Host&lt;br /&gt;
          UP LOOPBACK RUNNING  MTU:16436  Metric:1&lt;br /&gt;
          RX packets:482 errors:0 dropped:0 overruns:0 frame:0&lt;br /&gt;
          TX packets:482 errors:0 dropped:0 overruns:0 carrier:0&lt;br /&gt;
          collisions:0 txqueuelen:0&lt;br /&gt;
          RX bytes:38580 (38.5 KB)  TX bytes:38580 (38.5 KB)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Annab meile jällegi kindlustunde, et tõesti server1 annab oma asjad üle server2le, kui server1-ga peaks midagi juhtuma.&lt;br /&gt;
&lt;br /&gt;
==UCARP ja Apache koos==&lt;br /&gt;
&lt;br /&gt;
Idee on lihtne. Installime mõlemale serverile apache serveri ja hoiame neid süngis linuxi vahenditega.&lt;br /&gt;
Selleks võib olla rsync või ka tavaline copy cronis :) Hetkel kasutame rsynci.&lt;br /&gt;
&lt;br /&gt;
Installime apachei ja rsynci:&lt;br /&gt;
&lt;br /&gt;
Server1:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
apt-get install apache2 rsync&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Server2:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
apt-get install apache2 rsync&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nüüd on meil 2 serverit, millel on Rsync ja apache2 installitud&lt;br /&gt;
Apache2 hoiab oma asju:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/etc/apache2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Siis tuleks meil kindlasti sünkida seda kataloogi ja samuti ei tohi ära unustada ka kataloogi, kus meie apache asub&lt;br /&gt;
Näiteks:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/var/www/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nüüd paneme oma rsynci tööle, soovitavalt Crontabi. Meil tekkib probleem, et oleks vaja pärast apache2 konfiguratsioonide muutmist ka apache2 uuesti &amp;quot;reloadida&amp;quot;. Selleks kasutame skripti. Hetkel siin kasutamiseks kirjutasin lihtsa skripti, mida saab endale vastavalt kergelt parandada.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
touch /root/apache_rsync.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Anname käivitamise õigused, et pärast ei unustaks:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
chmod 755 apache_rsync.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nüüd, skript ise. Eeldus on see, et mõlemal pool on SSH lubatud!&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
vim /root/apache_rsync.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
#rsync ise&lt;br /&gt;
rsync -avz -e ssh root@192.168.101.138:/home/apache2 /home/apache2/&lt;br /&gt;
rsync -avz -e ssh root@192.168.101.138:/var/www/html /var/www/html&lt;br /&gt;
&lt;br /&gt;
#p2rast asjade yle kopeerimist tuleb teha reaload et teisel pool ikka asjad t66taks.&lt;br /&gt;
/etc/init.d/apache2 reload&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
See nüüd croni server2-le&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
vim /etc/crontab&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Lisage selline rida. Sellega hakatakse rsyncika hoidma servereid sünkroonis. Tehakse iga 15 minuti järgi. Number 15 võib muuta oma äranägemise järgi.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
*/15 * * * * root /root/apache_rsync.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Kokkuvõtteks==&lt;br /&gt;
Võiks öelda, et viimane skript on väga väike ja võiks kõvasti paremaks teha.&lt;br /&gt;
Näiteks: email saatmise sisse panna, sest hetkel me ei tea, millal server1 on põhiline ja millal server2 on põhiline. &lt;br /&gt;
Hetkel teeme eelduse , et server1 sai fataalse errori ja on katki ja pärast selle korda tegemist on see jälle põhiline.&lt;br /&gt;
&lt;br /&gt;
==Kasutatud kirjandus==&lt;br /&gt;
* http://valeriytroshin.blogspot.com/2011/08/carp-failover-redundancy-in-ubuntu-1104.html&lt;br /&gt;
* http://laurentbel.com/2012/04/12/simple-apache-failover-cluster-on-ubuntu-with-config-synchronization/&lt;br /&gt;
* http://www.auul.pri.ee/wiki/Operatsioonis%C3%BCsteemi_Debian_GNU/Linux_kasutamine#ucarp_kasutamine&lt;br /&gt;
* http://www.freebsd.org/doc/handbook/carp.html&lt;br /&gt;
* http://laurentbel.com/2012/04/04/simple-failover-cluster-on-ubuntu-using-carp/&lt;br /&gt;
* http://en.wikipedia.org/wiki/Common_Address_Redundancy_Protocol&lt;br /&gt;
* http://blog.ijun.org/2009/11/high-availability-with-freebsd-and-carp.html&lt;br /&gt;
* http://www.howtoforge.com/how-to-configure-a-pfsense-2.0-cluster-using-carp&lt;br /&gt;
* http://kuutorvaja.eenet.ee/wiki/K%C3%B5rgk%C3%A4ideldavus_UCARP_abil#Paigaldamine_ja_seadistamine_RHEL.2C_CentOS_ja_Fedora_kasutajatele&lt;br /&gt;
* http://www.pureftpd.org/project/ucarp&lt;/div&gt;</summary>
		<author><name>Mmust</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Ucarp&amp;diff=59238</id>
		<title>Ucarp</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Ucarp&amp;diff=59238"/>
		<updated>2012-12-13T07:47:29Z</updated>

		<summary type="html">&lt;p&gt;Mmust: /* UCARP testimine */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=UCARP/CARP=&lt;br /&gt;
Autor: Marek Must&amp;lt;br&amp;gt; 07.12.2012&lt;br /&gt;
Rühm: AK21&lt;br /&gt;
Esitamise kuupäev: &lt;br /&gt;
&lt;br /&gt;
==Sissejuhatus==&lt;br /&gt;
Carp (inglise k. &amp;quot;Common Address Redundancy Protocol&amp;quot;) on protokoll, mis lubab samadel serveritel samas subnetis jagada ühte IP aadressi.&lt;br /&gt;
&lt;br /&gt;
Ucarp on tarkvara, mis võimaldab sul vähemalt 2 serveri olemasolul jagada neile 1 virtuaalne IP aadress, mille tulemusega saadakse kluster.&lt;br /&gt;
Ucarp ei ole väga peen lahendus ja sellega tuleb alati arvestada.&lt;br /&gt;
&lt;br /&gt;
===Ucarpi tugevus===&lt;br /&gt;
   * Lihtsus (ülesse seadmine käib lihtsalt)&lt;br /&gt;
   * Väike serveri ressursside kasutamine&lt;br /&gt;
   * Pole vaja lisa võrgu otsasid (alati on kena, kuid see on täiesti teine teema)&lt;br /&gt;
   * Krüptograafiliselt signeeritud teated. (Ucarpil on seadistatud parool, öeldes lihtsalt)&lt;br /&gt;
   * Suudab töödata koos mitme operatsiooni süsteemiga (inglise k. interoperability )&lt;br /&gt;
&lt;br /&gt;
===Tööpühimõte===&lt;br /&gt;
&lt;br /&gt;
Ucrap töötab lihtsalt:&lt;br /&gt;
 1.) Kui &amp;quot;Server 1&amp;quot; on üleval, siis sellele on määratud virtuaalne IP aadress.&lt;br /&gt;
 2.) Kui &amp;quot;Server 1&amp;quot; on maas ja &amp;quot;Server 2&amp;quot; on primaarne (inglise k. primary), siis on määratud &amp;quot;Server2&amp;quot;-le virtuaalne IP aadress, eeldades, et &amp;quot;Server 2&amp;quot; töötab.&lt;br /&gt;
&lt;br /&gt;
===Ucarpi Nõrkus===&lt;br /&gt;
   * Ainult IP põhine kluster&lt;br /&gt;
   * Seadeid, teenuseid üle ei kanta, kui &amp;quot;Server 2&amp;quot; saab peamiseks serveriks.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Tsiteerides targemaid: ucarp on võrreldes keepalived või heartbeat tarkvaraga tagasihoidlikemate omadustega, kuid mõnel juhul võib just see ollagi eeliseks&lt;br /&gt;
&lt;br /&gt;
==UCARP install==&lt;br /&gt;
&lt;br /&gt;
Install käib lihtsalt:&lt;br /&gt;
&amp;lt;pre&amp;gt; &lt;br /&gt;
apt-get install ucarp &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Selle pannakse programmid peale. mitte unustada, et tarkvara tuleb installida mõlemale serverile!!&lt;br /&gt;
&lt;br /&gt;
==Eel Seadistamine==&lt;br /&gt;
&lt;br /&gt;
* 1.) Teil on installeeritud 2 serverit, kas siis virtuaalsed või mitte.&lt;br /&gt;
* 2.) Ubuntu tavaline install on täiesti piisav.&lt;br /&gt;
* 3.) Vmware või Virtualboxi installi kasutades on elu natukene lihtsam (seda kasutan ka siin hetkel)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Kasutates  Ubuntu kiir installi ja lasite alguses IP anda endale DHCP-l, milleks minu juhul on: 192.168.101.138&lt;br /&gt;
&lt;br /&gt;
Seda saab vaadata:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;PRE&amp;gt;&lt;br /&gt;
ifconfig&lt;br /&gt;
&amp;lt;/PRE&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tulemüüri(inglise k. Gateway) saamine on natuke keerulisem, sest DHCP-ga seda ei ole võimalik päris &amp;quot;tavaliselt&amp;quot; ( ifconfig) näha.&lt;br /&gt;
Tulemüüri nägemiseks on olemas mitu võimalust, kuid mulle meeldib kasutada traceroutei. Tava installis seda paketti peal ei ole ja seega tuleks see paigaldada&lt;br /&gt;
&lt;br /&gt;
&amp;lt;PRE&amp;gt;&lt;br /&gt;
apt-get install traceroute&lt;br /&gt;
&amp;lt;/PRE&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kasutades traceroutei saame:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
traceroute www.neti.ee&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
ja esimene tulemus annab meile juba teada, meie DHCP aadressi:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@ubuntu:~# traceroute www.neti.ee&lt;br /&gt;
traceroute to www.neti.ee (195.50.209.245), 30 hops max, 60 byte packets&lt;br /&gt;
 1  192.168.101.2 (192.168.101.2)  0.139 ms  0.103 ms  0.076 ms^C&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pärast esimest rida võib traceroutei programmist CTRL-C välja minna, pole põhjust edasi oodata. Info olemas.&lt;br /&gt;
&lt;br /&gt;
Meie IP ja tulemüür peaksid nägema välja hetkel sellised:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
IP: 192.168.101.138&lt;br /&gt;
GW: 192.168.110.2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Teie praegune olukord peaks olema midagi sellist:&lt;br /&gt;
&lt;br /&gt;
Server 1&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@ubuntu:~# ifconfig&lt;br /&gt;
eth0      Link encap:Ethernet  HWaddr 00:0c:29:6f:d7:c4&lt;br /&gt;
          inet addr:192.168.101.138  Bcast:192.168.101.255  Mask:255.255.255.0&lt;br /&gt;
          inet6 addr: fe80::20c:29ff:fe6f:d7c4/64 Scope:Link&lt;br /&gt;
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1&lt;br /&gt;
          RX packets:8377 errors:0 dropped:0 overruns:0 frame:0&lt;br /&gt;
          TX packets:5937 errors:0 dropped:0 overruns:0 carrier:0&lt;br /&gt;
          collisions:0 txqueuelen:1000&lt;br /&gt;
          RX bytes:9556394 (9.5 MB)  TX bytes:426352 (426.3 KB)&lt;br /&gt;
&lt;br /&gt;
lo        Link encap:Local Loopback&lt;br /&gt;
          inet addr:127.0.0.1  Mask:255.0.0.0&lt;br /&gt;
          inet6 addr: ::1/128 Scope:Host&lt;br /&gt;
          UP LOOPBACK RUNNING  MTU:16436  Metric:1&lt;br /&gt;
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0&lt;br /&gt;
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0&lt;br /&gt;
          collisions:0 txqueuelen:0&lt;br /&gt;
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Server 2&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
root@ubuntu:~# ifconfig&lt;br /&gt;
eth0      Link encap:Ethernet  HWaddr 00:0c:29:99:51:66&lt;br /&gt;
          inet addr:192.168.101.140  Bcast:192.168.101.255  Mask:255.255.255.0&lt;br /&gt;
          inet6 addr: fe80::20c:29ff:fe99:5166/64 Scope:Link&lt;br /&gt;
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1&lt;br /&gt;
          RX packets:7586 errors:0 dropped:0 overruns:0 frame:0&lt;br /&gt;
          TX packets:4140 errors:0 dropped:0 overruns:0 carrier:0&lt;br /&gt;
          collisions:0 txqueuelen:1000&lt;br /&gt;
          RX bytes:9481944 (9.4 MB)  TX bytes:253201 (253.2 KB)&lt;br /&gt;
&lt;br /&gt;
lo        Link encap:Local Loopback&lt;br /&gt;
          inet addr:127.0.0.1  Mask:255.0.0.0&lt;br /&gt;
          inet6 addr: ::1/128 Scope:Host&lt;br /&gt;
          UP LOOPBACK RUNNING  MTU:16436  Metric:1&lt;br /&gt;
          RX packets:1 errors:0 dropped:0 overruns:0 frame:0&lt;br /&gt;
          TX packets:1 errors:0 dropped:0 overruns:0 carrier:0&lt;br /&gt;
          collisions:0 txqueuelen:0&lt;br /&gt;
          RX bytes:112 (112.0 B)  TX bytes:112 (112.0 B)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Ucarp Seadistammine==&lt;br /&gt;
&lt;br /&gt;
==Server 1==&lt;br /&gt;
&amp;lt;pre&amp;gt; vim /etc/network/interfaces &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Peaks avanema selline pilt:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# This file describes the network interfaces available on your system&lt;br /&gt;
# and how to activate them. For more information, see interfaces(5).&lt;br /&gt;
&lt;br /&gt;
# The loopback network interface&lt;br /&gt;
auto lo&lt;br /&gt;
iface lo inet loopback&lt;br /&gt;
&lt;br /&gt;
# The primary network interface&lt;br /&gt;
auto eth0&lt;br /&gt;
iface eth0 inet dhcp&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nüüd siis muudame selle ümber:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
root@ubuntu:~# vim /etc/network/interfaces&lt;br /&gt;
# This file describes the network interfaces available on your system&lt;br /&gt;
# and how to activate them. For more information, see interfaces(5).&lt;br /&gt;
&lt;br /&gt;
# The loopback network interface&lt;br /&gt;
auto lo&lt;br /&gt;
iface lo inet loopback&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# The primary network interface&lt;br /&gt;
auto eth0&lt;br /&gt;
iface eth0 inet static&lt;br /&gt;
        ################################&lt;br /&gt;
        # standard network configuration&lt;br /&gt;
        ################################&lt;br /&gt;
        address 192.168.101.138  # meie IP, mis panime alguses&lt;br /&gt;
        netmask 255.255.255.0    # netmask, selle saab ifconfig käsuga&lt;br /&gt;
        gateway 192.168.101.2    # traceroute aitas siin&lt;br /&gt;
        network 192.168.101.0    # natuke tuletamist..&lt;br /&gt;
        broadcast 192.168.101.255 #samuti ifconfig aitab&lt;br /&gt;
&lt;br /&gt;
        ################################&lt;br /&gt;
        # ucarp configuration  #########&lt;br /&gt;
        ################################&lt;br /&gt;
        # vid : The ID of the virtual server [1-255]&lt;br /&gt;
        ucarp-vid 1&lt;br /&gt;
        # vip : Virtuaalne IP aadress&lt;br /&gt;
        ucarp-vip 192.168.101.139&lt;br /&gt;
        # password : Mõlemal pool sama!!!!&lt;br /&gt;
        ucarp-password secret&lt;br /&gt;
        # advskew : Advertisement skew [1-255] # tähendab maakeels seda, et me ei reklaamime ennast koguaeg.&lt;br /&gt;
&lt;br /&gt;
        ucarp-advskew 1&lt;br /&gt;
        # advbase &lt;br /&gt;
        ucarp-advbase 1&lt;br /&gt;
        &lt;br /&gt;
        #advskew ja advbase on asjad millega kontrollitakse kui tihedalt brodcastitakse.&lt;br /&gt;
        &lt;br /&gt;
        # Kontroll, kas oleme peamine server?&lt;br /&gt;
        ucarp-master yes&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# CARP võrgu addressi kirjutame siia lihtsalt&lt;br /&gt;
iface eth0:ucarp inet static&lt;br /&gt;
        address 192.168.101.139&lt;br /&gt;
        netmask 255.255.255.0&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kindlasti tuleb teha võrgule restart, et kõik seaded võetakse kasutusse.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/etc/init.d/networking restart &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nüüd on võrgu seaded serveri poolt omaks võetud (juhul kui ei tekkkinud vigu).&lt;br /&gt;
&lt;br /&gt;
Nüüd kasutame meile juba tuttavat käsku ifconfig, et vaadata, kas kõik on hästi.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ifconfig&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Peaks nägema välja midagi sellist:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
eth0      Link encap:Ethernet  HWaddr 00:0c:29:6f:d7:c4&lt;br /&gt;
          inet addr:192.168.101.138  Bcast:192.168.101.255  Mask:255.255.255.0&lt;br /&gt;
          inet6 addr: fe80::20c:29ff:fe6f:d7c4/64 Scope:Link&lt;br /&gt;
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1&lt;br /&gt;
          RX packets:1195 errors:0 dropped:0 overruns:0 frame:0&lt;br /&gt;
          TX packets:287 errors:0 dropped:0 overruns:0 carrier:0&lt;br /&gt;
          collisions:0 txqueuelen:1000&lt;br /&gt;
          RX bytes:88166 (88.1 KB)  TX bytes:29985 (29.9 KB)&lt;br /&gt;
&lt;br /&gt;
eth0:ucarp Link encap:Ethernet  HWaddr 00:0c:29:6f:d7:c4&lt;br /&gt;
          inet addr:192.168.101.139  Bcast:192.168.101.255  Mask:255.255.255.0&lt;br /&gt;
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1&lt;br /&gt;
&lt;br /&gt;
lo        Link encap:Local Loopback&lt;br /&gt;
          inet addr:127.0.0.1  Mask:255.0.0.0&lt;br /&gt;
          inet6 addr: ::1/128 Scope:Host&lt;br /&gt;
          UP LOOPBACK RUNNING  MTU:16436  Metric:1&lt;br /&gt;
          RX packets:36 errors:0 dropped:0 overruns:0 frame:0&lt;br /&gt;
          TX packets:36 errors:0 dropped:0 overruns:0 carrier:0&lt;br /&gt;
          collisions:0 txqueuelen:0&lt;br /&gt;
          RX bytes:2712 (2.7 KB)  TX bytes:2712 (2.7 KB)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
See annab meile selguse, et Server1s on Ucarp kasutuses!&lt;br /&gt;
&lt;br /&gt;
==Server 2==&lt;br /&gt;
&lt;br /&gt;
Nüüd tuleks teha samasugune muutus ka server 2s.&lt;br /&gt;
Olles laisad, siis saame nüüd kopeerida selle ka teise serverisse, pärast teeme muudatused:&lt;br /&gt;
Paar asja on siin väga tähtsad:&lt;br /&gt;
&lt;br /&gt;
 1.) ucarp-advskew 100 # tähendab maakeeles seda, et me ei reklaami ennast nii tihedalt.&lt;br /&gt;
 2.) ucarp-master no # Server ka ei ole master!&lt;br /&gt;
 3.) IP address peab olema ikka selle serveri oma (192.168.101.140). Muud asjad samad&lt;br /&gt;
 4.) virtuaalsed IP-d peaksid olema need, mis eelmisel serveril.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# This file describes the network interfaces available on your system&lt;br /&gt;
# and how to activate them. For more information, see interfaces(5).&lt;br /&gt;
&lt;br /&gt;
# The loopback network interface&lt;br /&gt;
auto lo&lt;br /&gt;
iface lo inet loopback&lt;br /&gt;
&lt;br /&gt;
# The primary network interface&lt;br /&gt;
auto eth0&lt;br /&gt;
iface eth0 inet static&lt;br /&gt;
        ################################&lt;br /&gt;
        # standard network configuration&lt;br /&gt;
        ################################&lt;br /&gt;
        address 192.168.101.140&lt;br /&gt;
        netmask 255.255.255.0&lt;br /&gt;
        gateway 192.168.101.2&lt;br /&gt;
        network 192.168.101.0&lt;br /&gt;
        broadcast 192.168.101.255&lt;br /&gt;
&lt;br /&gt;
        ################################&lt;br /&gt;
        # ucarp configuration&lt;br /&gt;
        ################################&lt;br /&gt;
        # vid : The ID of the virtual server [1-255]&lt;br /&gt;
        ucarp-vid 1&lt;br /&gt;
        # vip : Virtuaalne IP aadress&lt;br /&gt;
        ucarp-vip 192.168.101.139&lt;br /&gt;
        # password : A password used to encrypt Carp communications&lt;br /&gt;
        ucarp-password secret&lt;br /&gt;
        # advskew : Advertisement skew [1-255] &lt;br /&gt;
        ucarp-advskew 100&lt;br /&gt;
        # advbase : Interval in seconds that advertisements will occur&lt;br /&gt;
        ucarp-advbase 1&lt;br /&gt;
        # master : nüüd me enam ei ole master. Seega määrame ära &amp;quot;no&amp;quot;&lt;br /&gt;
        ucarp-master no&lt;br /&gt;
&lt;br /&gt;
# The carp network interface, on top of eth1&lt;br /&gt;
iface eth0:ucarp inet static&lt;br /&gt;
        address 192.168.101.139&lt;br /&gt;
        netmask 255.255.255.0&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nüüd kui vastavad muudatused on sees, siis teeme ka võrgule restarti&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/etc/init.d/networking restart&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Kui märkasid, siis tegelikult midagi ei juhtunud, kuna oleme mitte masterid!&lt;br /&gt;
Kõik peaks nägema välja nagu endine:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
eth0      Link encap:Ethernet  HWaddr 00:0c:29:99:51:66&lt;br /&gt;
          inet addr:192.168.101.140  Bcast:192.168.101.255  Mask:255.255.255.0&lt;br /&gt;
          inet6 addr: fe80::20c:29ff:fe99:5166/64 Scope:Link&lt;br /&gt;
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1&lt;br /&gt;
          RX packets:213 errors:0 dropped:0 overruns:0 frame:0&lt;br /&gt;
          TX packets:99 errors:0 dropped:0 overruns:0 carrier:0&lt;br /&gt;
          collisions:0 txqueuelen:1000&lt;br /&gt;
          RX bytes:17498 (17.4 KB)  TX bytes:12669 (12.6 KB)&lt;br /&gt;
&lt;br /&gt;
lo        Link encap:Local Loopback&lt;br /&gt;
          inet addr:127.0.0.1  Mask:255.0.0.0&lt;br /&gt;
          inet6 addr: ::1/128 Scope:Host&lt;br /&gt;
          UP LOOPBACK RUNNING  MTU:16436  Metric:1&lt;br /&gt;
          RX packets:18 errors:0 dropped:0 overruns:0 frame:0&lt;br /&gt;
          TX packets:18 errors:0 dropped:0 overruns:0 carrier:0&lt;br /&gt;
          collisions:0 txqueuelen:0&lt;br /&gt;
          RX bytes:1380 (1.3 KB)  TX bytes:1380 (1.3 KB)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==UCARP testimine==&lt;br /&gt;
&lt;br /&gt;
Nüüd on mõlemad serverid paigas ja töötavad Ucarp on mõlemale installitud, kuid hetkel me ikka ei tea, kas Ucarp tegelikult ka töötab.&lt;br /&gt;
&lt;br /&gt;
Kerge test võiks olla selline, et paneme serveri kinni, millel hetkel on ucarp aktiveeritud, minu puhul&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
shutdown -h now&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nüüd peaksid nägema Server2s (minu puhul) ucarpi aktiveeritult.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ifconfig&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Vastus:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
eth0      Link encap:Ethernet  HWaddr 00:0c:29:99:51:66&lt;br /&gt;
          inet addr:192.168.101.140  Bcast:192.168.101.255  Mask:255.255.255.0&lt;br /&gt;
          inet6 addr: fe80::20c:29ff:fe99:5166/64 Scope:Link&lt;br /&gt;
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1&lt;br /&gt;
          RX packets:1270 errors:0 dropped:0 overruns:0 frame:0&lt;br /&gt;
          TX packets:929 errors:0 dropped:0 overruns:0 carrier:0&lt;br /&gt;
          collisions:0 txqueuelen:1000&lt;br /&gt;
          RX bytes:94480 (94.4 KB)  TX bytes:113861 (113.8 KB)&lt;br /&gt;
&lt;br /&gt;
eth0:ucarp Link encap:Ethernet  HWaddr 00:0c:29:99:51:66&lt;br /&gt;
          inet addr:192.168.101.139  Bcast:192.168.101.255  Mask:255.255.255.0&lt;br /&gt;
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1&lt;br /&gt;
&lt;br /&gt;
lo        Link encap:Local Loopback&lt;br /&gt;
          inet addr:127.0.0.1  Mask:255.0.0.0&lt;br /&gt;
          inet6 addr: ::1/128 Scope:Host&lt;br /&gt;
          UP LOOPBACK RUNNING  MTU:16436  Metric:1&lt;br /&gt;
          RX packets:482 errors:0 dropped:0 overruns:0 frame:0&lt;br /&gt;
          TX packets:482 errors:0 dropped:0 overruns:0 carrier:0&lt;br /&gt;
          collisions:0 txqueuelen:0&lt;br /&gt;
          RX bytes:38580 (38.5 KB)  TX bytes:38580 (38.5 KB)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Annab meile jällegi kindlustunde, et tõesti server1 annab oma asjad üle server2le, kui server1-ga peaks midagi juhtuma.&lt;br /&gt;
&lt;br /&gt;
==UCARP ja Apache koos==&lt;br /&gt;
&lt;br /&gt;
Idee on lihtne. Installime mõlemale serverile apache serveri ja hoiame neid süngis linuxi vahenditega.&lt;br /&gt;
Selleks võib olla rsync või ka tavaline copy cronis :) Hetkel kasutame rsynci.&lt;br /&gt;
&lt;br /&gt;
Installime apachei ja rsynci:&lt;br /&gt;
&lt;br /&gt;
Server1:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
apt-get install apache2 rsync&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Server2:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
apt-get install apache2 rsync&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nüüd on meil 2 serverit, millel on Rsync ja apache2 installitud&lt;br /&gt;
Apache2 hoiab oma asju:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/etc/apache2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Siis tuleks meil kindlasti sünkida seda kataloogi ja samuti ei tohi ära unustada ka kataloogi, kus meie apache asub&lt;br /&gt;
Näiteks:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/var/www/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nüüd paneme oma rsynci tööle, soovitavalt Crontabi. Meil tekkib probleem, et oleks vaja pärast apache2 konfiguratsioonide muutmist ka apache2 uuesti &amp;quot;reloadida&amp;quot;. Selleks kasutame skripti. Hetkel siin kasutamiseks kirjutasin lihtsa skripti, mida saab endale vastavalt kergelt parandada.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
touch /root/apache_rsync.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Anname käivitamise õigused, et pärast ei unustaks:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
chmod 755 apache_rsync.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nüüd, skript ise. Eeldus on see, et mõlemal pool on SSH lubatud!&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
vim /root/apache_rsync.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
#rsync ise&lt;br /&gt;
rsync -avz -e ssh root@192.168.101.138:/home/apache2 /home/apache2/&lt;br /&gt;
rsync -avz -e ssh root@192.168.101.138:/var/www/html /var/www/html&lt;br /&gt;
&lt;br /&gt;
#p2rast asjade yle kopeerimist tuleb teha reaload et teisel pool ikka asjad t66taks.&lt;br /&gt;
/etc/init.d/apache2 reload&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
See nüüd croni server2-le&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
vim /etc/crontab&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Lisage selline rida. Sellega hakatakse rsyncika hoidma servereid sünkroonis. Tehakse iga 15 minuti järgi. Number 15 võib muuta oma äranägemise järgi.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
*/15 * * * * root /root/apache_rsync.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Kokkuvõtteks==&lt;br /&gt;
Võiks öelda, et viimane skript on väga väike ja võiks kõvasti paremaks teha.&lt;br /&gt;
Näiteks: email saatmise sisse panna, sest hetkel me ei tea, millal server1 on põhiline ja millal server2 on põhiline. &lt;br /&gt;
Hetkel teeme eelduse , et server1 sai fataalse errori ja on katki ja pärast selle korda tegemist on see jälle põhiline.&lt;br /&gt;
&lt;br /&gt;
==Kasutatud kirjandus==&lt;br /&gt;
* http://valeriytroshin.blogspot.com/2011/08/carp-failover-redundancy-in-ubuntu-1104.html&lt;br /&gt;
* http://laurentbel.com/2012/04/12/simple-apache-failover-cluster-on-ubuntu-with-config-synchronization/&lt;br /&gt;
* http://www.auul.pri.ee/wiki/Operatsioonis%C3%BCsteemi_Debian_GNU/Linux_kasutamine#ucarp_kasutamine&lt;br /&gt;
* http://www.freebsd.org/doc/handbook/carp.html&lt;br /&gt;
* http://laurentbel.com/2012/04/04/simple-failover-cluster-on-ubuntu-using-carp/&lt;br /&gt;
* http://en.wikipedia.org/wiki/Common_Address_Redundancy_Protocol&lt;br /&gt;
* http://blog.ijun.org/2009/11/high-availability-with-freebsd-and-carp.html&lt;br /&gt;
* http://www.howtoforge.com/how-to-configure-a-pfsense-2.0-cluster-using-carp&lt;br /&gt;
* http://kuutorvaja.eenet.ee/wiki/K%C3%B5rgk%C3%A4ideldavus_UCARP_abil#Paigaldamine_ja_seadistamine_RHEL.2C_CentOS_ja_Fedora_kasutajatele&lt;br /&gt;
* http://www.pureftpd.org/project/ucarp&lt;/div&gt;</summary>
		<author><name>Mmust</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Ucarp&amp;diff=59237</id>
		<title>Ucarp</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Ucarp&amp;diff=59237"/>
		<updated>2012-12-13T07:46:54Z</updated>

		<summary type="html">&lt;p&gt;Mmust: /* Server 1 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=UCARP/CARP=&lt;br /&gt;
Autor: Marek Must&amp;lt;br&amp;gt; 07.12.2012&lt;br /&gt;
Rühm: AK21&lt;br /&gt;
Esitamise kuupäev: &lt;br /&gt;
&lt;br /&gt;
==Sissejuhatus==&lt;br /&gt;
Carp (inglise k. &amp;quot;Common Address Redundancy Protocol&amp;quot;) on protokoll, mis lubab samadel serveritel samas subnetis jagada ühte IP aadressi.&lt;br /&gt;
&lt;br /&gt;
Ucarp on tarkvara, mis võimaldab sul vähemalt 2 serveri olemasolul jagada neile 1 virtuaalne IP aadress, mille tulemusega saadakse kluster.&lt;br /&gt;
Ucarp ei ole väga peen lahendus ja sellega tuleb alati arvestada.&lt;br /&gt;
&lt;br /&gt;
===Ucarpi tugevus===&lt;br /&gt;
   * Lihtsus (ülesse seadmine käib lihtsalt)&lt;br /&gt;
   * Väike serveri ressursside kasutamine&lt;br /&gt;
   * Pole vaja lisa võrgu otsasid (alati on kena, kuid see on täiesti teine teema)&lt;br /&gt;
   * Krüptograafiliselt signeeritud teated. (Ucarpil on seadistatud parool, öeldes lihtsalt)&lt;br /&gt;
   * Suudab töödata koos mitme operatsiooni süsteemiga (inglise k. interoperability )&lt;br /&gt;
&lt;br /&gt;
===Tööpühimõte===&lt;br /&gt;
&lt;br /&gt;
Ucrap töötab lihtsalt:&lt;br /&gt;
 1.) Kui &amp;quot;Server 1&amp;quot; on üleval, siis sellele on määratud virtuaalne IP aadress.&lt;br /&gt;
 2.) Kui &amp;quot;Server 1&amp;quot; on maas ja &amp;quot;Server 2&amp;quot; on primaarne (inglise k. primary), siis on määratud &amp;quot;Server2&amp;quot;-le virtuaalne IP aadress, eeldades, et &amp;quot;Server 2&amp;quot; töötab.&lt;br /&gt;
&lt;br /&gt;
===Ucarpi Nõrkus===&lt;br /&gt;
   * Ainult IP põhine kluster&lt;br /&gt;
   * Seadeid, teenuseid üle ei kanta, kui &amp;quot;Server 2&amp;quot; saab peamiseks serveriks.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Tsiteerides targemaid: ucarp on võrreldes keepalived või heartbeat tarkvaraga tagasihoidlikemate omadustega, kuid mõnel juhul võib just see ollagi eeliseks&lt;br /&gt;
&lt;br /&gt;
==UCARP install==&lt;br /&gt;
&lt;br /&gt;
Install käib lihtsalt:&lt;br /&gt;
&amp;lt;pre&amp;gt; &lt;br /&gt;
apt-get install ucarp &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Selle pannakse programmid peale. mitte unustada, et tarkvara tuleb installida mõlemale serverile!!&lt;br /&gt;
&lt;br /&gt;
==Eel Seadistamine==&lt;br /&gt;
&lt;br /&gt;
* 1.) Teil on installeeritud 2 serverit, kas siis virtuaalsed või mitte.&lt;br /&gt;
* 2.) Ubuntu tavaline install on täiesti piisav.&lt;br /&gt;
* 3.) Vmware või Virtualboxi installi kasutades on elu natukene lihtsam (seda kasutan ka siin hetkel)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Kasutates  Ubuntu kiir installi ja lasite alguses IP anda endale DHCP-l, milleks minu juhul on: 192.168.101.138&lt;br /&gt;
&lt;br /&gt;
Seda saab vaadata:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;PRE&amp;gt;&lt;br /&gt;
ifconfig&lt;br /&gt;
&amp;lt;/PRE&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tulemüüri(inglise k. Gateway) saamine on natuke keerulisem, sest DHCP-ga seda ei ole võimalik päris &amp;quot;tavaliselt&amp;quot; ( ifconfig) näha.&lt;br /&gt;
Tulemüüri nägemiseks on olemas mitu võimalust, kuid mulle meeldib kasutada traceroutei. Tava installis seda paketti peal ei ole ja seega tuleks see paigaldada&lt;br /&gt;
&lt;br /&gt;
&amp;lt;PRE&amp;gt;&lt;br /&gt;
apt-get install traceroute&lt;br /&gt;
&amp;lt;/PRE&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kasutades traceroutei saame:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
traceroute www.neti.ee&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
ja esimene tulemus annab meile juba teada, meie DHCP aadressi:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@ubuntu:~# traceroute www.neti.ee&lt;br /&gt;
traceroute to www.neti.ee (195.50.209.245), 30 hops max, 60 byte packets&lt;br /&gt;
 1  192.168.101.2 (192.168.101.2)  0.139 ms  0.103 ms  0.076 ms^C&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pärast esimest rida võib traceroutei programmist CTRL-C välja minna, pole põhjust edasi oodata. Info olemas.&lt;br /&gt;
&lt;br /&gt;
Meie IP ja tulemüür peaksid nägema välja hetkel sellised:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
IP: 192.168.101.138&lt;br /&gt;
GW: 192.168.110.2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Teie praegune olukord peaks olema midagi sellist:&lt;br /&gt;
&lt;br /&gt;
Server 1&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@ubuntu:~# ifconfig&lt;br /&gt;
eth0      Link encap:Ethernet  HWaddr 00:0c:29:6f:d7:c4&lt;br /&gt;
          inet addr:192.168.101.138  Bcast:192.168.101.255  Mask:255.255.255.0&lt;br /&gt;
          inet6 addr: fe80::20c:29ff:fe6f:d7c4/64 Scope:Link&lt;br /&gt;
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1&lt;br /&gt;
          RX packets:8377 errors:0 dropped:0 overruns:0 frame:0&lt;br /&gt;
          TX packets:5937 errors:0 dropped:0 overruns:0 carrier:0&lt;br /&gt;
          collisions:0 txqueuelen:1000&lt;br /&gt;
          RX bytes:9556394 (9.5 MB)  TX bytes:426352 (426.3 KB)&lt;br /&gt;
&lt;br /&gt;
lo        Link encap:Local Loopback&lt;br /&gt;
          inet addr:127.0.0.1  Mask:255.0.0.0&lt;br /&gt;
          inet6 addr: ::1/128 Scope:Host&lt;br /&gt;
          UP LOOPBACK RUNNING  MTU:16436  Metric:1&lt;br /&gt;
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0&lt;br /&gt;
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0&lt;br /&gt;
          collisions:0 txqueuelen:0&lt;br /&gt;
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Server 2&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
root@ubuntu:~# ifconfig&lt;br /&gt;
eth0      Link encap:Ethernet  HWaddr 00:0c:29:99:51:66&lt;br /&gt;
          inet addr:192.168.101.140  Bcast:192.168.101.255  Mask:255.255.255.0&lt;br /&gt;
          inet6 addr: fe80::20c:29ff:fe99:5166/64 Scope:Link&lt;br /&gt;
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1&lt;br /&gt;
          RX packets:7586 errors:0 dropped:0 overruns:0 frame:0&lt;br /&gt;
          TX packets:4140 errors:0 dropped:0 overruns:0 carrier:0&lt;br /&gt;
          collisions:0 txqueuelen:1000&lt;br /&gt;
          RX bytes:9481944 (9.4 MB)  TX bytes:253201 (253.2 KB)&lt;br /&gt;
&lt;br /&gt;
lo        Link encap:Local Loopback&lt;br /&gt;
          inet addr:127.0.0.1  Mask:255.0.0.0&lt;br /&gt;
          inet6 addr: ::1/128 Scope:Host&lt;br /&gt;
          UP LOOPBACK RUNNING  MTU:16436  Metric:1&lt;br /&gt;
          RX packets:1 errors:0 dropped:0 overruns:0 frame:0&lt;br /&gt;
          TX packets:1 errors:0 dropped:0 overruns:0 carrier:0&lt;br /&gt;
          collisions:0 txqueuelen:0&lt;br /&gt;
          RX bytes:112 (112.0 B)  TX bytes:112 (112.0 B)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Ucarp Seadistammine==&lt;br /&gt;
&lt;br /&gt;
==Server 1==&lt;br /&gt;
&amp;lt;pre&amp;gt; vim /etc/network/interfaces &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Peaks avanema selline pilt:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# This file describes the network interfaces available on your system&lt;br /&gt;
# and how to activate them. For more information, see interfaces(5).&lt;br /&gt;
&lt;br /&gt;
# The loopback network interface&lt;br /&gt;
auto lo&lt;br /&gt;
iface lo inet loopback&lt;br /&gt;
&lt;br /&gt;
# The primary network interface&lt;br /&gt;
auto eth0&lt;br /&gt;
iface eth0 inet dhcp&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nüüd siis muudame selle ümber:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
root@ubuntu:~# vim /etc/network/interfaces&lt;br /&gt;
# This file describes the network interfaces available on your system&lt;br /&gt;
# and how to activate them. For more information, see interfaces(5).&lt;br /&gt;
&lt;br /&gt;
# The loopback network interface&lt;br /&gt;
auto lo&lt;br /&gt;
iface lo inet loopback&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# The primary network interface&lt;br /&gt;
auto eth0&lt;br /&gt;
iface eth0 inet static&lt;br /&gt;
        ################################&lt;br /&gt;
        # standard network configuration&lt;br /&gt;
        ################################&lt;br /&gt;
        address 192.168.101.138  # meie IP, mis panime alguses&lt;br /&gt;
        netmask 255.255.255.0    # netmask, selle saab ifconfig käsuga&lt;br /&gt;
        gateway 192.168.101.2    # traceroute aitas siin&lt;br /&gt;
        network 192.168.101.0    # natuke tuletamist..&lt;br /&gt;
        broadcast 192.168.101.255 #samuti ifconfig aitab&lt;br /&gt;
&lt;br /&gt;
        ################################&lt;br /&gt;
        # ucarp configuration  #########&lt;br /&gt;
        ################################&lt;br /&gt;
        # vid : The ID of the virtual server [1-255]&lt;br /&gt;
        ucarp-vid 1&lt;br /&gt;
        # vip : Virtuaalne IP aadress&lt;br /&gt;
        ucarp-vip 192.168.101.139&lt;br /&gt;
        # password : Mõlemal pool sama!!!!&lt;br /&gt;
        ucarp-password secret&lt;br /&gt;
        # advskew : Advertisement skew [1-255] # tähendab maakeels seda, et me ei reklaamime ennast koguaeg.&lt;br /&gt;
&lt;br /&gt;
        ucarp-advskew 1&lt;br /&gt;
        # advbase &lt;br /&gt;
        ucarp-advbase 1&lt;br /&gt;
        &lt;br /&gt;
        #advskew ja advbase on asjad millega kontrollitakse kui tihedalt brodcastitakse.&lt;br /&gt;
        &lt;br /&gt;
        # Kontroll, kas oleme peamine server?&lt;br /&gt;
        ucarp-master yes&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# CARP võrgu addressi kirjutame siia lihtsalt&lt;br /&gt;
iface eth0:ucarp inet static&lt;br /&gt;
        address 192.168.101.139&lt;br /&gt;
        netmask 255.255.255.0&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kindlasti tuleb teha võrgule restart, et kõik seaded võetakse kasutusse.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/etc/init.d/networking restart &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nüüd on võrgu seaded serveri poolt omaks võetud (juhul kui ei tekkkinud vigu).&lt;br /&gt;
&lt;br /&gt;
Nüüd kasutame meile juba tuttavat käsku ifconfig, et vaadata, kas kõik on hästi.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ifconfig&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Peaks nägema välja midagi sellist:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
eth0      Link encap:Ethernet  HWaddr 00:0c:29:6f:d7:c4&lt;br /&gt;
          inet addr:192.168.101.138  Bcast:192.168.101.255  Mask:255.255.255.0&lt;br /&gt;
          inet6 addr: fe80::20c:29ff:fe6f:d7c4/64 Scope:Link&lt;br /&gt;
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1&lt;br /&gt;
          RX packets:1195 errors:0 dropped:0 overruns:0 frame:0&lt;br /&gt;
          TX packets:287 errors:0 dropped:0 overruns:0 carrier:0&lt;br /&gt;
          collisions:0 txqueuelen:1000&lt;br /&gt;
          RX bytes:88166 (88.1 KB)  TX bytes:29985 (29.9 KB)&lt;br /&gt;
&lt;br /&gt;
eth0:ucarp Link encap:Ethernet  HWaddr 00:0c:29:6f:d7:c4&lt;br /&gt;
          inet addr:192.168.101.139  Bcast:192.168.101.255  Mask:255.255.255.0&lt;br /&gt;
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1&lt;br /&gt;
&lt;br /&gt;
lo        Link encap:Local Loopback&lt;br /&gt;
          inet addr:127.0.0.1  Mask:255.0.0.0&lt;br /&gt;
          inet6 addr: ::1/128 Scope:Host&lt;br /&gt;
          UP LOOPBACK RUNNING  MTU:16436  Metric:1&lt;br /&gt;
          RX packets:36 errors:0 dropped:0 overruns:0 frame:0&lt;br /&gt;
          TX packets:36 errors:0 dropped:0 overruns:0 carrier:0&lt;br /&gt;
          collisions:0 txqueuelen:0&lt;br /&gt;
          RX bytes:2712 (2.7 KB)  TX bytes:2712 (2.7 KB)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
See annab meile selguse, et Server1s on Ucarp kasutuses!&lt;br /&gt;
&lt;br /&gt;
==Server 2==&lt;br /&gt;
&lt;br /&gt;
Nüüd tuleks teha samasugune muutus ka server 2s.&lt;br /&gt;
Olles laisad, siis saame nüüd kopeerida selle ka teise serverisse, pärast teeme muudatused:&lt;br /&gt;
Paar asja on siin väga tähtsad:&lt;br /&gt;
&lt;br /&gt;
 1.) ucarp-advskew 100 # tähendab maakeeles seda, et me ei reklaami ennast nii tihedalt.&lt;br /&gt;
 2.) ucarp-master no # Server ka ei ole master!&lt;br /&gt;
 3.) IP address peab olema ikka selle serveri oma (192.168.101.140). Muud asjad samad&lt;br /&gt;
 4.) virtuaalsed IP-d peaksid olema need, mis eelmisel serveril.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# This file describes the network interfaces available on your system&lt;br /&gt;
# and how to activate them. For more information, see interfaces(5).&lt;br /&gt;
&lt;br /&gt;
# The loopback network interface&lt;br /&gt;
auto lo&lt;br /&gt;
iface lo inet loopback&lt;br /&gt;
&lt;br /&gt;
# The primary network interface&lt;br /&gt;
auto eth0&lt;br /&gt;
iface eth0 inet static&lt;br /&gt;
        ################################&lt;br /&gt;
        # standard network configuration&lt;br /&gt;
        ################################&lt;br /&gt;
        address 192.168.101.140&lt;br /&gt;
        netmask 255.255.255.0&lt;br /&gt;
        gateway 192.168.101.2&lt;br /&gt;
        network 192.168.101.0&lt;br /&gt;
        broadcast 192.168.101.255&lt;br /&gt;
&lt;br /&gt;
        ################################&lt;br /&gt;
        # ucarp configuration&lt;br /&gt;
        ################################&lt;br /&gt;
        # vid : The ID of the virtual server [1-255]&lt;br /&gt;
        ucarp-vid 1&lt;br /&gt;
        # vip : Virtuaalne IP aadress&lt;br /&gt;
        ucarp-vip 192.168.101.139&lt;br /&gt;
        # password : A password used to encrypt Carp communications&lt;br /&gt;
        ucarp-password secret&lt;br /&gt;
        # advskew : Advertisement skew [1-255] &lt;br /&gt;
        ucarp-advskew 100&lt;br /&gt;
        # advbase : Interval in seconds that advertisements will occur&lt;br /&gt;
        ucarp-advbase 1&lt;br /&gt;
        # master : nüüd me enam ei ole master. Seega määrame ära &amp;quot;no&amp;quot;&lt;br /&gt;
        ucarp-master no&lt;br /&gt;
&lt;br /&gt;
# The carp network interface, on top of eth1&lt;br /&gt;
iface eth0:ucarp inet static&lt;br /&gt;
        address 192.168.101.139&lt;br /&gt;
        netmask 255.255.255.0&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nüüd kui vastavad muudatused on sees, siis teeme ka võrgule restarti&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/etc/init.d/networking restart&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Kui märkasid, siis tegelikult midagi ei juhtunud, kuna oleme mitte masterid!&lt;br /&gt;
Kõik peaks nägema välja nagu endine:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
eth0      Link encap:Ethernet  HWaddr 00:0c:29:99:51:66&lt;br /&gt;
          inet addr:192.168.101.140  Bcast:192.168.101.255  Mask:255.255.255.0&lt;br /&gt;
          inet6 addr: fe80::20c:29ff:fe99:5166/64 Scope:Link&lt;br /&gt;
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1&lt;br /&gt;
          RX packets:213 errors:0 dropped:0 overruns:0 frame:0&lt;br /&gt;
          TX packets:99 errors:0 dropped:0 overruns:0 carrier:0&lt;br /&gt;
          collisions:0 txqueuelen:1000&lt;br /&gt;
          RX bytes:17498 (17.4 KB)  TX bytes:12669 (12.6 KB)&lt;br /&gt;
&lt;br /&gt;
lo        Link encap:Local Loopback&lt;br /&gt;
          inet addr:127.0.0.1  Mask:255.0.0.0&lt;br /&gt;
          inet6 addr: ::1/128 Scope:Host&lt;br /&gt;
          UP LOOPBACK RUNNING  MTU:16436  Metric:1&lt;br /&gt;
          RX packets:18 errors:0 dropped:0 overruns:0 frame:0&lt;br /&gt;
          TX packets:18 errors:0 dropped:0 overruns:0 carrier:0&lt;br /&gt;
          collisions:0 txqueuelen:0&lt;br /&gt;
          RX bytes:1380 (1.3 KB)  TX bytes:1380 (1.3 KB)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==UCARP testimine==&lt;br /&gt;
&lt;br /&gt;
Nüüd on mõlemad serverid paigas ja töötavad Ucarp on mõlemale installitud, kuid hetkel me ikka ei tea, kas Ucarp tegelikult ka töötab.&lt;br /&gt;
&lt;br /&gt;
Kerge test võiks olla selline, et paneme serveri kinni, millel hetkel on ucarp aktiveeritud, minu puhul&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
shutdown -h now&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nüüd peaksid nägema Server2s (minu puhul) ucarpi aktiveeritult.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ifconfig&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Vastus:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@ubuntu:~# ifconfig&lt;br /&gt;
eth0      Link encap:Ethernet  HWaddr 00:0c:29:99:51:66&lt;br /&gt;
          inet addr:192.168.101.140  Bcast:192.168.101.255  Mask:255.255.255.0&lt;br /&gt;
          inet6 addr: fe80::20c:29ff:fe99:5166/64 Scope:Link&lt;br /&gt;
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1&lt;br /&gt;
          RX packets:1270 errors:0 dropped:0 overruns:0 frame:0&lt;br /&gt;
          TX packets:929 errors:0 dropped:0 overruns:0 carrier:0&lt;br /&gt;
          collisions:0 txqueuelen:1000&lt;br /&gt;
          RX bytes:94480 (94.4 KB)  TX bytes:113861 (113.8 KB)&lt;br /&gt;
&lt;br /&gt;
eth0:ucarp Link encap:Ethernet  HWaddr 00:0c:29:99:51:66&lt;br /&gt;
          inet addr:192.168.101.139  Bcast:192.168.101.255  Mask:255.255.255.0&lt;br /&gt;
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1&lt;br /&gt;
&lt;br /&gt;
lo        Link encap:Local Loopback&lt;br /&gt;
          inet addr:127.0.0.1  Mask:255.0.0.0&lt;br /&gt;
          inet6 addr: ::1/128 Scope:Host&lt;br /&gt;
          UP LOOPBACK RUNNING  MTU:16436  Metric:1&lt;br /&gt;
          RX packets:482 errors:0 dropped:0 overruns:0 frame:0&lt;br /&gt;
          TX packets:482 errors:0 dropped:0 overruns:0 carrier:0&lt;br /&gt;
          collisions:0 txqueuelen:0&lt;br /&gt;
          RX bytes:38580 (38.5 KB)  TX bytes:38580 (38.5 KB)&lt;br /&gt;
&lt;br /&gt;
root@ubuntu:~#&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Annab meile jällegi kindlustunde, et tõesti server1 annab oma asjad üle server2le, kui server1-ga peaks midagi juhtuma.&lt;br /&gt;
&lt;br /&gt;
==UCARP ja Apache koos==&lt;br /&gt;
&lt;br /&gt;
Idee on lihtne. Installime mõlemale serverile apache serveri ja hoiame neid süngis linuxi vahenditega.&lt;br /&gt;
Selleks võib olla rsync või ka tavaline copy cronis :) Hetkel kasutame rsynci.&lt;br /&gt;
&lt;br /&gt;
Installime apachei ja rsynci:&lt;br /&gt;
&lt;br /&gt;
Server1:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
apt-get install apache2 rsync&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Server2:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
apt-get install apache2 rsync&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nüüd on meil 2 serverit, millel on Rsync ja apache2 installitud&lt;br /&gt;
Apache2 hoiab oma asju:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/etc/apache2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Siis tuleks meil kindlasti sünkida seda kataloogi ja samuti ei tohi ära unustada ka kataloogi, kus meie apache asub&lt;br /&gt;
Näiteks:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/var/www/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nüüd paneme oma rsynci tööle, soovitavalt Crontabi. Meil tekkib probleem, et oleks vaja pärast apache2 konfiguratsioonide muutmist ka apache2 uuesti &amp;quot;reloadida&amp;quot;. Selleks kasutame skripti. Hetkel siin kasutamiseks kirjutasin lihtsa skripti, mida saab endale vastavalt kergelt parandada.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
touch /root/apache_rsync.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Anname käivitamise õigused, et pärast ei unustaks:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
chmod 755 apache_rsync.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nüüd, skript ise. Eeldus on see, et mõlemal pool on SSH lubatud!&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
vim /root/apache_rsync.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
#rsync ise&lt;br /&gt;
rsync -avz -e ssh root@192.168.101.138:/home/apache2 /home/apache2/&lt;br /&gt;
rsync -avz -e ssh root@192.168.101.138:/var/www/html /var/www/html&lt;br /&gt;
&lt;br /&gt;
#p2rast asjade yle kopeerimist tuleb teha reaload et teisel pool ikka asjad t66taks.&lt;br /&gt;
/etc/init.d/apache2 reload&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
See nüüd croni server2-le&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
vim /etc/crontab&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Lisage selline rida. Sellega hakatakse rsyncika hoidma servereid sünkroonis. Tehakse iga 15 minuti järgi. Number 15 võib muuta oma äranägemise järgi.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
*/15 * * * * root /root/apache_rsync.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Kokkuvõtteks==&lt;br /&gt;
Võiks öelda, et viimane skript on väga väike ja võiks kõvasti paremaks teha.&lt;br /&gt;
Näiteks: email saatmise sisse panna, sest hetkel me ei tea, millal server1 on põhiline ja millal server2 on põhiline. &lt;br /&gt;
Hetkel teeme eelduse , et server1 sai fataalse errori ja on katki ja pärast selle korda tegemist on see jälle põhiline.&lt;br /&gt;
&lt;br /&gt;
==Kasutatud kirjandus==&lt;br /&gt;
* http://valeriytroshin.blogspot.com/2011/08/carp-failover-redundancy-in-ubuntu-1104.html&lt;br /&gt;
* http://laurentbel.com/2012/04/12/simple-apache-failover-cluster-on-ubuntu-with-config-synchronization/&lt;br /&gt;
* http://www.auul.pri.ee/wiki/Operatsioonis%C3%BCsteemi_Debian_GNU/Linux_kasutamine#ucarp_kasutamine&lt;br /&gt;
* http://www.freebsd.org/doc/handbook/carp.html&lt;br /&gt;
* http://laurentbel.com/2012/04/04/simple-failover-cluster-on-ubuntu-using-carp/&lt;br /&gt;
* http://en.wikipedia.org/wiki/Common_Address_Redundancy_Protocol&lt;br /&gt;
* http://blog.ijun.org/2009/11/high-availability-with-freebsd-and-carp.html&lt;br /&gt;
* http://www.howtoforge.com/how-to-configure-a-pfsense-2.0-cluster-using-carp&lt;br /&gt;
* http://kuutorvaja.eenet.ee/wiki/K%C3%B5rgk%C3%A4ideldavus_UCARP_abil#Paigaldamine_ja_seadistamine_RHEL.2C_CentOS_ja_Fedora_kasutajatele&lt;br /&gt;
* http://www.pureftpd.org/project/ucarp&lt;/div&gt;</summary>
		<author><name>Mmust</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Ucarp&amp;diff=59236</id>
		<title>Ucarp</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Ucarp&amp;diff=59236"/>
		<updated>2012-12-13T07:42:28Z</updated>

		<summary type="html">&lt;p&gt;Mmust: /* Eel Seadistamine */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=UCARP/CARP=&lt;br /&gt;
Autor: Marek Must&amp;lt;br&amp;gt; 07.12.2012&lt;br /&gt;
Rühm: AK21&lt;br /&gt;
Esitamise kuupäev: &lt;br /&gt;
&lt;br /&gt;
==Sissejuhatus==&lt;br /&gt;
Carp (inglise k. &amp;quot;Common Address Redundancy Protocol&amp;quot;) on protokoll, mis lubab samadel serveritel samas subnetis jagada ühte IP aadressi.&lt;br /&gt;
&lt;br /&gt;
Ucarp on tarkvara, mis võimaldab sul vähemalt 2 serveri olemasolul jagada neile 1 virtuaalne IP aadress, mille tulemusega saadakse kluster.&lt;br /&gt;
Ucarp ei ole väga peen lahendus ja sellega tuleb alati arvestada.&lt;br /&gt;
&lt;br /&gt;
===Ucarpi tugevus===&lt;br /&gt;
   * Lihtsus (ülesse seadmine käib lihtsalt)&lt;br /&gt;
   * Väike serveri ressursside kasutamine&lt;br /&gt;
   * Pole vaja lisa võrgu otsasid (alati on kena, kuid see on täiesti teine teema)&lt;br /&gt;
   * Krüptograafiliselt signeeritud teated. (Ucarpil on seadistatud parool, öeldes lihtsalt)&lt;br /&gt;
   * Suudab töödata koos mitme operatsiooni süsteemiga (inglise k. interoperability )&lt;br /&gt;
&lt;br /&gt;
===Tööpühimõte===&lt;br /&gt;
&lt;br /&gt;
Ucrap töötab lihtsalt:&lt;br /&gt;
 1.) Kui &amp;quot;Server 1&amp;quot; on üleval, siis sellele on määratud virtuaalne IP aadress.&lt;br /&gt;
 2.) Kui &amp;quot;Server 1&amp;quot; on maas ja &amp;quot;Server 2&amp;quot; on primaarne (inglise k. primary), siis on määratud &amp;quot;Server2&amp;quot;-le virtuaalne IP aadress, eeldades, et &amp;quot;Server 2&amp;quot; töötab.&lt;br /&gt;
&lt;br /&gt;
===Ucarpi Nõrkus===&lt;br /&gt;
   * Ainult IP põhine kluster&lt;br /&gt;
   * Seadeid, teenuseid üle ei kanta, kui &amp;quot;Server 2&amp;quot; saab peamiseks serveriks.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Tsiteerides targemaid: ucarp on võrreldes keepalived või heartbeat tarkvaraga tagasihoidlikemate omadustega, kuid mõnel juhul võib just see ollagi eeliseks&lt;br /&gt;
&lt;br /&gt;
==UCARP install==&lt;br /&gt;
&lt;br /&gt;
Install käib lihtsalt:&lt;br /&gt;
&amp;lt;pre&amp;gt; &lt;br /&gt;
apt-get install ucarp &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Selle pannakse programmid peale. mitte unustada, et tarkvara tuleb installida mõlemale serverile!!&lt;br /&gt;
&lt;br /&gt;
==Eel Seadistamine==&lt;br /&gt;
&lt;br /&gt;
* 1.) Teil on installeeritud 2 serverit, kas siis virtuaalsed või mitte.&lt;br /&gt;
* 2.) Ubuntu tavaline install on täiesti piisav.&lt;br /&gt;
* 3.) Vmware või Virtualboxi installi kasutades on elu natukene lihtsam (seda kasutan ka siin hetkel)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Kasutates  Ubuntu kiir installi ja lasite alguses IP anda endale DHCP-l, milleks minu juhul on: 192.168.101.138&lt;br /&gt;
&lt;br /&gt;
Seda saab vaadata:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;PRE&amp;gt;&lt;br /&gt;
ifconfig&lt;br /&gt;
&amp;lt;/PRE&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tulemüüri(inglise k. Gateway) saamine on natuke keerulisem, sest DHCP-ga seda ei ole võimalik päris &amp;quot;tavaliselt&amp;quot; ( ifconfig) näha.&lt;br /&gt;
Tulemüüri nägemiseks on olemas mitu võimalust, kuid mulle meeldib kasutada traceroutei. Tava installis seda paketti peal ei ole ja seega tuleks see paigaldada&lt;br /&gt;
&lt;br /&gt;
&amp;lt;PRE&amp;gt;&lt;br /&gt;
apt-get install traceroute&lt;br /&gt;
&amp;lt;/PRE&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kasutades traceroutei saame:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
traceroute www.neti.ee&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
ja esimene tulemus annab meile juba teada, meie DHCP aadressi:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@ubuntu:~# traceroute www.neti.ee&lt;br /&gt;
traceroute to www.neti.ee (195.50.209.245), 30 hops max, 60 byte packets&lt;br /&gt;
 1  192.168.101.2 (192.168.101.2)  0.139 ms  0.103 ms  0.076 ms^C&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pärast esimest rida võib traceroutei programmist CTRL-C välja minna, pole põhjust edasi oodata. Info olemas.&lt;br /&gt;
&lt;br /&gt;
Meie IP ja tulemüür peaksid nägema välja hetkel sellised:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
IP: 192.168.101.138&lt;br /&gt;
GW: 192.168.110.2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Teie praegune olukord peaks olema midagi sellist:&lt;br /&gt;
&lt;br /&gt;
Server 1&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@ubuntu:~# ifconfig&lt;br /&gt;
eth0      Link encap:Ethernet  HWaddr 00:0c:29:6f:d7:c4&lt;br /&gt;
          inet addr:192.168.101.138  Bcast:192.168.101.255  Mask:255.255.255.0&lt;br /&gt;
          inet6 addr: fe80::20c:29ff:fe6f:d7c4/64 Scope:Link&lt;br /&gt;
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1&lt;br /&gt;
          RX packets:8377 errors:0 dropped:0 overruns:0 frame:0&lt;br /&gt;
          TX packets:5937 errors:0 dropped:0 overruns:0 carrier:0&lt;br /&gt;
          collisions:0 txqueuelen:1000&lt;br /&gt;
          RX bytes:9556394 (9.5 MB)  TX bytes:426352 (426.3 KB)&lt;br /&gt;
&lt;br /&gt;
lo        Link encap:Local Loopback&lt;br /&gt;
          inet addr:127.0.0.1  Mask:255.0.0.0&lt;br /&gt;
          inet6 addr: ::1/128 Scope:Host&lt;br /&gt;
          UP LOOPBACK RUNNING  MTU:16436  Metric:1&lt;br /&gt;
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0&lt;br /&gt;
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0&lt;br /&gt;
          collisions:0 txqueuelen:0&lt;br /&gt;
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Server 2&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
root@ubuntu:~# ifconfig&lt;br /&gt;
eth0      Link encap:Ethernet  HWaddr 00:0c:29:99:51:66&lt;br /&gt;
          inet addr:192.168.101.140  Bcast:192.168.101.255  Mask:255.255.255.0&lt;br /&gt;
          inet6 addr: fe80::20c:29ff:fe99:5166/64 Scope:Link&lt;br /&gt;
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1&lt;br /&gt;
          RX packets:7586 errors:0 dropped:0 overruns:0 frame:0&lt;br /&gt;
          TX packets:4140 errors:0 dropped:0 overruns:0 carrier:0&lt;br /&gt;
          collisions:0 txqueuelen:1000&lt;br /&gt;
          RX bytes:9481944 (9.4 MB)  TX bytes:253201 (253.2 KB)&lt;br /&gt;
&lt;br /&gt;
lo        Link encap:Local Loopback&lt;br /&gt;
          inet addr:127.0.0.1  Mask:255.0.0.0&lt;br /&gt;
          inet6 addr: ::1/128 Scope:Host&lt;br /&gt;
          UP LOOPBACK RUNNING  MTU:16436  Metric:1&lt;br /&gt;
          RX packets:1 errors:0 dropped:0 overruns:0 frame:0&lt;br /&gt;
          TX packets:1 errors:0 dropped:0 overruns:0 carrier:0&lt;br /&gt;
          collisions:0 txqueuelen:0&lt;br /&gt;
          RX bytes:112 (112.0 B)  TX bytes:112 (112.0 B)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Ucarp Seadistammine==&lt;br /&gt;
&lt;br /&gt;
==Server 1==&lt;br /&gt;
&amp;lt;pre&amp;gt; vim /etc/network/interfaces &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Peaks avanema selline pilt:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# This file describes the network interfaces available on your system&lt;br /&gt;
# and how to activate them. For more information, see interfaces(5).&lt;br /&gt;
&lt;br /&gt;
# The loopback network interface&lt;br /&gt;
auto lo&lt;br /&gt;
iface lo inet loopback&lt;br /&gt;
&lt;br /&gt;
# The primary network interface&lt;br /&gt;
auto eth0&lt;br /&gt;
iface eth0 inet dhcp&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nüüd siis muudame selle ümber:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
root@ubuntu:~# vim /etc/network/interfaces&lt;br /&gt;
# This file describes the network interfaces available on your system&lt;br /&gt;
# and how to activate them. For more information, see interfaces(5).&lt;br /&gt;
&lt;br /&gt;
# The loopback network interface&lt;br /&gt;
auto lo&lt;br /&gt;
iface lo inet loopback&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# The primary network interface&lt;br /&gt;
auto eth0&lt;br /&gt;
iface eth0 inet static&lt;br /&gt;
        ################################&lt;br /&gt;
        # standard network configuration&lt;br /&gt;
        ################################&lt;br /&gt;
        address 192.168.101.138  # meie IP, mis panime alguses&lt;br /&gt;
        netmask 255.255.255.0    # netmask, selle saab ifconfig käsuga&lt;br /&gt;
        gateway 192.168.101.2    # traceroute aitas siin&lt;br /&gt;
        network 192.168.101.0    # natuke tuletamist..&lt;br /&gt;
        broadcast 192.168.101.255 #samuti ifconfig aitab&lt;br /&gt;
&lt;br /&gt;
        ################################&lt;br /&gt;
        # ucarp configuration  #########&lt;br /&gt;
        ################################&lt;br /&gt;
        # vid : The ID of the virtual server [1-255]&lt;br /&gt;
        ucarp-vid 1&lt;br /&gt;
        # vip : Virtuaalne IP aadress&lt;br /&gt;
        ucarp-vip 192.168.101.139&lt;br /&gt;
        # password : Mõlemal pool sama!!!!&lt;br /&gt;
        ucarp-password secret&lt;br /&gt;
        # advskew : Advertisement skew [1-255] # tähendab maakeels seda, et me ei reklaamime ennast koguaeg.&lt;br /&gt;
        ucarp-advskew 1&lt;br /&gt;
        # advbase &lt;br /&gt;
        ucarp-advbase 1&lt;br /&gt;
        # Kontroll, kas oleme peamine server?&lt;br /&gt;
        ucarp-master yes&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# CARP võrgu addressi kirjutame siia lihtsalt&lt;br /&gt;
iface eth0:ucarp inet static&lt;br /&gt;
        address 192.168.101.139&lt;br /&gt;
        netmask 255.255.255.0&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kindlasti tuleb teha võrgule restart, et kõik seaded võetakse kasutusse.&lt;br /&gt;
advskew ja advbase on asjad millega kontrollitakse kui tihedalt brodcastitakse.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/etc/init.d/networking restart &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Peaks avanema midagi sellist:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
root@ubuntu:~# ifconfig&lt;br /&gt;
eth0      Link encap:Ethernet  HWaddr 00:0c:29:6f:d7:c4&lt;br /&gt;
          inet addr:192.168.101.138  Bcast:192.168.101.255  Mask:255.255.255.0&lt;br /&gt;
          inet6 addr: fe80::20c:29ff:fe6f:d7c4/64 Scope:Link&lt;br /&gt;
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1&lt;br /&gt;
          RX packets:1195 errors:0 dropped:0 overruns:0 frame:0&lt;br /&gt;
          TX packets:287 errors:0 dropped:0 overruns:0 carrier:0&lt;br /&gt;
          collisions:0 txqueuelen:1000&lt;br /&gt;
          RX bytes:88166 (88.1 KB)  TX bytes:29985 (29.9 KB)&lt;br /&gt;
&lt;br /&gt;
eth0:ucarp Link encap:Ethernet  HWaddr 00:0c:29:6f:d7:c4&lt;br /&gt;
          inet addr:192.168.101.139  Bcast:192.168.101.255  Mask:255.255.255.0&lt;br /&gt;
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1&lt;br /&gt;
&lt;br /&gt;
lo        Link encap:Local Loopback&lt;br /&gt;
          inet addr:127.0.0.1  Mask:255.0.0.0&lt;br /&gt;
          inet6 addr: ::1/128 Scope:Host&lt;br /&gt;
          UP LOOPBACK RUNNING  MTU:16436  Metric:1&lt;br /&gt;
          RX packets:36 errors:0 dropped:0 overruns:0 frame:0&lt;br /&gt;
          TX packets:36 errors:0 dropped:0 overruns:0 carrier:0&lt;br /&gt;
          collisions:0 txqueuelen:0&lt;br /&gt;
          RX bytes:2712 (2.7 KB)  TX bytes:2712 (2.7 KB)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
See annab meile selguse, et Server1s on Ucarp kasutuses!&lt;br /&gt;
&lt;br /&gt;
==Server 2==&lt;br /&gt;
&lt;br /&gt;
Nüüd tuleks teha samasugune muutus ka server 2s.&lt;br /&gt;
Olles laisad, siis saame nüüd kopeerida selle ka teise serverisse, pärast teeme muudatused:&lt;br /&gt;
Paar asja on siin väga tähtsad:&lt;br /&gt;
&lt;br /&gt;
 1.) ucarp-advskew 100 # tähendab maakeeles seda, et me ei reklaami ennast nii tihedalt.&lt;br /&gt;
 2.) ucarp-master no # Server ka ei ole master!&lt;br /&gt;
 3.) IP address peab olema ikka selle serveri oma (192.168.101.140). Muud asjad samad&lt;br /&gt;
 4.) virtuaalsed IP-d peaksid olema need, mis eelmisel serveril.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# This file describes the network interfaces available on your system&lt;br /&gt;
# and how to activate them. For more information, see interfaces(5).&lt;br /&gt;
&lt;br /&gt;
# The loopback network interface&lt;br /&gt;
auto lo&lt;br /&gt;
iface lo inet loopback&lt;br /&gt;
&lt;br /&gt;
# The primary network interface&lt;br /&gt;
auto eth0&lt;br /&gt;
iface eth0 inet static&lt;br /&gt;
        ################################&lt;br /&gt;
        # standard network configuration&lt;br /&gt;
        ################################&lt;br /&gt;
        address 192.168.101.140&lt;br /&gt;
        netmask 255.255.255.0&lt;br /&gt;
        gateway 192.168.101.2&lt;br /&gt;
        network 192.168.101.0&lt;br /&gt;
        broadcast 192.168.101.255&lt;br /&gt;
&lt;br /&gt;
        ################################&lt;br /&gt;
        # ucarp configuration&lt;br /&gt;
        ################################&lt;br /&gt;
        # vid : The ID of the virtual server [1-255]&lt;br /&gt;
        ucarp-vid 1&lt;br /&gt;
        # vip : Virtuaalne IP aadress&lt;br /&gt;
        ucarp-vip 192.168.101.139&lt;br /&gt;
        # password : A password used to encrypt Carp communications&lt;br /&gt;
        ucarp-password secret&lt;br /&gt;
        # advskew : Advertisement skew [1-255] &lt;br /&gt;
        ucarp-advskew 100&lt;br /&gt;
        # advbase : Interval in seconds that advertisements will occur&lt;br /&gt;
        ucarp-advbase 1&lt;br /&gt;
        # master : nüüd me enam ei ole master. Seega määrame ära &amp;quot;no&amp;quot;&lt;br /&gt;
        ucarp-master no&lt;br /&gt;
&lt;br /&gt;
# The carp network interface, on top of eth1&lt;br /&gt;
iface eth0:ucarp inet static&lt;br /&gt;
        address 192.168.101.139&lt;br /&gt;
        netmask 255.255.255.0&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nüüd kui vastavad muudatused on sees, siis teeme ka võrgule restarti&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/etc/init.d/networking restart&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Kui märkasid, siis tegelikult midagi ei juhtunud, kuna oleme mitte masterid!&lt;br /&gt;
Kõik peaks nägema välja nagu endine:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
eth0      Link encap:Ethernet  HWaddr 00:0c:29:99:51:66&lt;br /&gt;
          inet addr:192.168.101.140  Bcast:192.168.101.255  Mask:255.255.255.0&lt;br /&gt;
          inet6 addr: fe80::20c:29ff:fe99:5166/64 Scope:Link&lt;br /&gt;
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1&lt;br /&gt;
          RX packets:213 errors:0 dropped:0 overruns:0 frame:0&lt;br /&gt;
          TX packets:99 errors:0 dropped:0 overruns:0 carrier:0&lt;br /&gt;
          collisions:0 txqueuelen:1000&lt;br /&gt;
          RX bytes:17498 (17.4 KB)  TX bytes:12669 (12.6 KB)&lt;br /&gt;
&lt;br /&gt;
lo        Link encap:Local Loopback&lt;br /&gt;
          inet addr:127.0.0.1  Mask:255.0.0.0&lt;br /&gt;
          inet6 addr: ::1/128 Scope:Host&lt;br /&gt;
          UP LOOPBACK RUNNING  MTU:16436  Metric:1&lt;br /&gt;
          RX packets:18 errors:0 dropped:0 overruns:0 frame:0&lt;br /&gt;
          TX packets:18 errors:0 dropped:0 overruns:0 carrier:0&lt;br /&gt;
          collisions:0 txqueuelen:0&lt;br /&gt;
          RX bytes:1380 (1.3 KB)  TX bytes:1380 (1.3 KB)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==UCARP testimine==&lt;br /&gt;
&lt;br /&gt;
Nüüd on mõlemad serverid paigas ja töötavad Ucarp on mõlemale installitud, kuid hetkel me ikka ei tea, kas Ucarp tegelikult ka töötab.&lt;br /&gt;
&lt;br /&gt;
Kerge test võiks olla selline, et paneme serveri kinni, millel hetkel on ucarp aktiveeritud, minu puhul&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
shutdown -h now&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nüüd peaksid nägema Server2s (minu puhul) ucarpi aktiveeritult.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ifconfig&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Vastus:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@ubuntu:~# ifconfig&lt;br /&gt;
eth0      Link encap:Ethernet  HWaddr 00:0c:29:99:51:66&lt;br /&gt;
          inet addr:192.168.101.140  Bcast:192.168.101.255  Mask:255.255.255.0&lt;br /&gt;
          inet6 addr: fe80::20c:29ff:fe99:5166/64 Scope:Link&lt;br /&gt;
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1&lt;br /&gt;
          RX packets:1270 errors:0 dropped:0 overruns:0 frame:0&lt;br /&gt;
          TX packets:929 errors:0 dropped:0 overruns:0 carrier:0&lt;br /&gt;
          collisions:0 txqueuelen:1000&lt;br /&gt;
          RX bytes:94480 (94.4 KB)  TX bytes:113861 (113.8 KB)&lt;br /&gt;
&lt;br /&gt;
eth0:ucarp Link encap:Ethernet  HWaddr 00:0c:29:99:51:66&lt;br /&gt;
          inet addr:192.168.101.139  Bcast:192.168.101.255  Mask:255.255.255.0&lt;br /&gt;
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1&lt;br /&gt;
&lt;br /&gt;
lo        Link encap:Local Loopback&lt;br /&gt;
          inet addr:127.0.0.1  Mask:255.0.0.0&lt;br /&gt;
          inet6 addr: ::1/128 Scope:Host&lt;br /&gt;
          UP LOOPBACK RUNNING  MTU:16436  Metric:1&lt;br /&gt;
          RX packets:482 errors:0 dropped:0 overruns:0 frame:0&lt;br /&gt;
          TX packets:482 errors:0 dropped:0 overruns:0 carrier:0&lt;br /&gt;
          collisions:0 txqueuelen:0&lt;br /&gt;
          RX bytes:38580 (38.5 KB)  TX bytes:38580 (38.5 KB)&lt;br /&gt;
&lt;br /&gt;
root@ubuntu:~#&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Annab meile jällegi kindlustunde, et tõesti server1 annab oma asjad üle server2le, kui server1-ga peaks midagi juhtuma.&lt;br /&gt;
&lt;br /&gt;
==UCARP ja Apache koos==&lt;br /&gt;
&lt;br /&gt;
Idee on lihtne. Installime mõlemale serverile apache serveri ja hoiame neid süngis linuxi vahenditega.&lt;br /&gt;
Selleks võib olla rsync või ka tavaline copy cronis :) Hetkel kasutame rsynci.&lt;br /&gt;
&lt;br /&gt;
Installime apachei ja rsynci:&lt;br /&gt;
&lt;br /&gt;
Server1:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
apt-get install apache2 rsync&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Server2:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
apt-get install apache2 rsync&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nüüd on meil 2 serverit, millel on Rsync ja apache2 installitud&lt;br /&gt;
Apache2 hoiab oma asju:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/etc/apache2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Siis tuleks meil kindlasti sünkida seda kataloogi ja samuti ei tohi ära unustada ka kataloogi, kus meie apache asub&lt;br /&gt;
Näiteks:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/var/www/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nüüd paneme oma rsynci tööle, soovitavalt Crontabi. Meil tekkib probleem, et oleks vaja pärast apache2 konfiguratsioonide muutmist ka apache2 uuesti &amp;quot;reloadida&amp;quot;. Selleks kasutame skripti. Hetkel siin kasutamiseks kirjutasin lihtsa skripti, mida saab endale vastavalt kergelt parandada.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
touch /root/apache_rsync.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Anname käivitamise õigused, et pärast ei unustaks:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
chmod 755 apache_rsync.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nüüd, skript ise. Eeldus on see, et mõlemal pool on SSH lubatud!&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
vim /root/apache_rsync.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
#rsync ise&lt;br /&gt;
rsync -avz -e ssh root@192.168.101.138:/home/apache2 /home/apache2/&lt;br /&gt;
rsync -avz -e ssh root@192.168.101.138:/var/www/html /var/www/html&lt;br /&gt;
&lt;br /&gt;
#p2rast asjade yle kopeerimist tuleb teha reaload et teisel pool ikka asjad t66taks.&lt;br /&gt;
/etc/init.d/apache2 reload&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
See nüüd croni server2-le&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
vim /etc/crontab&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Lisage selline rida. Sellega hakatakse rsyncika hoidma servereid sünkroonis. Tehakse iga 15 minuti järgi. Number 15 võib muuta oma äranägemise järgi.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
*/15 * * * * root /root/apache_rsync.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Kokkuvõtteks==&lt;br /&gt;
Võiks öelda, et viimane skript on väga väike ja võiks kõvasti paremaks teha.&lt;br /&gt;
Näiteks: email saatmise sisse panna, sest hetkel me ei tea, millal server1 on põhiline ja millal server2 on põhiline. &lt;br /&gt;
Hetkel teeme eelduse , et server1 sai fataalse errori ja on katki ja pärast selle korda tegemist on see jälle põhiline.&lt;br /&gt;
&lt;br /&gt;
==Kasutatud kirjandus==&lt;br /&gt;
* http://valeriytroshin.blogspot.com/2011/08/carp-failover-redundancy-in-ubuntu-1104.html&lt;br /&gt;
* http://laurentbel.com/2012/04/12/simple-apache-failover-cluster-on-ubuntu-with-config-synchronization/&lt;br /&gt;
* http://www.auul.pri.ee/wiki/Operatsioonis%C3%BCsteemi_Debian_GNU/Linux_kasutamine#ucarp_kasutamine&lt;br /&gt;
* http://www.freebsd.org/doc/handbook/carp.html&lt;br /&gt;
* http://laurentbel.com/2012/04/04/simple-failover-cluster-on-ubuntu-using-carp/&lt;br /&gt;
* http://en.wikipedia.org/wiki/Common_Address_Redundancy_Protocol&lt;br /&gt;
* http://blog.ijun.org/2009/11/high-availability-with-freebsd-and-carp.html&lt;br /&gt;
* http://www.howtoforge.com/how-to-configure-a-pfsense-2.0-cluster-using-carp&lt;br /&gt;
* http://kuutorvaja.eenet.ee/wiki/K%C3%B5rgk%C3%A4ideldavus_UCARP_abil#Paigaldamine_ja_seadistamine_RHEL.2C_CentOS_ja_Fedora_kasutajatele&lt;br /&gt;
* http://www.pureftpd.org/project/ucarp&lt;/div&gt;</summary>
		<author><name>Mmust</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Ucarp&amp;diff=58970</id>
		<title>Ucarp</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Ucarp&amp;diff=58970"/>
		<updated>2012-12-11T09:22:21Z</updated>

		<summary type="html">&lt;p&gt;Mmust: /* Eel Seadistamine */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=UCARP/CARP=&lt;br /&gt;
Autor: Marek Must&amp;lt;br&amp;gt; 07.12.2012&lt;br /&gt;
Rühm: AK21&lt;br /&gt;
Esitamise kuupäev: &lt;br /&gt;
&lt;br /&gt;
==Sissejuhatus==&lt;br /&gt;
Carp (inglise k. &amp;quot;Common Address Redundancy Protocol&amp;quot;) on protokoll, mis lubab samadel serveritel samas subnetis jagada ühte IP aadressi.&lt;br /&gt;
&lt;br /&gt;
Ucarp on tarkvara, mis võimaldab sul vähemalt 2 serveri olemasolul jagada neile 1 virtuaalne IP aadress, mille tulemusega saadakse kluster.&lt;br /&gt;
Ucarp ei ole väga peen lahendus ja sellega tuleb alati arvestada.&lt;br /&gt;
&lt;br /&gt;
===Ucarpi tugevus===&lt;br /&gt;
   * Lihtsus (ülesse seadmine käib lihtsalt)&lt;br /&gt;
   * Väike serveri ressursside kasutamine&lt;br /&gt;
   * Pole vaja lisa võrgu otsasid (alati on kena, kuid see on täiesti teine teema)&lt;br /&gt;
   * Krüptograafiliselt signeeritud teated. (Ucarpil on seadistatud parool, öeldes lihtsalt)&lt;br /&gt;
   * Suudab töödata koos mitme operatsiooni süsteemiga (inglise k. interoperability )&lt;br /&gt;
&lt;br /&gt;
===Tööpühimõte===&lt;br /&gt;
&lt;br /&gt;
Ucrap töötab lihtsalt:&lt;br /&gt;
 1.) Kui &amp;quot;Server 1&amp;quot; on üleval, siis sellele on määratud virtuaalne IP aadress.&lt;br /&gt;
 2.) Kui &amp;quot;Server 1&amp;quot; on maas ja &amp;quot;Server 2&amp;quot; on primaarne (inglise k. primary), siis on määratud &amp;quot;Server2&amp;quot;-le virtuaalne IP aadress, eeldades, et &amp;quot;Server 2&amp;quot; töötab.&lt;br /&gt;
&lt;br /&gt;
===Ucarpi Nõrkus===&lt;br /&gt;
   * Ainult IP põhine kluster&lt;br /&gt;
   * Seadeid, teenuseid üle ei kanta, kui &amp;quot;Server 2&amp;quot; saab peamiseks serveriks.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Tsiteerides targemaid: ucarp on võrreldes keepalived või heartbeat tarkvaraga tagasihoidlikemate omadustega, kuid mõnel juhul võib just see ollagi eeliseks&lt;br /&gt;
&lt;br /&gt;
==UCARP install==&lt;br /&gt;
&lt;br /&gt;
Install käib lihtsalt:&lt;br /&gt;
&amp;lt;pre&amp;gt; &lt;br /&gt;
apt-get install ucarp &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Selle pannakse programmid peale. mitte unustada, et tarkvara tuleb installida mõlemale serverile!!&lt;br /&gt;
&lt;br /&gt;
==Eel Seadistamine==&lt;br /&gt;
&lt;br /&gt;
* 1.) Teil on installeeritud 2 serverit, kas siis virtuaalsed või mitte.&lt;br /&gt;
* 2.) Ubuntu tavaline install on täiesti piisav.&lt;br /&gt;
* 3.) Vmware või Virtualboxi installi kasutades on elu natukene lihtsam (seda kasutan ka siin hetkel)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Kui olite sama laisk nagu mina ja tegite Ubuntu kiir installi ja lasite alguses IP anda endale DHCP-ga, milleks minu juhul on: 192.168.101.138&lt;br /&gt;
&lt;br /&gt;
Seda saab vaadata:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;PRE&amp;gt;&lt;br /&gt;
ifconfig&lt;br /&gt;
&amp;lt;/PRE&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tulemüüri(inglise k. Gateway) saamine on natuke keerulisem, sest DHCP-ga seda ei ole võimalik päris &amp;quot;tavaliselt&amp;quot; ( ifconfig) näha.&lt;br /&gt;
Tulemüüri nägemiseks on olemas mitu võimalust, kuid mulle meeldib kasutada traceroutei. Tava installis seda paketti peal ei ole ja seega tuleks see paigaldada&lt;br /&gt;
&lt;br /&gt;
&amp;lt;PRE&amp;gt;&lt;br /&gt;
apt-get install traceroute&lt;br /&gt;
&amp;lt;/PRE&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kasutades traceroutei saame:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
traceroute www.neti.ee&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
ja esimene tulemus annab meile juba teada, meie DHCP aadressi:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@ubuntu:~# traceroute www.neti.ee&lt;br /&gt;
traceroute to www.neti.ee (195.50.209.245), 30 hops max, 60 byte packets&lt;br /&gt;
 1  192.168.101.2 (192.168.101.2)  0.139 ms  0.103 ms  0.076 ms^C&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Meie IP ja tulemüür peaksid nägema välja hetkel sellised:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
IP: 192.168.101.138&lt;br /&gt;
GW: 192.168.110.2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Teie praegune olukord peaks olema midagi sellist:&lt;br /&gt;
&lt;br /&gt;
Server1&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@ubuntu:~# ifconfig&lt;br /&gt;
eth0      Link encap:Ethernet  HWaddr 00:0c:29:6f:d7:c4&lt;br /&gt;
          inet addr:192.168.101.138  Bcast:192.168.101.255  Mask:255.255.255.0&lt;br /&gt;
          inet6 addr: fe80::20c:29ff:fe6f:d7c4/64 Scope:Link&lt;br /&gt;
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1&lt;br /&gt;
          RX packets:8377 errors:0 dropped:0 overruns:0 frame:0&lt;br /&gt;
          TX packets:5937 errors:0 dropped:0 overruns:0 carrier:0&lt;br /&gt;
          collisions:0 txqueuelen:1000&lt;br /&gt;
          RX bytes:9556394 (9.5 MB)  TX bytes:426352 (426.3 KB)&lt;br /&gt;
&lt;br /&gt;
lo        Link encap:Local Loopback&lt;br /&gt;
          inet addr:127.0.0.1  Mask:255.0.0.0&lt;br /&gt;
          inet6 addr: ::1/128 Scope:Host&lt;br /&gt;
          UP LOOPBACK RUNNING  MTU:16436  Metric:1&lt;br /&gt;
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0&lt;br /&gt;
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0&lt;br /&gt;
          collisions:0 txqueuelen:0&lt;br /&gt;
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Server2&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
root@ubuntu:~# ifconfig&lt;br /&gt;
eth0      Link encap:Ethernet  HWaddr 00:0c:29:99:51:66&lt;br /&gt;
          inet addr:192.168.101.140  Bcast:192.168.101.255  Mask:255.255.255.0&lt;br /&gt;
          inet6 addr: fe80::20c:29ff:fe99:5166/64 Scope:Link&lt;br /&gt;
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1&lt;br /&gt;
          RX packets:7586 errors:0 dropped:0 overruns:0 frame:0&lt;br /&gt;
          TX packets:4140 errors:0 dropped:0 overruns:0 carrier:0&lt;br /&gt;
          collisions:0 txqueuelen:1000&lt;br /&gt;
          RX bytes:9481944 (9.4 MB)  TX bytes:253201 (253.2 KB)&lt;br /&gt;
&lt;br /&gt;
lo        Link encap:Local Loopback&lt;br /&gt;
          inet addr:127.0.0.1  Mask:255.0.0.0&lt;br /&gt;
          inet6 addr: ::1/128 Scope:Host&lt;br /&gt;
          UP LOOPBACK RUNNING  MTU:16436  Metric:1&lt;br /&gt;
          RX packets:1 errors:0 dropped:0 overruns:0 frame:0&lt;br /&gt;
          TX packets:1 errors:0 dropped:0 overruns:0 carrier:0&lt;br /&gt;
          collisions:0 txqueuelen:0&lt;br /&gt;
          RX bytes:112 (112.0 B)  TX bytes:112 (112.0 B)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Ucarp Seadistammine==&lt;br /&gt;
&lt;br /&gt;
==Server 1==&lt;br /&gt;
&amp;lt;pre&amp;gt; vim /etc/network/interfaces &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Peaks avanema selline pilt:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# This file describes the network interfaces available on your system&lt;br /&gt;
# and how to activate them. For more information, see interfaces(5).&lt;br /&gt;
&lt;br /&gt;
# The loopback network interface&lt;br /&gt;
auto lo&lt;br /&gt;
iface lo inet loopback&lt;br /&gt;
&lt;br /&gt;
# The primary network interface&lt;br /&gt;
auto eth0&lt;br /&gt;
iface eth0 inet dhcp&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nüüd siis muudame selle ümber:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
root@ubuntu:~# vim /etc/network/interfaces&lt;br /&gt;
# This file describes the network interfaces available on your system&lt;br /&gt;
# and how to activate them. For more information, see interfaces(5).&lt;br /&gt;
&lt;br /&gt;
# The loopback network interface&lt;br /&gt;
auto lo&lt;br /&gt;
iface lo inet loopback&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# The primary network interface&lt;br /&gt;
auto eth0&lt;br /&gt;
iface eth0 inet static&lt;br /&gt;
        ################################&lt;br /&gt;
        # standard network configuration&lt;br /&gt;
        ################################&lt;br /&gt;
        address 192.168.101.138  # meie IP, mis panime alguses&lt;br /&gt;
        netmask 255.255.255.0    # netmask, selle saab ifconfig käsuga&lt;br /&gt;
        gateway 192.168.101.2    # traceroute aitas siin&lt;br /&gt;
        network 192.168.101.0    # natuke tuletamist..&lt;br /&gt;
        broadcast 192.168.101.255 #samuti ifconfig aitab&lt;br /&gt;
&lt;br /&gt;
        ################################&lt;br /&gt;
        # ucarp configuration  #########&lt;br /&gt;
        ################################&lt;br /&gt;
        # vid : The ID of the virtual server [1-255]&lt;br /&gt;
        ucarp-vid 1&lt;br /&gt;
        # vip : Virtuaalne IP aadress&lt;br /&gt;
        ucarp-vip 192.168.101.139&lt;br /&gt;
        # password : Mõlemal pool sama!!!!&lt;br /&gt;
        ucarp-password secret&lt;br /&gt;
        # advskew : Advertisement skew [1-255] # tähendab maakeels seda, et me ei reklaamime ennast koguaeg.&lt;br /&gt;
        ucarp-advskew 1&lt;br /&gt;
        # advbase &lt;br /&gt;
        ucarp-advbase 1&lt;br /&gt;
        # Kontroll, kas oleme peamine server?&lt;br /&gt;
        ucarp-master yes&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# CARP võrgu addressi kirjutame siia lihtsalt&lt;br /&gt;
iface eth0:ucarp inet static&lt;br /&gt;
        address 192.168.101.139&lt;br /&gt;
        netmask 255.255.255.0&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kindlasti tuleb teha võrgule restart, et kõik seaded võetakse kasutusse.&lt;br /&gt;
advskew ja advbase on asjad millega kontrollitakse kui tihedalt brodcastitakse.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/etc/init.d/networking restart &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Peaks avanema midagi sellist:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
root@ubuntu:~# ifconfig&lt;br /&gt;
eth0      Link encap:Ethernet  HWaddr 00:0c:29:6f:d7:c4&lt;br /&gt;
          inet addr:192.168.101.138  Bcast:192.168.101.255  Mask:255.255.255.0&lt;br /&gt;
          inet6 addr: fe80::20c:29ff:fe6f:d7c4/64 Scope:Link&lt;br /&gt;
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1&lt;br /&gt;
          RX packets:1195 errors:0 dropped:0 overruns:0 frame:0&lt;br /&gt;
          TX packets:287 errors:0 dropped:0 overruns:0 carrier:0&lt;br /&gt;
          collisions:0 txqueuelen:1000&lt;br /&gt;
          RX bytes:88166 (88.1 KB)  TX bytes:29985 (29.9 KB)&lt;br /&gt;
&lt;br /&gt;
eth0:ucarp Link encap:Ethernet  HWaddr 00:0c:29:6f:d7:c4&lt;br /&gt;
          inet addr:192.168.101.139  Bcast:192.168.101.255  Mask:255.255.255.0&lt;br /&gt;
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1&lt;br /&gt;
&lt;br /&gt;
lo        Link encap:Local Loopback&lt;br /&gt;
          inet addr:127.0.0.1  Mask:255.0.0.0&lt;br /&gt;
          inet6 addr: ::1/128 Scope:Host&lt;br /&gt;
          UP LOOPBACK RUNNING  MTU:16436  Metric:1&lt;br /&gt;
          RX packets:36 errors:0 dropped:0 overruns:0 frame:0&lt;br /&gt;
          TX packets:36 errors:0 dropped:0 overruns:0 carrier:0&lt;br /&gt;
          collisions:0 txqueuelen:0&lt;br /&gt;
          RX bytes:2712 (2.7 KB)  TX bytes:2712 (2.7 KB)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
See annab meile selguse, et Server1s on Ucarp kasutuses!&lt;br /&gt;
&lt;br /&gt;
==Server 2==&lt;br /&gt;
&lt;br /&gt;
Nüüd tuleks teha samasugune muutus ka server 2s.&lt;br /&gt;
Olles laisad, siis saame nüüd kopeerida selle ka teise serverisse, pärast teeme muudatused:&lt;br /&gt;
Paar asja on siin väga tähtsad:&lt;br /&gt;
&lt;br /&gt;
 1.) ucarp-advskew 100 # tähendab maakeeles seda, et me ei reklaami ennast nii tihedalt.&lt;br /&gt;
 2.) ucarp-master no # Server ka ei ole master!&lt;br /&gt;
 3.) IP address peab olema ikka selle serveri oma (192.168.101.140). Muud asjad samad&lt;br /&gt;
 4.) virtuaalsed IP-d peaksid olema need, mis eelmisel serveril.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# This file describes the network interfaces available on your system&lt;br /&gt;
# and how to activate them. For more information, see interfaces(5).&lt;br /&gt;
&lt;br /&gt;
# The loopback network interface&lt;br /&gt;
auto lo&lt;br /&gt;
iface lo inet loopback&lt;br /&gt;
&lt;br /&gt;
# The primary network interface&lt;br /&gt;
auto eth0&lt;br /&gt;
iface eth0 inet static&lt;br /&gt;
        ################################&lt;br /&gt;
        # standard network configuration&lt;br /&gt;
        ################################&lt;br /&gt;
        address 192.168.101.140&lt;br /&gt;
        netmask 255.255.255.0&lt;br /&gt;
        gateway 192.168.101.2&lt;br /&gt;
        network 192.168.101.0&lt;br /&gt;
        broadcast 192.168.101.255&lt;br /&gt;
&lt;br /&gt;
        ################################&lt;br /&gt;
        # ucarp configuration&lt;br /&gt;
        ################################&lt;br /&gt;
        # vid : The ID of the virtual server [1-255]&lt;br /&gt;
        ucarp-vid 1&lt;br /&gt;
        # vip : Virtuaalne IP aadress&lt;br /&gt;
        ucarp-vip 192.168.101.139&lt;br /&gt;
        # password : A password used to encrypt Carp communications&lt;br /&gt;
        ucarp-password secret&lt;br /&gt;
        # advskew : Advertisement skew [1-255] &lt;br /&gt;
        ucarp-advskew 100&lt;br /&gt;
        # advbase : Interval in seconds that advertisements will occur&lt;br /&gt;
        ucarp-advbase 1&lt;br /&gt;
        # master : nüüd me enam ei ole master. Seega määrame ära &amp;quot;no&amp;quot;&lt;br /&gt;
        ucarp-master no&lt;br /&gt;
&lt;br /&gt;
# The carp network interface, on top of eth1&lt;br /&gt;
iface eth0:ucarp inet static&lt;br /&gt;
        address 192.168.101.139&lt;br /&gt;
        netmask 255.255.255.0&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nüüd kui vastavad muudatused on sees, siis teeme ka võrgule restarti&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/etc/init.d/networking restart&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Kui märkasid, siis tegelikult midagi ei juhtunud, kuna oleme mitte masterid!&lt;br /&gt;
Kõik peaks nägema välja nagu endine:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
eth0      Link encap:Ethernet  HWaddr 00:0c:29:99:51:66&lt;br /&gt;
          inet addr:192.168.101.140  Bcast:192.168.101.255  Mask:255.255.255.0&lt;br /&gt;
          inet6 addr: fe80::20c:29ff:fe99:5166/64 Scope:Link&lt;br /&gt;
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1&lt;br /&gt;
          RX packets:213 errors:0 dropped:0 overruns:0 frame:0&lt;br /&gt;
          TX packets:99 errors:0 dropped:0 overruns:0 carrier:0&lt;br /&gt;
          collisions:0 txqueuelen:1000&lt;br /&gt;
          RX bytes:17498 (17.4 KB)  TX bytes:12669 (12.6 KB)&lt;br /&gt;
&lt;br /&gt;
lo        Link encap:Local Loopback&lt;br /&gt;
          inet addr:127.0.0.1  Mask:255.0.0.0&lt;br /&gt;
          inet6 addr: ::1/128 Scope:Host&lt;br /&gt;
          UP LOOPBACK RUNNING  MTU:16436  Metric:1&lt;br /&gt;
          RX packets:18 errors:0 dropped:0 overruns:0 frame:0&lt;br /&gt;
          TX packets:18 errors:0 dropped:0 overruns:0 carrier:0&lt;br /&gt;
          collisions:0 txqueuelen:0&lt;br /&gt;
          RX bytes:1380 (1.3 KB)  TX bytes:1380 (1.3 KB)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==UCARP testimine==&lt;br /&gt;
&lt;br /&gt;
Nüüd on mõlemad serverid paigas ja töötavad Ucarp on mõlemale installitud, kuid hetkel me ikka ei tea, kas Ucarp tegelikult ka töötab.&lt;br /&gt;
&lt;br /&gt;
Kerge test võiks olla selline, et paneme serveri kinni, millel hetkel on ucarp aktiveeritud, minu puhul&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
shutdown -h now&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nüüd peaksid nägema Server2s (minu puhul) ucarpi aktiveeritult.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ifconfig&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Vastus:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@ubuntu:~# ifconfig&lt;br /&gt;
eth0      Link encap:Ethernet  HWaddr 00:0c:29:99:51:66&lt;br /&gt;
          inet addr:192.168.101.140  Bcast:192.168.101.255  Mask:255.255.255.0&lt;br /&gt;
          inet6 addr: fe80::20c:29ff:fe99:5166/64 Scope:Link&lt;br /&gt;
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1&lt;br /&gt;
          RX packets:1270 errors:0 dropped:0 overruns:0 frame:0&lt;br /&gt;
          TX packets:929 errors:0 dropped:0 overruns:0 carrier:0&lt;br /&gt;
          collisions:0 txqueuelen:1000&lt;br /&gt;
          RX bytes:94480 (94.4 KB)  TX bytes:113861 (113.8 KB)&lt;br /&gt;
&lt;br /&gt;
eth0:ucarp Link encap:Ethernet  HWaddr 00:0c:29:99:51:66&lt;br /&gt;
          inet addr:192.168.101.139  Bcast:192.168.101.255  Mask:255.255.255.0&lt;br /&gt;
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1&lt;br /&gt;
&lt;br /&gt;
lo        Link encap:Local Loopback&lt;br /&gt;
          inet addr:127.0.0.1  Mask:255.0.0.0&lt;br /&gt;
          inet6 addr: ::1/128 Scope:Host&lt;br /&gt;
          UP LOOPBACK RUNNING  MTU:16436  Metric:1&lt;br /&gt;
          RX packets:482 errors:0 dropped:0 overruns:0 frame:0&lt;br /&gt;
          TX packets:482 errors:0 dropped:0 overruns:0 carrier:0&lt;br /&gt;
          collisions:0 txqueuelen:0&lt;br /&gt;
          RX bytes:38580 (38.5 KB)  TX bytes:38580 (38.5 KB)&lt;br /&gt;
&lt;br /&gt;
root@ubuntu:~#&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Annab meile jällegi kindlustunde, et tõesti server1 annab oma asjad üle server2le, kui server1-ga peaks midagi juhtuma.&lt;br /&gt;
&lt;br /&gt;
==UCARP ja Apache koos==&lt;br /&gt;
&lt;br /&gt;
Idee on lihtne. Installime mõlemale serverile apache serveri ja hoiame neid süngis linuxi vahenditega.&lt;br /&gt;
Selleks võib olla rsync või ka tavaline copy cronis :) Hetkel kasutame rsynci.&lt;br /&gt;
&lt;br /&gt;
Installime apachei ja rsynci:&lt;br /&gt;
&lt;br /&gt;
Server1:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
apt-get install apache2 rsync&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Server2:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
apt-get install apache2 rsync&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nüüd on meil 2 serverit, millel on Rsync ja apache2 installitud&lt;br /&gt;
Apache2 hoiab oma asju:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/etc/apache2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Siis tuleks meil kindlasti sünkida seda kataloogi ja samuti ei tohi ära unustada ka kataloogi, kus meie apache asub&lt;br /&gt;
Näiteks:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/var/www/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nüüd paneme oma rsynci tööle, soovitavalt Crontabi. Meil tekkib probleem, et oleks vaja pärast apache2 konfiguratsioonide muutmist ka apache2 uuesti &amp;quot;reloadida&amp;quot;. Selleks kasutame skripti. Hetkel siin kasutamiseks kirjutasin lihtsa skripti, mida saab endale vastavalt kergelt parandada.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
touch /root/apache_rsync.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Anname käivitamise õigused, et pärast ei unustaks:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
chmod 755 apache_rsync.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nüüd, skript ise. Eeldus on see, et mõlemal pool on SSH lubatud!&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
vim /root/apache_rsync.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
#rsync ise&lt;br /&gt;
rsync -avz -e ssh root@192.168.101.138:/home/apache2 /home/apache2/&lt;br /&gt;
rsync -avz -e ssh root@192.168.101.138:/var/www/html /var/www/html&lt;br /&gt;
&lt;br /&gt;
#p2rast asjade yle kopeerimist tuleb teha reaload et teisel pool ikka asjad t66taks.&lt;br /&gt;
/etc/init.d/apache2 reload&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
See nüüd croni server2-le&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
vim /etc/crontab&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Lisage selline rida. Sellega hakatakse rsyncika hoidma servereid sünkroonis. Tehakse iga 15 minuti järgi. Number 15 võib muuta oma äranägemise järgi.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
*/15 * * * * root /root/apache_rsync.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Kokkuvõtteks==&lt;br /&gt;
Võiks öelda, et viimane skript on väga väike ja võiks kõvasti paremaks teha.&lt;br /&gt;
Näiteks: email saatmise sisse panna, sest hetkel me ei tea, millal server1 on põhiline ja millal server2 on põhiline. &lt;br /&gt;
Hetkel teeme eelduse , et server1 sai fataalse errori ja on katki ja pärast selle korda tegemist on see jälle põhiline.&lt;br /&gt;
&lt;br /&gt;
==Kasutatud kirjandus==&lt;br /&gt;
* http://valeriytroshin.blogspot.com/2011/08/carp-failover-redundancy-in-ubuntu-1104.html&lt;br /&gt;
* http://laurentbel.com/2012/04/12/simple-apache-failover-cluster-on-ubuntu-with-config-synchronization/&lt;br /&gt;
* http://www.auul.pri.ee/wiki/Operatsioonis%C3%BCsteemi_Debian_GNU/Linux_kasutamine#ucarp_kasutamine&lt;br /&gt;
* http://www.freebsd.org/doc/handbook/carp.html&lt;br /&gt;
* http://laurentbel.com/2012/04/04/simple-failover-cluster-on-ubuntu-using-carp/&lt;br /&gt;
* http://en.wikipedia.org/wiki/Common_Address_Redundancy_Protocol&lt;br /&gt;
* http://blog.ijun.org/2009/11/high-availability-with-freebsd-and-carp.html&lt;br /&gt;
* http://www.howtoforge.com/how-to-configure-a-pfsense-2.0-cluster-using-carp&lt;br /&gt;
* http://kuutorvaja.eenet.ee/wiki/K%C3%B5rgk%C3%A4ideldavus_UCARP_abil#Paigaldamine_ja_seadistamine_RHEL.2C_CentOS_ja_Fedora_kasutajatele&lt;br /&gt;
* http://www.pureftpd.org/project/ucarp&lt;/div&gt;</summary>
		<author><name>Mmust</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Ucarp&amp;diff=58969</id>
		<title>Ucarp</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Ucarp&amp;diff=58969"/>
		<updated>2012-12-11T09:20:57Z</updated>

		<summary type="html">&lt;p&gt;Mmust: /* Eel Seadistamine */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=UCARP/CARP=&lt;br /&gt;
Autor: Marek Must&amp;lt;br&amp;gt; 07.12.2012&lt;br /&gt;
Rühm: AK21&lt;br /&gt;
Esitamise kuupäev: &lt;br /&gt;
&lt;br /&gt;
==Sissejuhatus==&lt;br /&gt;
Carp (inglise k. &amp;quot;Common Address Redundancy Protocol&amp;quot;) on protokoll, mis lubab samadel serveritel samas subnetis jagada ühte IP aadressi.&lt;br /&gt;
&lt;br /&gt;
Ucarp on tarkvara, mis võimaldab sul vähemalt 2 serveri olemasolul jagada neile 1 virtuaalne IP aadress, mille tulemusega saadakse kluster.&lt;br /&gt;
Ucarp ei ole väga peen lahendus ja sellega tuleb alati arvestada.&lt;br /&gt;
&lt;br /&gt;
===Ucarpi tugevus===&lt;br /&gt;
   * Lihtsus (ülesse seadmine käib lihtsalt)&lt;br /&gt;
   * Väike serveri ressursside kasutamine&lt;br /&gt;
   * Pole vaja lisa võrgu otsasid (alati on kena, kuid see on täiesti teine teema)&lt;br /&gt;
   * Krüptograafiliselt signeeritud teated. (Ucarpil on seadistatud parool, öeldes lihtsalt)&lt;br /&gt;
   * Suudab töödata koos mitme operatsiooni süsteemiga (inglise k. interoperability )&lt;br /&gt;
&lt;br /&gt;
===Tööpühimõte===&lt;br /&gt;
&lt;br /&gt;
Ucrap töötab lihtsalt:&lt;br /&gt;
 1.) Kui &amp;quot;Server 1&amp;quot; on üleval, siis sellele on määratud virtuaalne IP aadress.&lt;br /&gt;
 2.) Kui &amp;quot;Server 1&amp;quot; on maas ja &amp;quot;Server 2&amp;quot; on primaarne (inglise k. primary), siis on määratud &amp;quot;Server2&amp;quot;-le virtuaalne IP aadress, eeldades, et &amp;quot;Server 2&amp;quot; töötab.&lt;br /&gt;
&lt;br /&gt;
===Ucarpi Nõrkus===&lt;br /&gt;
   * Ainult IP põhine kluster&lt;br /&gt;
   * Seadeid, teenuseid üle ei kanta, kui &amp;quot;Server 2&amp;quot; saab peamiseks serveriks.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Tsiteerides targemaid: ucarp on võrreldes keepalived või heartbeat tarkvaraga tagasihoidlikemate omadustega, kuid mõnel juhul võib just see ollagi eeliseks&lt;br /&gt;
&lt;br /&gt;
==UCARP install==&lt;br /&gt;
&lt;br /&gt;
Install käib lihtsalt:&lt;br /&gt;
&amp;lt;pre&amp;gt; &lt;br /&gt;
apt-get install ucarp &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Selle pannakse programmid peale. mitte unustada, et tarkvara tuleb installida mõlemale serverile!!&lt;br /&gt;
&lt;br /&gt;
==Eel Seadistamine==&lt;br /&gt;
&lt;br /&gt;
* 1.) Teil on installeeritud 2 serverit, kas siis virtuaalsed või mitte.&lt;br /&gt;
* 2.) Ubuntu tavaline install on täiesti piisav.&lt;br /&gt;
* 3.) Vmware või Virtualboxi installi kasutades on elu natukene lihtsam (seda kasutan ka siin hetkel)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Kui olite sama laisk nagu mina, siis lasite alguses IP anda endale DHCP-ga, milleks oli 192.168.101.138&lt;br /&gt;
Seda saab vaadata:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;PRE&amp;gt;&lt;br /&gt;
ifconfig&lt;br /&gt;
&amp;lt;/PRE&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tulemüüri(inglise k. Gateway) saamine on natuke keerulisem, sest DHCP-ga seda ei ole võimalik päris &amp;quot;tavaliselt&amp;quot; ( ifconfig) näha.&lt;br /&gt;
Tulemüüri nägemiseks on olemas mitu võimalust, kuid mulle meeldib kasutada traceroutei. Tava installis seda paketti peal ei ole ja seega tuleks see paigaldada&lt;br /&gt;
&lt;br /&gt;
&amp;lt;PRE&amp;gt;&lt;br /&gt;
apt-get install traceroute&lt;br /&gt;
&amp;lt;/PRE&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kasutades traceroutei saame:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
traceroute www.neti.ee&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
ja esimene tulemus annab meile juba teada, meie DHCP aadressi:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@ubuntu:~# traceroute www.neti.ee&lt;br /&gt;
traceroute to www.neti.ee (195.50.209.245), 30 hops max, 60 byte packets&lt;br /&gt;
 1  192.168.101.2 (192.168.101.2)  0.139 ms  0.103 ms  0.076 ms^C&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Meie IP ja tulemüür peaksid nägema välja hetkel sellised:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
IP: 192.168.101.138&lt;br /&gt;
GW: 192.168.110.2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Teie praegune olukord peaks olema midagi sellist:&lt;br /&gt;
&lt;br /&gt;
Server1&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@ubuntu:~# ifconfig&lt;br /&gt;
eth0      Link encap:Ethernet  HWaddr 00:0c:29:6f:d7:c4&lt;br /&gt;
          inet addr:192.168.101.138  Bcast:192.168.101.255  Mask:255.255.255.0&lt;br /&gt;
          inet6 addr: fe80::20c:29ff:fe6f:d7c4/64 Scope:Link&lt;br /&gt;
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1&lt;br /&gt;
          RX packets:8377 errors:0 dropped:0 overruns:0 frame:0&lt;br /&gt;
          TX packets:5937 errors:0 dropped:0 overruns:0 carrier:0&lt;br /&gt;
          collisions:0 txqueuelen:1000&lt;br /&gt;
          RX bytes:9556394 (9.5 MB)  TX bytes:426352 (426.3 KB)&lt;br /&gt;
&lt;br /&gt;
lo        Link encap:Local Loopback&lt;br /&gt;
          inet addr:127.0.0.1  Mask:255.0.0.0&lt;br /&gt;
          inet6 addr: ::1/128 Scope:Host&lt;br /&gt;
          UP LOOPBACK RUNNING  MTU:16436  Metric:1&lt;br /&gt;
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0&lt;br /&gt;
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0&lt;br /&gt;
          collisions:0 txqueuelen:0&lt;br /&gt;
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Server2&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
root@ubuntu:~# ifconfig&lt;br /&gt;
eth0      Link encap:Ethernet  HWaddr 00:0c:29:99:51:66&lt;br /&gt;
          inet addr:192.168.101.140  Bcast:192.168.101.255  Mask:255.255.255.0&lt;br /&gt;
          inet6 addr: fe80::20c:29ff:fe99:5166/64 Scope:Link&lt;br /&gt;
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1&lt;br /&gt;
          RX packets:7586 errors:0 dropped:0 overruns:0 frame:0&lt;br /&gt;
          TX packets:4140 errors:0 dropped:0 overruns:0 carrier:0&lt;br /&gt;
          collisions:0 txqueuelen:1000&lt;br /&gt;
          RX bytes:9481944 (9.4 MB)  TX bytes:253201 (253.2 KB)&lt;br /&gt;
&lt;br /&gt;
lo        Link encap:Local Loopback&lt;br /&gt;
          inet addr:127.0.0.1  Mask:255.0.0.0&lt;br /&gt;
          inet6 addr: ::1/128 Scope:Host&lt;br /&gt;
          UP LOOPBACK RUNNING  MTU:16436  Metric:1&lt;br /&gt;
          RX packets:1 errors:0 dropped:0 overruns:0 frame:0&lt;br /&gt;
          TX packets:1 errors:0 dropped:0 overruns:0 carrier:0&lt;br /&gt;
          collisions:0 txqueuelen:0&lt;br /&gt;
          RX bytes:112 (112.0 B)  TX bytes:112 (112.0 B)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Ucarp Seadistammine==&lt;br /&gt;
&lt;br /&gt;
==Server 1==&lt;br /&gt;
&amp;lt;pre&amp;gt; vim /etc/network/interfaces &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Peaks avanema selline pilt:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# This file describes the network interfaces available on your system&lt;br /&gt;
# and how to activate them. For more information, see interfaces(5).&lt;br /&gt;
&lt;br /&gt;
# The loopback network interface&lt;br /&gt;
auto lo&lt;br /&gt;
iface lo inet loopback&lt;br /&gt;
&lt;br /&gt;
# The primary network interface&lt;br /&gt;
auto eth0&lt;br /&gt;
iface eth0 inet dhcp&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nüüd siis muudame selle ümber:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
root@ubuntu:~# vim /etc/network/interfaces&lt;br /&gt;
# This file describes the network interfaces available on your system&lt;br /&gt;
# and how to activate them. For more information, see interfaces(5).&lt;br /&gt;
&lt;br /&gt;
# The loopback network interface&lt;br /&gt;
auto lo&lt;br /&gt;
iface lo inet loopback&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# The primary network interface&lt;br /&gt;
auto eth0&lt;br /&gt;
iface eth0 inet static&lt;br /&gt;
        ################################&lt;br /&gt;
        # standard network configuration&lt;br /&gt;
        ################################&lt;br /&gt;
        address 192.168.101.138  # meie IP, mis panime alguses&lt;br /&gt;
        netmask 255.255.255.0    # netmask, selle saab ifconfig käsuga&lt;br /&gt;
        gateway 192.168.101.2    # traceroute aitas siin&lt;br /&gt;
        network 192.168.101.0    # natuke tuletamist..&lt;br /&gt;
        broadcast 192.168.101.255 #samuti ifconfig aitab&lt;br /&gt;
&lt;br /&gt;
        ################################&lt;br /&gt;
        # ucarp configuration  #########&lt;br /&gt;
        ################################&lt;br /&gt;
        # vid : The ID of the virtual server [1-255]&lt;br /&gt;
        ucarp-vid 1&lt;br /&gt;
        # vip : Virtuaalne IP aadress&lt;br /&gt;
        ucarp-vip 192.168.101.139&lt;br /&gt;
        # password : Mõlemal pool sama!!!!&lt;br /&gt;
        ucarp-password secret&lt;br /&gt;
        # advskew : Advertisement skew [1-255] # tähendab maakeels seda, et me ei reklaamime ennast koguaeg.&lt;br /&gt;
        ucarp-advskew 1&lt;br /&gt;
        # advbase &lt;br /&gt;
        ucarp-advbase 1&lt;br /&gt;
        # Kontroll, kas oleme peamine server?&lt;br /&gt;
        ucarp-master yes&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# CARP võrgu addressi kirjutame siia lihtsalt&lt;br /&gt;
iface eth0:ucarp inet static&lt;br /&gt;
        address 192.168.101.139&lt;br /&gt;
        netmask 255.255.255.0&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kindlasti tuleb teha võrgule restart, et kõik seaded võetakse kasutusse.&lt;br /&gt;
advskew ja advbase on asjad millega kontrollitakse kui tihedalt brodcastitakse.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/etc/init.d/networking restart &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Peaks avanema midagi sellist:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
root@ubuntu:~# ifconfig&lt;br /&gt;
eth0      Link encap:Ethernet  HWaddr 00:0c:29:6f:d7:c4&lt;br /&gt;
          inet addr:192.168.101.138  Bcast:192.168.101.255  Mask:255.255.255.0&lt;br /&gt;
          inet6 addr: fe80::20c:29ff:fe6f:d7c4/64 Scope:Link&lt;br /&gt;
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1&lt;br /&gt;
          RX packets:1195 errors:0 dropped:0 overruns:0 frame:0&lt;br /&gt;
          TX packets:287 errors:0 dropped:0 overruns:0 carrier:0&lt;br /&gt;
          collisions:0 txqueuelen:1000&lt;br /&gt;
          RX bytes:88166 (88.1 KB)  TX bytes:29985 (29.9 KB)&lt;br /&gt;
&lt;br /&gt;
eth0:ucarp Link encap:Ethernet  HWaddr 00:0c:29:6f:d7:c4&lt;br /&gt;
          inet addr:192.168.101.139  Bcast:192.168.101.255  Mask:255.255.255.0&lt;br /&gt;
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1&lt;br /&gt;
&lt;br /&gt;
lo        Link encap:Local Loopback&lt;br /&gt;
          inet addr:127.0.0.1  Mask:255.0.0.0&lt;br /&gt;
          inet6 addr: ::1/128 Scope:Host&lt;br /&gt;
          UP LOOPBACK RUNNING  MTU:16436  Metric:1&lt;br /&gt;
          RX packets:36 errors:0 dropped:0 overruns:0 frame:0&lt;br /&gt;
          TX packets:36 errors:0 dropped:0 overruns:0 carrier:0&lt;br /&gt;
          collisions:0 txqueuelen:0&lt;br /&gt;
          RX bytes:2712 (2.7 KB)  TX bytes:2712 (2.7 KB)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
See annab meile selguse, et Server1s on Ucarp kasutuses!&lt;br /&gt;
&lt;br /&gt;
==Server 2==&lt;br /&gt;
&lt;br /&gt;
Nüüd tuleks teha samasugune muutus ka server 2s.&lt;br /&gt;
Olles laisad, siis saame nüüd kopeerida selle ka teise serverisse, pärast teeme muudatused:&lt;br /&gt;
Paar asja on siin väga tähtsad:&lt;br /&gt;
&lt;br /&gt;
 1.) ucarp-advskew 100 # tähendab maakeeles seda, et me ei reklaami ennast nii tihedalt.&lt;br /&gt;
 2.) ucarp-master no # Server ka ei ole master!&lt;br /&gt;
 3.) IP address peab olema ikka selle serveri oma (192.168.101.140). Muud asjad samad&lt;br /&gt;
 4.) virtuaalsed IP-d peaksid olema need, mis eelmisel serveril.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# This file describes the network interfaces available on your system&lt;br /&gt;
# and how to activate them. For more information, see interfaces(5).&lt;br /&gt;
&lt;br /&gt;
# The loopback network interface&lt;br /&gt;
auto lo&lt;br /&gt;
iface lo inet loopback&lt;br /&gt;
&lt;br /&gt;
# The primary network interface&lt;br /&gt;
auto eth0&lt;br /&gt;
iface eth0 inet static&lt;br /&gt;
        ################################&lt;br /&gt;
        # standard network configuration&lt;br /&gt;
        ################################&lt;br /&gt;
        address 192.168.101.140&lt;br /&gt;
        netmask 255.255.255.0&lt;br /&gt;
        gateway 192.168.101.2&lt;br /&gt;
        network 192.168.101.0&lt;br /&gt;
        broadcast 192.168.101.255&lt;br /&gt;
&lt;br /&gt;
        ################################&lt;br /&gt;
        # ucarp configuration&lt;br /&gt;
        ################################&lt;br /&gt;
        # vid : The ID of the virtual server [1-255]&lt;br /&gt;
        ucarp-vid 1&lt;br /&gt;
        # vip : Virtuaalne IP aadress&lt;br /&gt;
        ucarp-vip 192.168.101.139&lt;br /&gt;
        # password : A password used to encrypt Carp communications&lt;br /&gt;
        ucarp-password secret&lt;br /&gt;
        # advskew : Advertisement skew [1-255] &lt;br /&gt;
        ucarp-advskew 100&lt;br /&gt;
        # advbase : Interval in seconds that advertisements will occur&lt;br /&gt;
        ucarp-advbase 1&lt;br /&gt;
        # master : nüüd me enam ei ole master. Seega määrame ära &amp;quot;no&amp;quot;&lt;br /&gt;
        ucarp-master no&lt;br /&gt;
&lt;br /&gt;
# The carp network interface, on top of eth1&lt;br /&gt;
iface eth0:ucarp inet static&lt;br /&gt;
        address 192.168.101.139&lt;br /&gt;
        netmask 255.255.255.0&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nüüd kui vastavad muudatused on sees, siis teeme ka võrgule restarti&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/etc/init.d/networking restart&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Kui märkasid, siis tegelikult midagi ei juhtunud, kuna oleme mitte masterid!&lt;br /&gt;
Kõik peaks nägema välja nagu endine:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
eth0      Link encap:Ethernet  HWaddr 00:0c:29:99:51:66&lt;br /&gt;
          inet addr:192.168.101.140  Bcast:192.168.101.255  Mask:255.255.255.0&lt;br /&gt;
          inet6 addr: fe80::20c:29ff:fe99:5166/64 Scope:Link&lt;br /&gt;
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1&lt;br /&gt;
          RX packets:213 errors:0 dropped:0 overruns:0 frame:0&lt;br /&gt;
          TX packets:99 errors:0 dropped:0 overruns:0 carrier:0&lt;br /&gt;
          collisions:0 txqueuelen:1000&lt;br /&gt;
          RX bytes:17498 (17.4 KB)  TX bytes:12669 (12.6 KB)&lt;br /&gt;
&lt;br /&gt;
lo        Link encap:Local Loopback&lt;br /&gt;
          inet addr:127.0.0.1  Mask:255.0.0.0&lt;br /&gt;
          inet6 addr: ::1/128 Scope:Host&lt;br /&gt;
          UP LOOPBACK RUNNING  MTU:16436  Metric:1&lt;br /&gt;
          RX packets:18 errors:0 dropped:0 overruns:0 frame:0&lt;br /&gt;
          TX packets:18 errors:0 dropped:0 overruns:0 carrier:0&lt;br /&gt;
          collisions:0 txqueuelen:0&lt;br /&gt;
          RX bytes:1380 (1.3 KB)  TX bytes:1380 (1.3 KB)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==UCARP testimine==&lt;br /&gt;
&lt;br /&gt;
Nüüd on mõlemad serverid paigas ja töötavad Ucarp on mõlemale installitud, kuid hetkel me ikka ei tea, kas Ucarp tegelikult ka töötab.&lt;br /&gt;
&lt;br /&gt;
Kerge test võiks olla selline, et paneme serveri kinni, millel hetkel on ucarp aktiveeritud, minu puhul&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
shutdown -h now&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nüüd peaksid nägema Server2s (minu puhul) ucarpi aktiveeritult.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ifconfig&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Vastus:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@ubuntu:~# ifconfig&lt;br /&gt;
eth0      Link encap:Ethernet  HWaddr 00:0c:29:99:51:66&lt;br /&gt;
          inet addr:192.168.101.140  Bcast:192.168.101.255  Mask:255.255.255.0&lt;br /&gt;
          inet6 addr: fe80::20c:29ff:fe99:5166/64 Scope:Link&lt;br /&gt;
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1&lt;br /&gt;
          RX packets:1270 errors:0 dropped:0 overruns:0 frame:0&lt;br /&gt;
          TX packets:929 errors:0 dropped:0 overruns:0 carrier:0&lt;br /&gt;
          collisions:0 txqueuelen:1000&lt;br /&gt;
          RX bytes:94480 (94.4 KB)  TX bytes:113861 (113.8 KB)&lt;br /&gt;
&lt;br /&gt;
eth0:ucarp Link encap:Ethernet  HWaddr 00:0c:29:99:51:66&lt;br /&gt;
          inet addr:192.168.101.139  Bcast:192.168.101.255  Mask:255.255.255.0&lt;br /&gt;
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1&lt;br /&gt;
&lt;br /&gt;
lo        Link encap:Local Loopback&lt;br /&gt;
          inet addr:127.0.0.1  Mask:255.0.0.0&lt;br /&gt;
          inet6 addr: ::1/128 Scope:Host&lt;br /&gt;
          UP LOOPBACK RUNNING  MTU:16436  Metric:1&lt;br /&gt;
          RX packets:482 errors:0 dropped:0 overruns:0 frame:0&lt;br /&gt;
          TX packets:482 errors:0 dropped:0 overruns:0 carrier:0&lt;br /&gt;
          collisions:0 txqueuelen:0&lt;br /&gt;
          RX bytes:38580 (38.5 KB)  TX bytes:38580 (38.5 KB)&lt;br /&gt;
&lt;br /&gt;
root@ubuntu:~#&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Annab meile jällegi kindlustunde, et tõesti server1 annab oma asjad üle server2le, kui server1-ga peaks midagi juhtuma.&lt;br /&gt;
&lt;br /&gt;
==UCARP ja Apache koos==&lt;br /&gt;
&lt;br /&gt;
Idee on lihtne. Installime mõlemale serverile apache serveri ja hoiame neid süngis linuxi vahenditega.&lt;br /&gt;
Selleks võib olla rsync või ka tavaline copy cronis :) Hetkel kasutame rsynci.&lt;br /&gt;
&lt;br /&gt;
Installime apachei ja rsynci:&lt;br /&gt;
&lt;br /&gt;
Server1:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
apt-get install apache2 rsync&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Server2:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
apt-get install apache2 rsync&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nüüd on meil 2 serverit, millel on Rsync ja apache2 installitud&lt;br /&gt;
Apache2 hoiab oma asju:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/etc/apache2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Siis tuleks meil kindlasti sünkida seda kataloogi ja samuti ei tohi ära unustada ka kataloogi, kus meie apache asub&lt;br /&gt;
Näiteks:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/var/www/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nüüd paneme oma rsynci tööle, soovitavalt Crontabi. Meil tekkib probleem, et oleks vaja pärast apache2 konfiguratsioonide muutmist ka apache2 uuesti &amp;quot;reloadida&amp;quot;. Selleks kasutame skripti. Hetkel siin kasutamiseks kirjutasin lihtsa skripti, mida saab endale vastavalt kergelt parandada.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
touch /root/apache_rsync.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Anname käivitamise õigused, et pärast ei unustaks:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
chmod 755 apache_rsync.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nüüd, skript ise. Eeldus on see, et mõlemal pool on SSH lubatud!&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
vim /root/apache_rsync.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
#rsync ise&lt;br /&gt;
rsync -avz -e ssh root@192.168.101.138:/home/apache2 /home/apache2/&lt;br /&gt;
rsync -avz -e ssh root@192.168.101.138:/var/www/html /var/www/html&lt;br /&gt;
&lt;br /&gt;
#p2rast asjade yle kopeerimist tuleb teha reaload et teisel pool ikka asjad t66taks.&lt;br /&gt;
/etc/init.d/apache2 reload&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
See nüüd croni server2-le&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
vim /etc/crontab&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Lisage selline rida. Sellega hakatakse rsyncika hoidma servereid sünkroonis. Tehakse iga 15 minuti järgi. Number 15 võib muuta oma äranägemise järgi.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
*/15 * * * * root /root/apache_rsync.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Kokkuvõtteks==&lt;br /&gt;
Võiks öelda, et viimane skript on väga väike ja võiks kõvasti paremaks teha.&lt;br /&gt;
Näiteks: email saatmise sisse panna, sest hetkel me ei tea, millal server1 on põhiline ja millal server2 on põhiline. &lt;br /&gt;
Hetkel teeme eelduse , et server1 sai fataalse errori ja on katki ja pärast selle korda tegemist on see jälle põhiline.&lt;br /&gt;
&lt;br /&gt;
==Kasutatud kirjandus==&lt;br /&gt;
* http://valeriytroshin.blogspot.com/2011/08/carp-failover-redundancy-in-ubuntu-1104.html&lt;br /&gt;
* http://laurentbel.com/2012/04/12/simple-apache-failover-cluster-on-ubuntu-with-config-synchronization/&lt;br /&gt;
* http://www.auul.pri.ee/wiki/Operatsioonis%C3%BCsteemi_Debian_GNU/Linux_kasutamine#ucarp_kasutamine&lt;br /&gt;
* http://www.freebsd.org/doc/handbook/carp.html&lt;br /&gt;
* http://laurentbel.com/2012/04/04/simple-failover-cluster-on-ubuntu-using-carp/&lt;br /&gt;
* http://en.wikipedia.org/wiki/Common_Address_Redundancy_Protocol&lt;br /&gt;
* http://blog.ijun.org/2009/11/high-availability-with-freebsd-and-carp.html&lt;br /&gt;
* http://www.howtoforge.com/how-to-configure-a-pfsense-2.0-cluster-using-carp&lt;br /&gt;
* http://kuutorvaja.eenet.ee/wiki/K%C3%B5rgk%C3%A4ideldavus_UCARP_abil#Paigaldamine_ja_seadistamine_RHEL.2C_CentOS_ja_Fedora_kasutajatele&lt;br /&gt;
* http://www.pureftpd.org/project/ucarp&lt;/div&gt;</summary>
		<author><name>Mmust</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Ucarp&amp;diff=58968</id>
		<title>Ucarp</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Ucarp&amp;diff=58968"/>
		<updated>2012-12-11T09:18:16Z</updated>

		<summary type="html">&lt;p&gt;Mmust: /* Ucarpi Nõrkus */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=UCARP/CARP=&lt;br /&gt;
Autor: Marek Must&amp;lt;br&amp;gt; 07.12.2012&lt;br /&gt;
Rühm: AK21&lt;br /&gt;
Esitamise kuupäev: &lt;br /&gt;
&lt;br /&gt;
==Sissejuhatus==&lt;br /&gt;
Carp (inglise k. &amp;quot;Common Address Redundancy Protocol&amp;quot;) on protokoll, mis lubab samadel serveritel samas subnetis jagada ühte IP aadressi.&lt;br /&gt;
&lt;br /&gt;
Ucarp on tarkvara, mis võimaldab sul vähemalt 2 serveri olemasolul jagada neile 1 virtuaalne IP aadress, mille tulemusega saadakse kluster.&lt;br /&gt;
Ucarp ei ole väga peen lahendus ja sellega tuleb alati arvestada.&lt;br /&gt;
&lt;br /&gt;
===Ucarpi tugevus===&lt;br /&gt;
   * Lihtsus (ülesse seadmine käib lihtsalt)&lt;br /&gt;
   * Väike serveri ressursside kasutamine&lt;br /&gt;
   * Pole vaja lisa võrgu otsasid (alati on kena, kuid see on täiesti teine teema)&lt;br /&gt;
   * Krüptograafiliselt signeeritud teated. (Ucarpil on seadistatud parool, öeldes lihtsalt)&lt;br /&gt;
   * Suudab töödata koos mitme operatsiooni süsteemiga (inglise k. interoperability )&lt;br /&gt;
&lt;br /&gt;
===Tööpühimõte===&lt;br /&gt;
&lt;br /&gt;
Ucrap töötab lihtsalt:&lt;br /&gt;
 1.) Kui &amp;quot;Server 1&amp;quot; on üleval, siis sellele on määratud virtuaalne IP aadress.&lt;br /&gt;
 2.) Kui &amp;quot;Server 1&amp;quot; on maas ja &amp;quot;Server 2&amp;quot; on primaarne (inglise k. primary), siis on määratud &amp;quot;Server2&amp;quot;-le virtuaalne IP aadress, eeldades, et &amp;quot;Server 2&amp;quot; töötab.&lt;br /&gt;
&lt;br /&gt;
===Ucarpi Nõrkus===&lt;br /&gt;
   * Ainult IP põhine kluster&lt;br /&gt;
   * Seadeid, teenuseid üle ei kanta, kui &amp;quot;Server 2&amp;quot; saab peamiseks serveriks.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Tsiteerides targemaid: ucarp on võrreldes keepalived või heartbeat tarkvaraga tagasihoidlikemate omadustega, kuid mõnel juhul võib just see ollagi eeliseks&lt;br /&gt;
&lt;br /&gt;
==UCARP install==&lt;br /&gt;
&lt;br /&gt;
Install käib lihtsalt:&lt;br /&gt;
&amp;lt;pre&amp;gt; &lt;br /&gt;
apt-get install ucarp &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Selle pannakse programmid peale. mitte unustada, et tarkvara tuleb installida mõlemale serverile!!&lt;br /&gt;
&lt;br /&gt;
==Eel Seadistamine==&lt;br /&gt;
&lt;br /&gt;
Kui olite sama laisk nagu mina, siis lasite alguses IP anda endale DHCP-ga, milleks oli 192.168.101.138&lt;br /&gt;
Seda saab vaadata:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;PRE&amp;gt;&lt;br /&gt;
ifconfig&lt;br /&gt;
&amp;lt;/PRE&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tulemüüri(inglise k. Gateway) saamine on natuke keerulisem, sest DHCP-ga seda ei ole võimalik päris &amp;quot;tavaliselt&amp;quot; ( ifconfig) näha.&lt;br /&gt;
Tulemüüri nägemiseks on olemas mitu võimalust, kuid mulle meeldib kasutada traceroutei. Tava installis seda paketti peal ei ole ja seega tuleks see paigaldada&lt;br /&gt;
&lt;br /&gt;
&amp;lt;PRE&amp;gt;&lt;br /&gt;
apt-get install traceroute&lt;br /&gt;
&amp;lt;/PRE&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kasutades traceroutei saame:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
traceroute www.neti.ee&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
ja esimene tulemus annab meile juba teada, meie DHCP aadressi:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@ubuntu:~# traceroute www.neti.ee&lt;br /&gt;
traceroute to www.neti.ee (195.50.209.245), 30 hops max, 60 byte packets&lt;br /&gt;
 1  192.168.101.2 (192.168.101.2)  0.139 ms  0.103 ms  0.076 ms^C&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Meie IP ja tulemüür peaksid nägema välja hetkel sellised:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
IP: 192.168.101.138&lt;br /&gt;
GW: 192.168.110.2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Teie praegune olukord peaks olema midagi sellist:&lt;br /&gt;
&lt;br /&gt;
Server1&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@ubuntu:~# ifconfig&lt;br /&gt;
eth0      Link encap:Ethernet  HWaddr 00:0c:29:6f:d7:c4&lt;br /&gt;
          inet addr:192.168.101.138  Bcast:192.168.101.255  Mask:255.255.255.0&lt;br /&gt;
          inet6 addr: fe80::20c:29ff:fe6f:d7c4/64 Scope:Link&lt;br /&gt;
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1&lt;br /&gt;
          RX packets:8377 errors:0 dropped:0 overruns:0 frame:0&lt;br /&gt;
          TX packets:5937 errors:0 dropped:0 overruns:0 carrier:0&lt;br /&gt;
          collisions:0 txqueuelen:1000&lt;br /&gt;
          RX bytes:9556394 (9.5 MB)  TX bytes:426352 (426.3 KB)&lt;br /&gt;
&lt;br /&gt;
lo        Link encap:Local Loopback&lt;br /&gt;
          inet addr:127.0.0.1  Mask:255.0.0.0&lt;br /&gt;
          inet6 addr: ::1/128 Scope:Host&lt;br /&gt;
          UP LOOPBACK RUNNING  MTU:16436  Metric:1&lt;br /&gt;
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0&lt;br /&gt;
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0&lt;br /&gt;
          collisions:0 txqueuelen:0&lt;br /&gt;
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Server2&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
root@ubuntu:~# ifconfig&lt;br /&gt;
eth0      Link encap:Ethernet  HWaddr 00:0c:29:99:51:66&lt;br /&gt;
          inet addr:192.168.101.140  Bcast:192.168.101.255  Mask:255.255.255.0&lt;br /&gt;
          inet6 addr: fe80::20c:29ff:fe99:5166/64 Scope:Link&lt;br /&gt;
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1&lt;br /&gt;
          RX packets:7586 errors:0 dropped:0 overruns:0 frame:0&lt;br /&gt;
          TX packets:4140 errors:0 dropped:0 overruns:0 carrier:0&lt;br /&gt;
          collisions:0 txqueuelen:1000&lt;br /&gt;
          RX bytes:9481944 (9.4 MB)  TX bytes:253201 (253.2 KB)&lt;br /&gt;
&lt;br /&gt;
lo        Link encap:Local Loopback&lt;br /&gt;
          inet addr:127.0.0.1  Mask:255.0.0.0&lt;br /&gt;
          inet6 addr: ::1/128 Scope:Host&lt;br /&gt;
          UP LOOPBACK RUNNING  MTU:16436  Metric:1&lt;br /&gt;
          RX packets:1 errors:0 dropped:0 overruns:0 frame:0&lt;br /&gt;
          TX packets:1 errors:0 dropped:0 overruns:0 carrier:0&lt;br /&gt;
          collisions:0 txqueuelen:0&lt;br /&gt;
          RX bytes:112 (112.0 B)  TX bytes:112 (112.0 B)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Ucarp Seadistammine==&lt;br /&gt;
&lt;br /&gt;
==Server 1==&lt;br /&gt;
&amp;lt;pre&amp;gt; vim /etc/network/interfaces &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Peaks avanema selline pilt:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# This file describes the network interfaces available on your system&lt;br /&gt;
# and how to activate them. For more information, see interfaces(5).&lt;br /&gt;
&lt;br /&gt;
# The loopback network interface&lt;br /&gt;
auto lo&lt;br /&gt;
iface lo inet loopback&lt;br /&gt;
&lt;br /&gt;
# The primary network interface&lt;br /&gt;
auto eth0&lt;br /&gt;
iface eth0 inet dhcp&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nüüd siis muudame selle ümber:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
root@ubuntu:~# vim /etc/network/interfaces&lt;br /&gt;
# This file describes the network interfaces available on your system&lt;br /&gt;
# and how to activate them. For more information, see interfaces(5).&lt;br /&gt;
&lt;br /&gt;
# The loopback network interface&lt;br /&gt;
auto lo&lt;br /&gt;
iface lo inet loopback&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# The primary network interface&lt;br /&gt;
auto eth0&lt;br /&gt;
iface eth0 inet static&lt;br /&gt;
        ################################&lt;br /&gt;
        # standard network configuration&lt;br /&gt;
        ################################&lt;br /&gt;
        address 192.168.101.138  # meie IP, mis panime alguses&lt;br /&gt;
        netmask 255.255.255.0    # netmask, selle saab ifconfig käsuga&lt;br /&gt;
        gateway 192.168.101.2    # traceroute aitas siin&lt;br /&gt;
        network 192.168.101.0    # natuke tuletamist..&lt;br /&gt;
        broadcast 192.168.101.255 #samuti ifconfig aitab&lt;br /&gt;
&lt;br /&gt;
        ################################&lt;br /&gt;
        # ucarp configuration  #########&lt;br /&gt;
        ################################&lt;br /&gt;
        # vid : The ID of the virtual server [1-255]&lt;br /&gt;
        ucarp-vid 1&lt;br /&gt;
        # vip : Virtuaalne IP aadress&lt;br /&gt;
        ucarp-vip 192.168.101.139&lt;br /&gt;
        # password : Mõlemal pool sama!!!!&lt;br /&gt;
        ucarp-password secret&lt;br /&gt;
        # advskew : Advertisement skew [1-255] # tähendab maakeels seda, et me ei reklaamime ennast koguaeg.&lt;br /&gt;
        ucarp-advskew 1&lt;br /&gt;
        # advbase &lt;br /&gt;
        ucarp-advbase 1&lt;br /&gt;
        # Kontroll, kas oleme peamine server?&lt;br /&gt;
        ucarp-master yes&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# CARP võrgu addressi kirjutame siia lihtsalt&lt;br /&gt;
iface eth0:ucarp inet static&lt;br /&gt;
        address 192.168.101.139&lt;br /&gt;
        netmask 255.255.255.0&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kindlasti tuleb teha võrgule restart, et kõik seaded võetakse kasutusse.&lt;br /&gt;
advskew ja advbase on asjad millega kontrollitakse kui tihedalt brodcastitakse.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/etc/init.d/networking restart &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Peaks avanema midagi sellist:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
root@ubuntu:~# ifconfig&lt;br /&gt;
eth0      Link encap:Ethernet  HWaddr 00:0c:29:6f:d7:c4&lt;br /&gt;
          inet addr:192.168.101.138  Bcast:192.168.101.255  Mask:255.255.255.0&lt;br /&gt;
          inet6 addr: fe80::20c:29ff:fe6f:d7c4/64 Scope:Link&lt;br /&gt;
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1&lt;br /&gt;
          RX packets:1195 errors:0 dropped:0 overruns:0 frame:0&lt;br /&gt;
          TX packets:287 errors:0 dropped:0 overruns:0 carrier:0&lt;br /&gt;
          collisions:0 txqueuelen:1000&lt;br /&gt;
          RX bytes:88166 (88.1 KB)  TX bytes:29985 (29.9 KB)&lt;br /&gt;
&lt;br /&gt;
eth0:ucarp Link encap:Ethernet  HWaddr 00:0c:29:6f:d7:c4&lt;br /&gt;
          inet addr:192.168.101.139  Bcast:192.168.101.255  Mask:255.255.255.0&lt;br /&gt;
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1&lt;br /&gt;
&lt;br /&gt;
lo        Link encap:Local Loopback&lt;br /&gt;
          inet addr:127.0.0.1  Mask:255.0.0.0&lt;br /&gt;
          inet6 addr: ::1/128 Scope:Host&lt;br /&gt;
          UP LOOPBACK RUNNING  MTU:16436  Metric:1&lt;br /&gt;
          RX packets:36 errors:0 dropped:0 overruns:0 frame:0&lt;br /&gt;
          TX packets:36 errors:0 dropped:0 overruns:0 carrier:0&lt;br /&gt;
          collisions:0 txqueuelen:0&lt;br /&gt;
          RX bytes:2712 (2.7 KB)  TX bytes:2712 (2.7 KB)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
See annab meile selguse, et Server1s on Ucarp kasutuses!&lt;br /&gt;
&lt;br /&gt;
==Server 2==&lt;br /&gt;
&lt;br /&gt;
Nüüd tuleks teha samasugune muutus ka server 2s.&lt;br /&gt;
Olles laisad, siis saame nüüd kopeerida selle ka teise serverisse, pärast teeme muudatused:&lt;br /&gt;
Paar asja on siin väga tähtsad:&lt;br /&gt;
&lt;br /&gt;
 1.) ucarp-advskew 100 # tähendab maakeeles seda, et me ei reklaami ennast nii tihedalt.&lt;br /&gt;
 2.) ucarp-master no # Server ka ei ole master!&lt;br /&gt;
 3.) IP address peab olema ikka selle serveri oma (192.168.101.140). Muud asjad samad&lt;br /&gt;
 4.) virtuaalsed IP-d peaksid olema need, mis eelmisel serveril.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# This file describes the network interfaces available on your system&lt;br /&gt;
# and how to activate them. For more information, see interfaces(5).&lt;br /&gt;
&lt;br /&gt;
# The loopback network interface&lt;br /&gt;
auto lo&lt;br /&gt;
iface lo inet loopback&lt;br /&gt;
&lt;br /&gt;
# The primary network interface&lt;br /&gt;
auto eth0&lt;br /&gt;
iface eth0 inet static&lt;br /&gt;
        ################################&lt;br /&gt;
        # standard network configuration&lt;br /&gt;
        ################################&lt;br /&gt;
        address 192.168.101.140&lt;br /&gt;
        netmask 255.255.255.0&lt;br /&gt;
        gateway 192.168.101.2&lt;br /&gt;
        network 192.168.101.0&lt;br /&gt;
        broadcast 192.168.101.255&lt;br /&gt;
&lt;br /&gt;
        ################################&lt;br /&gt;
        # ucarp configuration&lt;br /&gt;
        ################################&lt;br /&gt;
        # vid : The ID of the virtual server [1-255]&lt;br /&gt;
        ucarp-vid 1&lt;br /&gt;
        # vip : Virtuaalne IP aadress&lt;br /&gt;
        ucarp-vip 192.168.101.139&lt;br /&gt;
        # password : A password used to encrypt Carp communications&lt;br /&gt;
        ucarp-password secret&lt;br /&gt;
        # advskew : Advertisement skew [1-255] &lt;br /&gt;
        ucarp-advskew 100&lt;br /&gt;
        # advbase : Interval in seconds that advertisements will occur&lt;br /&gt;
        ucarp-advbase 1&lt;br /&gt;
        # master : nüüd me enam ei ole master. Seega määrame ära &amp;quot;no&amp;quot;&lt;br /&gt;
        ucarp-master no&lt;br /&gt;
&lt;br /&gt;
# The carp network interface, on top of eth1&lt;br /&gt;
iface eth0:ucarp inet static&lt;br /&gt;
        address 192.168.101.139&lt;br /&gt;
        netmask 255.255.255.0&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nüüd kui vastavad muudatused on sees, siis teeme ka võrgule restarti&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/etc/init.d/networking restart&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Kui märkasid, siis tegelikult midagi ei juhtunud, kuna oleme mitte masterid!&lt;br /&gt;
Kõik peaks nägema välja nagu endine:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
eth0      Link encap:Ethernet  HWaddr 00:0c:29:99:51:66&lt;br /&gt;
          inet addr:192.168.101.140  Bcast:192.168.101.255  Mask:255.255.255.0&lt;br /&gt;
          inet6 addr: fe80::20c:29ff:fe99:5166/64 Scope:Link&lt;br /&gt;
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1&lt;br /&gt;
          RX packets:213 errors:0 dropped:0 overruns:0 frame:0&lt;br /&gt;
          TX packets:99 errors:0 dropped:0 overruns:0 carrier:0&lt;br /&gt;
          collisions:0 txqueuelen:1000&lt;br /&gt;
          RX bytes:17498 (17.4 KB)  TX bytes:12669 (12.6 KB)&lt;br /&gt;
&lt;br /&gt;
lo        Link encap:Local Loopback&lt;br /&gt;
          inet addr:127.0.0.1  Mask:255.0.0.0&lt;br /&gt;
          inet6 addr: ::1/128 Scope:Host&lt;br /&gt;
          UP LOOPBACK RUNNING  MTU:16436  Metric:1&lt;br /&gt;
          RX packets:18 errors:0 dropped:0 overruns:0 frame:0&lt;br /&gt;
          TX packets:18 errors:0 dropped:0 overruns:0 carrier:0&lt;br /&gt;
          collisions:0 txqueuelen:0&lt;br /&gt;
          RX bytes:1380 (1.3 KB)  TX bytes:1380 (1.3 KB)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==UCARP testimine==&lt;br /&gt;
&lt;br /&gt;
Nüüd on mõlemad serverid paigas ja töötavad Ucarp on mõlemale installitud, kuid hetkel me ikka ei tea, kas Ucarp tegelikult ka töötab.&lt;br /&gt;
&lt;br /&gt;
Kerge test võiks olla selline, et paneme serveri kinni, millel hetkel on ucarp aktiveeritud, minu puhul&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
shutdown -h now&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nüüd peaksid nägema Server2s (minu puhul) ucarpi aktiveeritult.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ifconfig&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Vastus:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@ubuntu:~# ifconfig&lt;br /&gt;
eth0      Link encap:Ethernet  HWaddr 00:0c:29:99:51:66&lt;br /&gt;
          inet addr:192.168.101.140  Bcast:192.168.101.255  Mask:255.255.255.0&lt;br /&gt;
          inet6 addr: fe80::20c:29ff:fe99:5166/64 Scope:Link&lt;br /&gt;
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1&lt;br /&gt;
          RX packets:1270 errors:0 dropped:0 overruns:0 frame:0&lt;br /&gt;
          TX packets:929 errors:0 dropped:0 overruns:0 carrier:0&lt;br /&gt;
          collisions:0 txqueuelen:1000&lt;br /&gt;
          RX bytes:94480 (94.4 KB)  TX bytes:113861 (113.8 KB)&lt;br /&gt;
&lt;br /&gt;
eth0:ucarp Link encap:Ethernet  HWaddr 00:0c:29:99:51:66&lt;br /&gt;
          inet addr:192.168.101.139  Bcast:192.168.101.255  Mask:255.255.255.0&lt;br /&gt;
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1&lt;br /&gt;
&lt;br /&gt;
lo        Link encap:Local Loopback&lt;br /&gt;
          inet addr:127.0.0.1  Mask:255.0.0.0&lt;br /&gt;
          inet6 addr: ::1/128 Scope:Host&lt;br /&gt;
          UP LOOPBACK RUNNING  MTU:16436  Metric:1&lt;br /&gt;
          RX packets:482 errors:0 dropped:0 overruns:0 frame:0&lt;br /&gt;
          TX packets:482 errors:0 dropped:0 overruns:0 carrier:0&lt;br /&gt;
          collisions:0 txqueuelen:0&lt;br /&gt;
          RX bytes:38580 (38.5 KB)  TX bytes:38580 (38.5 KB)&lt;br /&gt;
&lt;br /&gt;
root@ubuntu:~#&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Annab meile jällegi kindlustunde, et tõesti server1 annab oma asjad üle server2le, kui server1-ga peaks midagi juhtuma.&lt;br /&gt;
&lt;br /&gt;
==UCARP ja Apache koos==&lt;br /&gt;
&lt;br /&gt;
Idee on lihtne. Installime mõlemale serverile apache serveri ja hoiame neid süngis linuxi vahenditega.&lt;br /&gt;
Selleks võib olla rsync või ka tavaline copy cronis :) Hetkel kasutame rsynci.&lt;br /&gt;
&lt;br /&gt;
Installime apachei ja rsynci:&lt;br /&gt;
&lt;br /&gt;
Server1:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
apt-get install apache2 rsync&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Server2:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
apt-get install apache2 rsync&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nüüd on meil 2 serverit, millel on Rsync ja apache2 installitud&lt;br /&gt;
Apache2 hoiab oma asju:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/etc/apache2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Siis tuleks meil kindlasti sünkida seda kataloogi ja samuti ei tohi ära unustada ka kataloogi, kus meie apache asub&lt;br /&gt;
Näiteks:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/var/www/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nüüd paneme oma rsynci tööle, soovitavalt Crontabi. Meil tekkib probleem, et oleks vaja pärast apache2 konfiguratsioonide muutmist ka apache2 uuesti &amp;quot;reloadida&amp;quot;. Selleks kasutame skripti. Hetkel siin kasutamiseks kirjutasin lihtsa skripti, mida saab endale vastavalt kergelt parandada.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
touch /root/apache_rsync.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Anname käivitamise õigused, et pärast ei unustaks:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
chmod 755 apache_rsync.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nüüd, skript ise. Eeldus on see, et mõlemal pool on SSH lubatud!&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
vim /root/apache_rsync.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
#rsync ise&lt;br /&gt;
rsync -avz -e ssh root@192.168.101.138:/home/apache2 /home/apache2/&lt;br /&gt;
rsync -avz -e ssh root@192.168.101.138:/var/www/html /var/www/html&lt;br /&gt;
&lt;br /&gt;
#p2rast asjade yle kopeerimist tuleb teha reaload et teisel pool ikka asjad t66taks.&lt;br /&gt;
/etc/init.d/apache2 reload&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
See nüüd croni server2-le&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
vim /etc/crontab&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Lisage selline rida. Sellega hakatakse rsyncika hoidma servereid sünkroonis. Tehakse iga 15 minuti järgi. Number 15 võib muuta oma äranägemise järgi.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
*/15 * * * * root /root/apache_rsync.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Kokkuvõtteks==&lt;br /&gt;
Võiks öelda, et viimane skript on väga väike ja võiks kõvasti paremaks teha.&lt;br /&gt;
Näiteks: email saatmise sisse panna, sest hetkel me ei tea, millal server1 on põhiline ja millal server2 on põhiline. &lt;br /&gt;
Hetkel teeme eelduse , et server1 sai fataalse errori ja on katki ja pärast selle korda tegemist on see jälle põhiline.&lt;br /&gt;
&lt;br /&gt;
==Kasutatud kirjandus==&lt;br /&gt;
* http://valeriytroshin.blogspot.com/2011/08/carp-failover-redundancy-in-ubuntu-1104.html&lt;br /&gt;
* http://laurentbel.com/2012/04/12/simple-apache-failover-cluster-on-ubuntu-with-config-synchronization/&lt;br /&gt;
* http://www.auul.pri.ee/wiki/Operatsioonis%C3%BCsteemi_Debian_GNU/Linux_kasutamine#ucarp_kasutamine&lt;br /&gt;
* http://www.freebsd.org/doc/handbook/carp.html&lt;br /&gt;
* http://laurentbel.com/2012/04/04/simple-failover-cluster-on-ubuntu-using-carp/&lt;br /&gt;
* http://en.wikipedia.org/wiki/Common_Address_Redundancy_Protocol&lt;br /&gt;
* http://blog.ijun.org/2009/11/high-availability-with-freebsd-and-carp.html&lt;br /&gt;
* http://www.howtoforge.com/how-to-configure-a-pfsense-2.0-cluster-using-carp&lt;br /&gt;
* http://kuutorvaja.eenet.ee/wiki/K%C3%B5rgk%C3%A4ideldavus_UCARP_abil#Paigaldamine_ja_seadistamine_RHEL.2C_CentOS_ja_Fedora_kasutajatele&lt;br /&gt;
* http://www.pureftpd.org/project/ucarp&lt;/div&gt;</summary>
		<author><name>Mmust</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Ucarp&amp;diff=58967</id>
		<title>Ucarp</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Ucarp&amp;diff=58967"/>
		<updated>2012-12-11T09:11:09Z</updated>

		<summary type="html">&lt;p&gt;Mmust: /* Tööpühimõte */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=UCARP/CARP=&lt;br /&gt;
Autor: Marek Must&amp;lt;br&amp;gt; 07.12.2012&lt;br /&gt;
Rühm: AK21&lt;br /&gt;
Esitamise kuupäev: &lt;br /&gt;
&lt;br /&gt;
==Sissejuhatus==&lt;br /&gt;
Carp (inglise k. &amp;quot;Common Address Redundancy Protocol&amp;quot;) on protokoll, mis lubab samadel serveritel samas subnetis jagada ühte IP aadressi.&lt;br /&gt;
&lt;br /&gt;
Ucarp on tarkvara, mis võimaldab sul vähemalt 2 serveri olemasolul jagada neile 1 virtuaalne IP aadress, mille tulemusega saadakse kluster.&lt;br /&gt;
Ucarp ei ole väga peen lahendus ja sellega tuleb alati arvestada.&lt;br /&gt;
&lt;br /&gt;
===Ucarpi tugevus===&lt;br /&gt;
   * Lihtsus (ülesse seadmine käib lihtsalt)&lt;br /&gt;
   * Väike serveri ressursside kasutamine&lt;br /&gt;
   * Pole vaja lisa võrgu otsasid (alati on kena, kuid see on täiesti teine teema)&lt;br /&gt;
   * Krüptograafiliselt signeeritud teated. (Ucarpil on seadistatud parool, öeldes lihtsalt)&lt;br /&gt;
   * Suudab töödata koos mitme operatsiooni süsteemiga (inglise k. interoperability )&lt;br /&gt;
&lt;br /&gt;
===Tööpühimõte===&lt;br /&gt;
&lt;br /&gt;
Ucrap töötab lihtsalt:&lt;br /&gt;
 1.) Kui &amp;quot;Server 1&amp;quot; on üleval, siis sellele on määratud virtuaalne IP aadress.&lt;br /&gt;
 2.) Kui &amp;quot;Server 1&amp;quot; on maas ja &amp;quot;Server 2&amp;quot; on primaarne (inglise k. primary), siis on määratud &amp;quot;Server2&amp;quot;-le virtuaalne IP aadress, eeldades, et &amp;quot;Server 2&amp;quot; töötab.&lt;br /&gt;
&lt;br /&gt;
===Ucarpi Nõrkus===&lt;br /&gt;
   * Ainult IP põhine kluster&lt;br /&gt;
   * Seadeid, teenuseid üle ei kanta, kui server2 saab peamiseks serveriks.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Tsiteerides targemaid: ucarp on võrreldes keepalived või heartbeat tarkvaraga tagasihoidlikemate omadustega, kuid mõnel juhul võib just see ollagi eeliseks&lt;br /&gt;
&lt;br /&gt;
==UCARP install==&lt;br /&gt;
&lt;br /&gt;
Install käib lihtsalt:&lt;br /&gt;
&amp;lt;pre&amp;gt; &lt;br /&gt;
apt-get install ucarp &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Selle pannakse programmid peale. mitte unustada, et tarkvara tuleb installida mõlemale serverile!!&lt;br /&gt;
&lt;br /&gt;
==Eel Seadistamine==&lt;br /&gt;
&lt;br /&gt;
Kui olite sama laisk nagu mina, siis lasite alguses IP anda endale DHCP-ga, milleks oli 192.168.101.138&lt;br /&gt;
Seda saab vaadata:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;PRE&amp;gt;&lt;br /&gt;
ifconfig&lt;br /&gt;
&amp;lt;/PRE&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tulemüüri(inglise k. Gateway) saamine on natuke keerulisem, sest DHCP-ga seda ei ole võimalik päris &amp;quot;tavaliselt&amp;quot; ( ifconfig) näha.&lt;br /&gt;
Tulemüüri nägemiseks on olemas mitu võimalust, kuid mulle meeldib kasutada traceroutei. Tava installis seda paketti peal ei ole ja seega tuleks see paigaldada&lt;br /&gt;
&lt;br /&gt;
&amp;lt;PRE&amp;gt;&lt;br /&gt;
apt-get install traceroute&lt;br /&gt;
&amp;lt;/PRE&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kasutades traceroutei saame:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
traceroute www.neti.ee&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
ja esimene tulemus annab meile juba teada, meie DHCP aadressi:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@ubuntu:~# traceroute www.neti.ee&lt;br /&gt;
traceroute to www.neti.ee (195.50.209.245), 30 hops max, 60 byte packets&lt;br /&gt;
 1  192.168.101.2 (192.168.101.2)  0.139 ms  0.103 ms  0.076 ms^C&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Meie IP ja tulemüür peaksid nägema välja hetkel sellised:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
IP: 192.168.101.138&lt;br /&gt;
GW: 192.168.110.2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Teie praegune olukord peaks olema midagi sellist:&lt;br /&gt;
&lt;br /&gt;
Server1&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@ubuntu:~# ifconfig&lt;br /&gt;
eth0      Link encap:Ethernet  HWaddr 00:0c:29:6f:d7:c4&lt;br /&gt;
          inet addr:192.168.101.138  Bcast:192.168.101.255  Mask:255.255.255.0&lt;br /&gt;
          inet6 addr: fe80::20c:29ff:fe6f:d7c4/64 Scope:Link&lt;br /&gt;
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1&lt;br /&gt;
          RX packets:8377 errors:0 dropped:0 overruns:0 frame:0&lt;br /&gt;
          TX packets:5937 errors:0 dropped:0 overruns:0 carrier:0&lt;br /&gt;
          collisions:0 txqueuelen:1000&lt;br /&gt;
          RX bytes:9556394 (9.5 MB)  TX bytes:426352 (426.3 KB)&lt;br /&gt;
&lt;br /&gt;
lo        Link encap:Local Loopback&lt;br /&gt;
          inet addr:127.0.0.1  Mask:255.0.0.0&lt;br /&gt;
          inet6 addr: ::1/128 Scope:Host&lt;br /&gt;
          UP LOOPBACK RUNNING  MTU:16436  Metric:1&lt;br /&gt;
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0&lt;br /&gt;
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0&lt;br /&gt;
          collisions:0 txqueuelen:0&lt;br /&gt;
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Server2&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
root@ubuntu:~# ifconfig&lt;br /&gt;
eth0      Link encap:Ethernet  HWaddr 00:0c:29:99:51:66&lt;br /&gt;
          inet addr:192.168.101.140  Bcast:192.168.101.255  Mask:255.255.255.0&lt;br /&gt;
          inet6 addr: fe80::20c:29ff:fe99:5166/64 Scope:Link&lt;br /&gt;
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1&lt;br /&gt;
          RX packets:7586 errors:0 dropped:0 overruns:0 frame:0&lt;br /&gt;
          TX packets:4140 errors:0 dropped:0 overruns:0 carrier:0&lt;br /&gt;
          collisions:0 txqueuelen:1000&lt;br /&gt;
          RX bytes:9481944 (9.4 MB)  TX bytes:253201 (253.2 KB)&lt;br /&gt;
&lt;br /&gt;
lo        Link encap:Local Loopback&lt;br /&gt;
          inet addr:127.0.0.1  Mask:255.0.0.0&lt;br /&gt;
          inet6 addr: ::1/128 Scope:Host&lt;br /&gt;
          UP LOOPBACK RUNNING  MTU:16436  Metric:1&lt;br /&gt;
          RX packets:1 errors:0 dropped:0 overruns:0 frame:0&lt;br /&gt;
          TX packets:1 errors:0 dropped:0 overruns:0 carrier:0&lt;br /&gt;
          collisions:0 txqueuelen:0&lt;br /&gt;
          RX bytes:112 (112.0 B)  TX bytes:112 (112.0 B)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Ucarp Seadistammine==&lt;br /&gt;
&lt;br /&gt;
==Server 1==&lt;br /&gt;
&amp;lt;pre&amp;gt; vim /etc/network/interfaces &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Peaks avanema selline pilt:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# This file describes the network interfaces available on your system&lt;br /&gt;
# and how to activate them. For more information, see interfaces(5).&lt;br /&gt;
&lt;br /&gt;
# The loopback network interface&lt;br /&gt;
auto lo&lt;br /&gt;
iface lo inet loopback&lt;br /&gt;
&lt;br /&gt;
# The primary network interface&lt;br /&gt;
auto eth0&lt;br /&gt;
iface eth0 inet dhcp&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nüüd siis muudame selle ümber:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
root@ubuntu:~# vim /etc/network/interfaces&lt;br /&gt;
# This file describes the network interfaces available on your system&lt;br /&gt;
# and how to activate them. For more information, see interfaces(5).&lt;br /&gt;
&lt;br /&gt;
# The loopback network interface&lt;br /&gt;
auto lo&lt;br /&gt;
iface lo inet loopback&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# The primary network interface&lt;br /&gt;
auto eth0&lt;br /&gt;
iface eth0 inet static&lt;br /&gt;
        ################################&lt;br /&gt;
        # standard network configuration&lt;br /&gt;
        ################################&lt;br /&gt;
        address 192.168.101.138  # meie IP, mis panime alguses&lt;br /&gt;
        netmask 255.255.255.0    # netmask, selle saab ifconfig käsuga&lt;br /&gt;
        gateway 192.168.101.2    # traceroute aitas siin&lt;br /&gt;
        network 192.168.101.0    # natuke tuletamist..&lt;br /&gt;
        broadcast 192.168.101.255 #samuti ifconfig aitab&lt;br /&gt;
&lt;br /&gt;
        ################################&lt;br /&gt;
        # ucarp configuration  #########&lt;br /&gt;
        ################################&lt;br /&gt;
        # vid : The ID of the virtual server [1-255]&lt;br /&gt;
        ucarp-vid 1&lt;br /&gt;
        # vip : Virtuaalne IP aadress&lt;br /&gt;
        ucarp-vip 192.168.101.139&lt;br /&gt;
        # password : Mõlemal pool sama!!!!&lt;br /&gt;
        ucarp-password secret&lt;br /&gt;
        # advskew : Advertisement skew [1-255] # tähendab maakeels seda, et me ei reklaamime ennast koguaeg.&lt;br /&gt;
        ucarp-advskew 1&lt;br /&gt;
        # advbase &lt;br /&gt;
        ucarp-advbase 1&lt;br /&gt;
        # Kontroll, kas oleme peamine server?&lt;br /&gt;
        ucarp-master yes&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# CARP võrgu addressi kirjutame siia lihtsalt&lt;br /&gt;
iface eth0:ucarp inet static&lt;br /&gt;
        address 192.168.101.139&lt;br /&gt;
        netmask 255.255.255.0&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kindlasti tuleb teha võrgule restart, et kõik seaded võetakse kasutusse.&lt;br /&gt;
advskew ja advbase on asjad millega kontrollitakse kui tihedalt brodcastitakse.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/etc/init.d/networking restart &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Peaks avanema midagi sellist:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
root@ubuntu:~# ifconfig&lt;br /&gt;
eth0      Link encap:Ethernet  HWaddr 00:0c:29:6f:d7:c4&lt;br /&gt;
          inet addr:192.168.101.138  Bcast:192.168.101.255  Mask:255.255.255.0&lt;br /&gt;
          inet6 addr: fe80::20c:29ff:fe6f:d7c4/64 Scope:Link&lt;br /&gt;
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1&lt;br /&gt;
          RX packets:1195 errors:0 dropped:0 overruns:0 frame:0&lt;br /&gt;
          TX packets:287 errors:0 dropped:0 overruns:0 carrier:0&lt;br /&gt;
          collisions:0 txqueuelen:1000&lt;br /&gt;
          RX bytes:88166 (88.1 KB)  TX bytes:29985 (29.9 KB)&lt;br /&gt;
&lt;br /&gt;
eth0:ucarp Link encap:Ethernet  HWaddr 00:0c:29:6f:d7:c4&lt;br /&gt;
          inet addr:192.168.101.139  Bcast:192.168.101.255  Mask:255.255.255.0&lt;br /&gt;
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1&lt;br /&gt;
&lt;br /&gt;
lo        Link encap:Local Loopback&lt;br /&gt;
          inet addr:127.0.0.1  Mask:255.0.0.0&lt;br /&gt;
          inet6 addr: ::1/128 Scope:Host&lt;br /&gt;
          UP LOOPBACK RUNNING  MTU:16436  Metric:1&lt;br /&gt;
          RX packets:36 errors:0 dropped:0 overruns:0 frame:0&lt;br /&gt;
          TX packets:36 errors:0 dropped:0 overruns:0 carrier:0&lt;br /&gt;
          collisions:0 txqueuelen:0&lt;br /&gt;
          RX bytes:2712 (2.7 KB)  TX bytes:2712 (2.7 KB)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
See annab meile selguse, et Server1s on Ucarp kasutuses!&lt;br /&gt;
&lt;br /&gt;
==Server 2==&lt;br /&gt;
&lt;br /&gt;
Nüüd tuleks teha samasugune muutus ka server 2s.&lt;br /&gt;
Olles laisad, siis saame nüüd kopeerida selle ka teise serverisse, pärast teeme muudatused:&lt;br /&gt;
Paar asja on siin väga tähtsad:&lt;br /&gt;
&lt;br /&gt;
 1.) ucarp-advskew 100 # tähendab maakeeles seda, et me ei reklaami ennast nii tihedalt.&lt;br /&gt;
 2.) ucarp-master no # Server ka ei ole master!&lt;br /&gt;
 3.) IP address peab olema ikka selle serveri oma (192.168.101.140). Muud asjad samad&lt;br /&gt;
 4.) virtuaalsed IP-d peaksid olema need, mis eelmisel serveril.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# This file describes the network interfaces available on your system&lt;br /&gt;
# and how to activate them. For more information, see interfaces(5).&lt;br /&gt;
&lt;br /&gt;
# The loopback network interface&lt;br /&gt;
auto lo&lt;br /&gt;
iface lo inet loopback&lt;br /&gt;
&lt;br /&gt;
# The primary network interface&lt;br /&gt;
auto eth0&lt;br /&gt;
iface eth0 inet static&lt;br /&gt;
        ################################&lt;br /&gt;
        # standard network configuration&lt;br /&gt;
        ################################&lt;br /&gt;
        address 192.168.101.140&lt;br /&gt;
        netmask 255.255.255.0&lt;br /&gt;
        gateway 192.168.101.2&lt;br /&gt;
        network 192.168.101.0&lt;br /&gt;
        broadcast 192.168.101.255&lt;br /&gt;
&lt;br /&gt;
        ################################&lt;br /&gt;
        # ucarp configuration&lt;br /&gt;
        ################################&lt;br /&gt;
        # vid : The ID of the virtual server [1-255]&lt;br /&gt;
        ucarp-vid 1&lt;br /&gt;
        # vip : Virtuaalne IP aadress&lt;br /&gt;
        ucarp-vip 192.168.101.139&lt;br /&gt;
        # password : A password used to encrypt Carp communications&lt;br /&gt;
        ucarp-password secret&lt;br /&gt;
        # advskew : Advertisement skew [1-255] &lt;br /&gt;
        ucarp-advskew 100&lt;br /&gt;
        # advbase : Interval in seconds that advertisements will occur&lt;br /&gt;
        ucarp-advbase 1&lt;br /&gt;
        # master : nüüd me enam ei ole master. Seega määrame ära &amp;quot;no&amp;quot;&lt;br /&gt;
        ucarp-master no&lt;br /&gt;
&lt;br /&gt;
# The carp network interface, on top of eth1&lt;br /&gt;
iface eth0:ucarp inet static&lt;br /&gt;
        address 192.168.101.139&lt;br /&gt;
        netmask 255.255.255.0&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nüüd kui vastavad muudatused on sees, siis teeme ka võrgule restarti&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/etc/init.d/networking restart&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Kui märkasid, siis tegelikult midagi ei juhtunud, kuna oleme mitte masterid!&lt;br /&gt;
Kõik peaks nägema välja nagu endine:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
eth0      Link encap:Ethernet  HWaddr 00:0c:29:99:51:66&lt;br /&gt;
          inet addr:192.168.101.140  Bcast:192.168.101.255  Mask:255.255.255.0&lt;br /&gt;
          inet6 addr: fe80::20c:29ff:fe99:5166/64 Scope:Link&lt;br /&gt;
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1&lt;br /&gt;
          RX packets:213 errors:0 dropped:0 overruns:0 frame:0&lt;br /&gt;
          TX packets:99 errors:0 dropped:0 overruns:0 carrier:0&lt;br /&gt;
          collisions:0 txqueuelen:1000&lt;br /&gt;
          RX bytes:17498 (17.4 KB)  TX bytes:12669 (12.6 KB)&lt;br /&gt;
&lt;br /&gt;
lo        Link encap:Local Loopback&lt;br /&gt;
          inet addr:127.0.0.1  Mask:255.0.0.0&lt;br /&gt;
          inet6 addr: ::1/128 Scope:Host&lt;br /&gt;
          UP LOOPBACK RUNNING  MTU:16436  Metric:1&lt;br /&gt;
          RX packets:18 errors:0 dropped:0 overruns:0 frame:0&lt;br /&gt;
          TX packets:18 errors:0 dropped:0 overruns:0 carrier:0&lt;br /&gt;
          collisions:0 txqueuelen:0&lt;br /&gt;
          RX bytes:1380 (1.3 KB)  TX bytes:1380 (1.3 KB)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==UCARP testimine==&lt;br /&gt;
&lt;br /&gt;
Nüüd on mõlemad serverid paigas ja töötavad Ucarp on mõlemale installitud, kuid hetkel me ikka ei tea, kas Ucarp tegelikult ka töötab.&lt;br /&gt;
&lt;br /&gt;
Kerge test võiks olla selline, et paneme serveri kinni, millel hetkel on ucarp aktiveeritud, minu puhul&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
shutdown -h now&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nüüd peaksid nägema Server2s (minu puhul) ucarpi aktiveeritult.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ifconfig&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Vastus:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@ubuntu:~# ifconfig&lt;br /&gt;
eth0      Link encap:Ethernet  HWaddr 00:0c:29:99:51:66&lt;br /&gt;
          inet addr:192.168.101.140  Bcast:192.168.101.255  Mask:255.255.255.0&lt;br /&gt;
          inet6 addr: fe80::20c:29ff:fe99:5166/64 Scope:Link&lt;br /&gt;
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1&lt;br /&gt;
          RX packets:1270 errors:0 dropped:0 overruns:0 frame:0&lt;br /&gt;
          TX packets:929 errors:0 dropped:0 overruns:0 carrier:0&lt;br /&gt;
          collisions:0 txqueuelen:1000&lt;br /&gt;
          RX bytes:94480 (94.4 KB)  TX bytes:113861 (113.8 KB)&lt;br /&gt;
&lt;br /&gt;
eth0:ucarp Link encap:Ethernet  HWaddr 00:0c:29:99:51:66&lt;br /&gt;
          inet addr:192.168.101.139  Bcast:192.168.101.255  Mask:255.255.255.0&lt;br /&gt;
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1&lt;br /&gt;
&lt;br /&gt;
lo        Link encap:Local Loopback&lt;br /&gt;
          inet addr:127.0.0.1  Mask:255.0.0.0&lt;br /&gt;
          inet6 addr: ::1/128 Scope:Host&lt;br /&gt;
          UP LOOPBACK RUNNING  MTU:16436  Metric:1&lt;br /&gt;
          RX packets:482 errors:0 dropped:0 overruns:0 frame:0&lt;br /&gt;
          TX packets:482 errors:0 dropped:0 overruns:0 carrier:0&lt;br /&gt;
          collisions:0 txqueuelen:0&lt;br /&gt;
          RX bytes:38580 (38.5 KB)  TX bytes:38580 (38.5 KB)&lt;br /&gt;
&lt;br /&gt;
root@ubuntu:~#&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Annab meile jällegi kindlustunde, et tõesti server1 annab oma asjad üle server2le, kui server1-ga peaks midagi juhtuma.&lt;br /&gt;
&lt;br /&gt;
==UCARP ja Apache koos==&lt;br /&gt;
&lt;br /&gt;
Idee on lihtne. Installime mõlemale serverile apache serveri ja hoiame neid süngis linuxi vahenditega.&lt;br /&gt;
Selleks võib olla rsync või ka tavaline copy cronis :) Hetkel kasutame rsynci.&lt;br /&gt;
&lt;br /&gt;
Installime apachei ja rsynci:&lt;br /&gt;
&lt;br /&gt;
Server1:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
apt-get install apache2 rsync&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Server2:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
apt-get install apache2 rsync&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nüüd on meil 2 serverit, millel on Rsync ja apache2 installitud&lt;br /&gt;
Apache2 hoiab oma asju:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/etc/apache2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Siis tuleks meil kindlasti sünkida seda kataloogi ja samuti ei tohi ära unustada ka kataloogi, kus meie apache asub&lt;br /&gt;
Näiteks:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/var/www/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nüüd paneme oma rsynci tööle, soovitavalt Crontabi. Meil tekkib probleem, et oleks vaja pärast apache2 konfiguratsioonide muutmist ka apache2 uuesti &amp;quot;reloadida&amp;quot;. Selleks kasutame skripti. Hetkel siin kasutamiseks kirjutasin lihtsa skripti, mida saab endale vastavalt kergelt parandada.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
touch /root/apache_rsync.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Anname käivitamise õigused, et pärast ei unustaks:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
chmod 755 apache_rsync.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nüüd, skript ise. Eeldus on see, et mõlemal pool on SSH lubatud!&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
vim /root/apache_rsync.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
#rsync ise&lt;br /&gt;
rsync -avz -e ssh root@192.168.101.138:/home/apache2 /home/apache2/&lt;br /&gt;
rsync -avz -e ssh root@192.168.101.138:/var/www/html /var/www/html&lt;br /&gt;
&lt;br /&gt;
#p2rast asjade yle kopeerimist tuleb teha reaload et teisel pool ikka asjad t66taks.&lt;br /&gt;
/etc/init.d/apache2 reload&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
See nüüd croni server2-le&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
vim /etc/crontab&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Lisage selline rida. Sellega hakatakse rsyncika hoidma servereid sünkroonis. Tehakse iga 15 minuti järgi. Number 15 võib muuta oma äranägemise järgi.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
*/15 * * * * root /root/apache_rsync.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Kokkuvõtteks==&lt;br /&gt;
Võiks öelda, et viimane skript on väga väike ja võiks kõvasti paremaks teha.&lt;br /&gt;
Näiteks: email saatmise sisse panna, sest hetkel me ei tea, millal server1 on põhiline ja millal server2 on põhiline. &lt;br /&gt;
Hetkel teeme eelduse , et server1 sai fataalse errori ja on katki ja pärast selle korda tegemist on see jälle põhiline.&lt;br /&gt;
&lt;br /&gt;
==Kasutatud kirjandus==&lt;br /&gt;
* http://valeriytroshin.blogspot.com/2011/08/carp-failover-redundancy-in-ubuntu-1104.html&lt;br /&gt;
* http://laurentbel.com/2012/04/12/simple-apache-failover-cluster-on-ubuntu-with-config-synchronization/&lt;br /&gt;
* http://www.auul.pri.ee/wiki/Operatsioonis%C3%BCsteemi_Debian_GNU/Linux_kasutamine#ucarp_kasutamine&lt;br /&gt;
* http://www.freebsd.org/doc/handbook/carp.html&lt;br /&gt;
* http://laurentbel.com/2012/04/04/simple-failover-cluster-on-ubuntu-using-carp/&lt;br /&gt;
* http://en.wikipedia.org/wiki/Common_Address_Redundancy_Protocol&lt;br /&gt;
* http://blog.ijun.org/2009/11/high-availability-with-freebsd-and-carp.html&lt;br /&gt;
* http://www.howtoforge.com/how-to-configure-a-pfsense-2.0-cluster-using-carp&lt;br /&gt;
* http://kuutorvaja.eenet.ee/wiki/K%C3%B5rgk%C3%A4ideldavus_UCARP_abil#Paigaldamine_ja_seadistamine_RHEL.2C_CentOS_ja_Fedora_kasutajatele&lt;br /&gt;
* http://www.pureftpd.org/project/ucarp&lt;/div&gt;</summary>
		<author><name>Mmust</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Ucarp&amp;diff=58966</id>
		<title>Ucarp</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Ucarp&amp;diff=58966"/>
		<updated>2012-12-11T09:08:02Z</updated>

		<summary type="html">&lt;p&gt;Mmust: /* Ucarpi tugevus */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=UCARP/CARP=&lt;br /&gt;
Autor: Marek Must&amp;lt;br&amp;gt; 07.12.2012&lt;br /&gt;
Rühm: AK21&lt;br /&gt;
Esitamise kuupäev: &lt;br /&gt;
&lt;br /&gt;
==Sissejuhatus==&lt;br /&gt;
Carp (inglise k. &amp;quot;Common Address Redundancy Protocol&amp;quot;) on protokoll, mis lubab samadel serveritel samas subnetis jagada ühte IP aadressi.&lt;br /&gt;
&lt;br /&gt;
Ucarp on tarkvara, mis võimaldab sul vähemalt 2 serveri olemasolul jagada neile 1 virtuaalne IP aadress, mille tulemusega saadakse kluster.&lt;br /&gt;
Ucarp ei ole väga peen lahendus ja sellega tuleb alati arvestada.&lt;br /&gt;
&lt;br /&gt;
===Ucarpi tugevus===&lt;br /&gt;
   * Lihtsus (ülesse seadmine käib lihtsalt)&lt;br /&gt;
   * Väike serveri ressursside kasutamine&lt;br /&gt;
   * Pole vaja lisa võrgu otsasid (alati on kena, kuid see on täiesti teine teema)&lt;br /&gt;
   * Krüptograafiliselt signeeritud teated. (Ucarpil on seadistatud parool, öeldes lihtsalt)&lt;br /&gt;
   * Suudab töödata koos mitme operatsiooni süsteemiga (inglise k. interoperability )&lt;br /&gt;
&lt;br /&gt;
===Tööpühimõte===&lt;br /&gt;
&lt;br /&gt;
Ucrap töötab lihtsalt:&lt;br /&gt;
 1.) Kui server1 on üleval, siis sellele on määratud virtuaalne IP aadress.&lt;br /&gt;
 2.) Kui server1 on maas ja server2 on primaarne (inglise k. primary), siis on määratud Server2-le virtuaalne IP aadress, eeldades, et server2    on     üleval.&lt;br /&gt;
&lt;br /&gt;
===Ucarpi Nõrkus===&lt;br /&gt;
   * Ainult IP põhine kluster&lt;br /&gt;
   * Seadeid, teenuseid üle ei kanta, kui server2 saab peamiseks serveriks.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Tsiteerides targemaid: ucarp on võrreldes keepalived või heartbeat tarkvaraga tagasihoidlikemate omadustega, kuid mõnel juhul võib just see ollagi eeliseks&lt;br /&gt;
&lt;br /&gt;
==UCARP install==&lt;br /&gt;
&lt;br /&gt;
Install käib lihtsalt:&lt;br /&gt;
&amp;lt;pre&amp;gt; &lt;br /&gt;
apt-get install ucarp &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Selle pannakse programmid peale. mitte unustada, et tarkvara tuleb installida mõlemale serverile!!&lt;br /&gt;
&lt;br /&gt;
==Eel Seadistamine==&lt;br /&gt;
&lt;br /&gt;
Kui olite sama laisk nagu mina, siis lasite alguses IP anda endale DHCP-ga, milleks oli 192.168.101.138&lt;br /&gt;
Seda saab vaadata:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;PRE&amp;gt;&lt;br /&gt;
ifconfig&lt;br /&gt;
&amp;lt;/PRE&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tulemüüri(inglise k. Gateway) saamine on natuke keerulisem, sest DHCP-ga seda ei ole võimalik päris &amp;quot;tavaliselt&amp;quot; ( ifconfig) näha.&lt;br /&gt;
Tulemüüri nägemiseks on olemas mitu võimalust, kuid mulle meeldib kasutada traceroutei. Tava installis seda paketti peal ei ole ja seega tuleks see paigaldada&lt;br /&gt;
&lt;br /&gt;
&amp;lt;PRE&amp;gt;&lt;br /&gt;
apt-get install traceroute&lt;br /&gt;
&amp;lt;/PRE&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kasutades traceroutei saame:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
traceroute www.neti.ee&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
ja esimene tulemus annab meile juba teada, meie DHCP aadressi:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@ubuntu:~# traceroute www.neti.ee&lt;br /&gt;
traceroute to www.neti.ee (195.50.209.245), 30 hops max, 60 byte packets&lt;br /&gt;
 1  192.168.101.2 (192.168.101.2)  0.139 ms  0.103 ms  0.076 ms^C&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Meie IP ja tulemüür peaksid nägema välja hetkel sellised:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
IP: 192.168.101.138&lt;br /&gt;
GW: 192.168.110.2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Teie praegune olukord peaks olema midagi sellist:&lt;br /&gt;
&lt;br /&gt;
Server1&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@ubuntu:~# ifconfig&lt;br /&gt;
eth0      Link encap:Ethernet  HWaddr 00:0c:29:6f:d7:c4&lt;br /&gt;
          inet addr:192.168.101.138  Bcast:192.168.101.255  Mask:255.255.255.0&lt;br /&gt;
          inet6 addr: fe80::20c:29ff:fe6f:d7c4/64 Scope:Link&lt;br /&gt;
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1&lt;br /&gt;
          RX packets:8377 errors:0 dropped:0 overruns:0 frame:0&lt;br /&gt;
          TX packets:5937 errors:0 dropped:0 overruns:0 carrier:0&lt;br /&gt;
          collisions:0 txqueuelen:1000&lt;br /&gt;
          RX bytes:9556394 (9.5 MB)  TX bytes:426352 (426.3 KB)&lt;br /&gt;
&lt;br /&gt;
lo        Link encap:Local Loopback&lt;br /&gt;
          inet addr:127.0.0.1  Mask:255.0.0.0&lt;br /&gt;
          inet6 addr: ::1/128 Scope:Host&lt;br /&gt;
          UP LOOPBACK RUNNING  MTU:16436  Metric:1&lt;br /&gt;
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0&lt;br /&gt;
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0&lt;br /&gt;
          collisions:0 txqueuelen:0&lt;br /&gt;
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Server2&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
root@ubuntu:~# ifconfig&lt;br /&gt;
eth0      Link encap:Ethernet  HWaddr 00:0c:29:99:51:66&lt;br /&gt;
          inet addr:192.168.101.140  Bcast:192.168.101.255  Mask:255.255.255.0&lt;br /&gt;
          inet6 addr: fe80::20c:29ff:fe99:5166/64 Scope:Link&lt;br /&gt;
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1&lt;br /&gt;
          RX packets:7586 errors:0 dropped:0 overruns:0 frame:0&lt;br /&gt;
          TX packets:4140 errors:0 dropped:0 overruns:0 carrier:0&lt;br /&gt;
          collisions:0 txqueuelen:1000&lt;br /&gt;
          RX bytes:9481944 (9.4 MB)  TX bytes:253201 (253.2 KB)&lt;br /&gt;
&lt;br /&gt;
lo        Link encap:Local Loopback&lt;br /&gt;
          inet addr:127.0.0.1  Mask:255.0.0.0&lt;br /&gt;
          inet6 addr: ::1/128 Scope:Host&lt;br /&gt;
          UP LOOPBACK RUNNING  MTU:16436  Metric:1&lt;br /&gt;
          RX packets:1 errors:0 dropped:0 overruns:0 frame:0&lt;br /&gt;
          TX packets:1 errors:0 dropped:0 overruns:0 carrier:0&lt;br /&gt;
          collisions:0 txqueuelen:0&lt;br /&gt;
          RX bytes:112 (112.0 B)  TX bytes:112 (112.0 B)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Ucarp Seadistammine==&lt;br /&gt;
&lt;br /&gt;
==Server 1==&lt;br /&gt;
&amp;lt;pre&amp;gt; vim /etc/network/interfaces &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Peaks avanema selline pilt:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# This file describes the network interfaces available on your system&lt;br /&gt;
# and how to activate them. For more information, see interfaces(5).&lt;br /&gt;
&lt;br /&gt;
# The loopback network interface&lt;br /&gt;
auto lo&lt;br /&gt;
iface lo inet loopback&lt;br /&gt;
&lt;br /&gt;
# The primary network interface&lt;br /&gt;
auto eth0&lt;br /&gt;
iface eth0 inet dhcp&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nüüd siis muudame selle ümber:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
root@ubuntu:~# vim /etc/network/interfaces&lt;br /&gt;
# This file describes the network interfaces available on your system&lt;br /&gt;
# and how to activate them. For more information, see interfaces(5).&lt;br /&gt;
&lt;br /&gt;
# The loopback network interface&lt;br /&gt;
auto lo&lt;br /&gt;
iface lo inet loopback&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# The primary network interface&lt;br /&gt;
auto eth0&lt;br /&gt;
iface eth0 inet static&lt;br /&gt;
        ################################&lt;br /&gt;
        # standard network configuration&lt;br /&gt;
        ################################&lt;br /&gt;
        address 192.168.101.138  # meie IP, mis panime alguses&lt;br /&gt;
        netmask 255.255.255.0    # netmask, selle saab ifconfig käsuga&lt;br /&gt;
        gateway 192.168.101.2    # traceroute aitas siin&lt;br /&gt;
        network 192.168.101.0    # natuke tuletamist..&lt;br /&gt;
        broadcast 192.168.101.255 #samuti ifconfig aitab&lt;br /&gt;
&lt;br /&gt;
        ################################&lt;br /&gt;
        # ucarp configuration  #########&lt;br /&gt;
        ################################&lt;br /&gt;
        # vid : The ID of the virtual server [1-255]&lt;br /&gt;
        ucarp-vid 1&lt;br /&gt;
        # vip : Virtuaalne IP aadress&lt;br /&gt;
        ucarp-vip 192.168.101.139&lt;br /&gt;
        # password : Mõlemal pool sama!!!!&lt;br /&gt;
        ucarp-password secret&lt;br /&gt;
        # advskew : Advertisement skew [1-255] # tähendab maakeels seda, et me ei reklaamime ennast koguaeg.&lt;br /&gt;
        ucarp-advskew 1&lt;br /&gt;
        # advbase &lt;br /&gt;
        ucarp-advbase 1&lt;br /&gt;
        # Kontroll, kas oleme peamine server?&lt;br /&gt;
        ucarp-master yes&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# CARP võrgu addressi kirjutame siia lihtsalt&lt;br /&gt;
iface eth0:ucarp inet static&lt;br /&gt;
        address 192.168.101.139&lt;br /&gt;
        netmask 255.255.255.0&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kindlasti tuleb teha võrgule restart, et kõik seaded võetakse kasutusse.&lt;br /&gt;
advskew ja advbase on asjad millega kontrollitakse kui tihedalt brodcastitakse.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/etc/init.d/networking restart &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Peaks avanema midagi sellist:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
root@ubuntu:~# ifconfig&lt;br /&gt;
eth0      Link encap:Ethernet  HWaddr 00:0c:29:6f:d7:c4&lt;br /&gt;
          inet addr:192.168.101.138  Bcast:192.168.101.255  Mask:255.255.255.0&lt;br /&gt;
          inet6 addr: fe80::20c:29ff:fe6f:d7c4/64 Scope:Link&lt;br /&gt;
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1&lt;br /&gt;
          RX packets:1195 errors:0 dropped:0 overruns:0 frame:0&lt;br /&gt;
          TX packets:287 errors:0 dropped:0 overruns:0 carrier:0&lt;br /&gt;
          collisions:0 txqueuelen:1000&lt;br /&gt;
          RX bytes:88166 (88.1 KB)  TX bytes:29985 (29.9 KB)&lt;br /&gt;
&lt;br /&gt;
eth0:ucarp Link encap:Ethernet  HWaddr 00:0c:29:6f:d7:c4&lt;br /&gt;
          inet addr:192.168.101.139  Bcast:192.168.101.255  Mask:255.255.255.0&lt;br /&gt;
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1&lt;br /&gt;
&lt;br /&gt;
lo        Link encap:Local Loopback&lt;br /&gt;
          inet addr:127.0.0.1  Mask:255.0.0.0&lt;br /&gt;
          inet6 addr: ::1/128 Scope:Host&lt;br /&gt;
          UP LOOPBACK RUNNING  MTU:16436  Metric:1&lt;br /&gt;
          RX packets:36 errors:0 dropped:0 overruns:0 frame:0&lt;br /&gt;
          TX packets:36 errors:0 dropped:0 overruns:0 carrier:0&lt;br /&gt;
          collisions:0 txqueuelen:0&lt;br /&gt;
          RX bytes:2712 (2.7 KB)  TX bytes:2712 (2.7 KB)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
See annab meile selguse, et Server1s on Ucarp kasutuses!&lt;br /&gt;
&lt;br /&gt;
==Server 2==&lt;br /&gt;
&lt;br /&gt;
Nüüd tuleks teha samasugune muutus ka server 2s.&lt;br /&gt;
Olles laisad, siis saame nüüd kopeerida selle ka teise serverisse, pärast teeme muudatused:&lt;br /&gt;
Paar asja on siin väga tähtsad:&lt;br /&gt;
&lt;br /&gt;
 1.) ucarp-advskew 100 # tähendab maakeeles seda, et me ei reklaami ennast nii tihedalt.&lt;br /&gt;
 2.) ucarp-master no # Server ka ei ole master!&lt;br /&gt;
 3.) IP address peab olema ikka selle serveri oma (192.168.101.140). Muud asjad samad&lt;br /&gt;
 4.) virtuaalsed IP-d peaksid olema need, mis eelmisel serveril.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# This file describes the network interfaces available on your system&lt;br /&gt;
# and how to activate them. For more information, see interfaces(5).&lt;br /&gt;
&lt;br /&gt;
# The loopback network interface&lt;br /&gt;
auto lo&lt;br /&gt;
iface lo inet loopback&lt;br /&gt;
&lt;br /&gt;
# The primary network interface&lt;br /&gt;
auto eth0&lt;br /&gt;
iface eth0 inet static&lt;br /&gt;
        ################################&lt;br /&gt;
        # standard network configuration&lt;br /&gt;
        ################################&lt;br /&gt;
        address 192.168.101.140&lt;br /&gt;
        netmask 255.255.255.0&lt;br /&gt;
        gateway 192.168.101.2&lt;br /&gt;
        network 192.168.101.0&lt;br /&gt;
        broadcast 192.168.101.255&lt;br /&gt;
&lt;br /&gt;
        ################################&lt;br /&gt;
        # ucarp configuration&lt;br /&gt;
        ################################&lt;br /&gt;
        # vid : The ID of the virtual server [1-255]&lt;br /&gt;
        ucarp-vid 1&lt;br /&gt;
        # vip : Virtuaalne IP aadress&lt;br /&gt;
        ucarp-vip 192.168.101.139&lt;br /&gt;
        # password : A password used to encrypt Carp communications&lt;br /&gt;
        ucarp-password secret&lt;br /&gt;
        # advskew : Advertisement skew [1-255] &lt;br /&gt;
        ucarp-advskew 100&lt;br /&gt;
        # advbase : Interval in seconds that advertisements will occur&lt;br /&gt;
        ucarp-advbase 1&lt;br /&gt;
        # master : nüüd me enam ei ole master. Seega määrame ära &amp;quot;no&amp;quot;&lt;br /&gt;
        ucarp-master no&lt;br /&gt;
&lt;br /&gt;
# The carp network interface, on top of eth1&lt;br /&gt;
iface eth0:ucarp inet static&lt;br /&gt;
        address 192.168.101.139&lt;br /&gt;
        netmask 255.255.255.0&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nüüd kui vastavad muudatused on sees, siis teeme ka võrgule restarti&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/etc/init.d/networking restart&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Kui märkasid, siis tegelikult midagi ei juhtunud, kuna oleme mitte masterid!&lt;br /&gt;
Kõik peaks nägema välja nagu endine:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
eth0      Link encap:Ethernet  HWaddr 00:0c:29:99:51:66&lt;br /&gt;
          inet addr:192.168.101.140  Bcast:192.168.101.255  Mask:255.255.255.0&lt;br /&gt;
          inet6 addr: fe80::20c:29ff:fe99:5166/64 Scope:Link&lt;br /&gt;
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1&lt;br /&gt;
          RX packets:213 errors:0 dropped:0 overruns:0 frame:0&lt;br /&gt;
          TX packets:99 errors:0 dropped:0 overruns:0 carrier:0&lt;br /&gt;
          collisions:0 txqueuelen:1000&lt;br /&gt;
          RX bytes:17498 (17.4 KB)  TX bytes:12669 (12.6 KB)&lt;br /&gt;
&lt;br /&gt;
lo        Link encap:Local Loopback&lt;br /&gt;
          inet addr:127.0.0.1  Mask:255.0.0.0&lt;br /&gt;
          inet6 addr: ::1/128 Scope:Host&lt;br /&gt;
          UP LOOPBACK RUNNING  MTU:16436  Metric:1&lt;br /&gt;
          RX packets:18 errors:0 dropped:0 overruns:0 frame:0&lt;br /&gt;
          TX packets:18 errors:0 dropped:0 overruns:0 carrier:0&lt;br /&gt;
          collisions:0 txqueuelen:0&lt;br /&gt;
          RX bytes:1380 (1.3 KB)  TX bytes:1380 (1.3 KB)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==UCARP testimine==&lt;br /&gt;
&lt;br /&gt;
Nüüd on mõlemad serverid paigas ja töötavad Ucarp on mõlemale installitud, kuid hetkel me ikka ei tea, kas Ucarp tegelikult ka töötab.&lt;br /&gt;
&lt;br /&gt;
Kerge test võiks olla selline, et paneme serveri kinni, millel hetkel on ucarp aktiveeritud, minu puhul&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
shutdown -h now&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nüüd peaksid nägema Server2s (minu puhul) ucarpi aktiveeritult.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ifconfig&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Vastus:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@ubuntu:~# ifconfig&lt;br /&gt;
eth0      Link encap:Ethernet  HWaddr 00:0c:29:99:51:66&lt;br /&gt;
          inet addr:192.168.101.140  Bcast:192.168.101.255  Mask:255.255.255.0&lt;br /&gt;
          inet6 addr: fe80::20c:29ff:fe99:5166/64 Scope:Link&lt;br /&gt;
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1&lt;br /&gt;
          RX packets:1270 errors:0 dropped:0 overruns:0 frame:0&lt;br /&gt;
          TX packets:929 errors:0 dropped:0 overruns:0 carrier:0&lt;br /&gt;
          collisions:0 txqueuelen:1000&lt;br /&gt;
          RX bytes:94480 (94.4 KB)  TX bytes:113861 (113.8 KB)&lt;br /&gt;
&lt;br /&gt;
eth0:ucarp Link encap:Ethernet  HWaddr 00:0c:29:99:51:66&lt;br /&gt;
          inet addr:192.168.101.139  Bcast:192.168.101.255  Mask:255.255.255.0&lt;br /&gt;
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1&lt;br /&gt;
&lt;br /&gt;
lo        Link encap:Local Loopback&lt;br /&gt;
          inet addr:127.0.0.1  Mask:255.0.0.0&lt;br /&gt;
          inet6 addr: ::1/128 Scope:Host&lt;br /&gt;
          UP LOOPBACK RUNNING  MTU:16436  Metric:1&lt;br /&gt;
          RX packets:482 errors:0 dropped:0 overruns:0 frame:0&lt;br /&gt;
          TX packets:482 errors:0 dropped:0 overruns:0 carrier:0&lt;br /&gt;
          collisions:0 txqueuelen:0&lt;br /&gt;
          RX bytes:38580 (38.5 KB)  TX bytes:38580 (38.5 KB)&lt;br /&gt;
&lt;br /&gt;
root@ubuntu:~#&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Annab meile jällegi kindlustunde, et tõesti server1 annab oma asjad üle server2le, kui server1-ga peaks midagi juhtuma.&lt;br /&gt;
&lt;br /&gt;
==UCARP ja Apache koos==&lt;br /&gt;
&lt;br /&gt;
Idee on lihtne. Installime mõlemale serverile apache serveri ja hoiame neid süngis linuxi vahenditega.&lt;br /&gt;
Selleks võib olla rsync või ka tavaline copy cronis :) Hetkel kasutame rsynci.&lt;br /&gt;
&lt;br /&gt;
Installime apachei ja rsynci:&lt;br /&gt;
&lt;br /&gt;
Server1:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
apt-get install apache2 rsync&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Server2:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
apt-get install apache2 rsync&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nüüd on meil 2 serverit, millel on Rsync ja apache2 installitud&lt;br /&gt;
Apache2 hoiab oma asju:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/etc/apache2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Siis tuleks meil kindlasti sünkida seda kataloogi ja samuti ei tohi ära unustada ka kataloogi, kus meie apache asub&lt;br /&gt;
Näiteks:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/var/www/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nüüd paneme oma rsynci tööle, soovitavalt Crontabi. Meil tekkib probleem, et oleks vaja pärast apache2 konfiguratsioonide muutmist ka apache2 uuesti &amp;quot;reloadida&amp;quot;. Selleks kasutame skripti. Hetkel siin kasutamiseks kirjutasin lihtsa skripti, mida saab endale vastavalt kergelt parandada.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
touch /root/apache_rsync.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Anname käivitamise õigused, et pärast ei unustaks:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
chmod 755 apache_rsync.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nüüd, skript ise. Eeldus on see, et mõlemal pool on SSH lubatud!&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
vim /root/apache_rsync.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
#rsync ise&lt;br /&gt;
rsync -avz -e ssh root@192.168.101.138:/home/apache2 /home/apache2/&lt;br /&gt;
rsync -avz -e ssh root@192.168.101.138:/var/www/html /var/www/html&lt;br /&gt;
&lt;br /&gt;
#p2rast asjade yle kopeerimist tuleb teha reaload et teisel pool ikka asjad t66taks.&lt;br /&gt;
/etc/init.d/apache2 reload&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
See nüüd croni server2-le&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
vim /etc/crontab&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Lisage selline rida. Sellega hakatakse rsyncika hoidma servereid sünkroonis. Tehakse iga 15 minuti järgi. Number 15 võib muuta oma äranägemise järgi.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
*/15 * * * * root /root/apache_rsync.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Kokkuvõtteks==&lt;br /&gt;
Võiks öelda, et viimane skript on väga väike ja võiks kõvasti paremaks teha.&lt;br /&gt;
Näiteks: email saatmise sisse panna, sest hetkel me ei tea, millal server1 on põhiline ja millal server2 on põhiline. &lt;br /&gt;
Hetkel teeme eelduse , et server1 sai fataalse errori ja on katki ja pärast selle korda tegemist on see jälle põhiline.&lt;br /&gt;
&lt;br /&gt;
==Kasutatud kirjandus==&lt;br /&gt;
* http://valeriytroshin.blogspot.com/2011/08/carp-failover-redundancy-in-ubuntu-1104.html&lt;br /&gt;
* http://laurentbel.com/2012/04/12/simple-apache-failover-cluster-on-ubuntu-with-config-synchronization/&lt;br /&gt;
* http://www.auul.pri.ee/wiki/Operatsioonis%C3%BCsteemi_Debian_GNU/Linux_kasutamine#ucarp_kasutamine&lt;br /&gt;
* http://www.freebsd.org/doc/handbook/carp.html&lt;br /&gt;
* http://laurentbel.com/2012/04/04/simple-failover-cluster-on-ubuntu-using-carp/&lt;br /&gt;
* http://en.wikipedia.org/wiki/Common_Address_Redundancy_Protocol&lt;br /&gt;
* http://blog.ijun.org/2009/11/high-availability-with-freebsd-and-carp.html&lt;br /&gt;
* http://www.howtoforge.com/how-to-configure-a-pfsense-2.0-cluster-using-carp&lt;br /&gt;
* http://kuutorvaja.eenet.ee/wiki/K%C3%B5rgk%C3%A4ideldavus_UCARP_abil#Paigaldamine_ja_seadistamine_RHEL.2C_CentOS_ja_Fedora_kasutajatele&lt;br /&gt;
* http://www.pureftpd.org/project/ucarp&lt;/div&gt;</summary>
		<author><name>Mmust</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Ucarp&amp;diff=58964</id>
		<title>Ucarp</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Ucarp&amp;diff=58964"/>
		<updated>2012-12-11T09:04:45Z</updated>

		<summary type="html">&lt;p&gt;Mmust: /* UCARP testimine */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=UCARP/CARP=&lt;br /&gt;
Autor: Marek Must&amp;lt;br&amp;gt; 07.12.2012&lt;br /&gt;
Rühm: AK21&lt;br /&gt;
Esitamise kuupäev: &lt;br /&gt;
&lt;br /&gt;
==Sissejuhatus==&lt;br /&gt;
Carp (inglise k. &amp;quot;Common Address Redundancy Protocol&amp;quot;) on protokoll, mis lubab samadel serveritel samas subnetis jagada ühte IP aadressi.&lt;br /&gt;
&lt;br /&gt;
Ucarp on tarkvara, mis võimaldab sul vähemalt 2 serveri olemasolul jagada neile 1 virtuaalne IP aadress, mille tulemusega saadakse kluster.&lt;br /&gt;
Ucarp ei ole väga peen lahendus ja sellega tuleb alati arvestada.&lt;br /&gt;
&lt;br /&gt;
===Ucarpi tugevus===&lt;br /&gt;
   * Lihtsus (ülesse seadmine käib lihtsalt)&lt;br /&gt;
   * Väike serveri ressursside kasutamine&lt;br /&gt;
   * Pole vaja lisa võrgu otsasid (alati on kena, kuid see on täiesti teine teema)&lt;br /&gt;
   * Krüptograafiliselt signeeritud teated. (Ucarpil on seadistatud parool, öeldes lihtsalt)&lt;br /&gt;
   * Töötada koos mitme operatsiooni süsteemiga (inglise k. interoperability )&lt;br /&gt;
&lt;br /&gt;
===Tööpühimõte===&lt;br /&gt;
&lt;br /&gt;
Ucrap töötab lihtsalt:&lt;br /&gt;
 1.) Kui server1 on üleval, siis sellele on määratud virtuaalne IP aadress.&lt;br /&gt;
 2.) Kui server1 on maas ja server2 on primaarne (inglise k. primary), siis on määratud Server2-le virtuaalne IP aadress, eeldades, et server2    on     üleval.&lt;br /&gt;
&lt;br /&gt;
===Ucarpi Nõrkus===&lt;br /&gt;
   * Ainult IP põhine kluster&lt;br /&gt;
   * Seadeid, teenuseid üle ei kanta, kui server2 saab peamiseks serveriks.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Tsiteerides targemaid: ucarp on võrreldes keepalived või heartbeat tarkvaraga tagasihoidlikemate omadustega, kuid mõnel juhul võib just see ollagi eeliseks&lt;br /&gt;
&lt;br /&gt;
==UCARP install==&lt;br /&gt;
&lt;br /&gt;
Install käib lihtsalt:&lt;br /&gt;
&amp;lt;pre&amp;gt; &lt;br /&gt;
apt-get install ucarp &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Selle pannakse programmid peale. mitte unustada, et tarkvara tuleb installida mõlemale serverile!!&lt;br /&gt;
&lt;br /&gt;
==Eel Seadistamine==&lt;br /&gt;
&lt;br /&gt;
Kui olite sama laisk nagu mina, siis lasite alguses IP anda endale DHCP-ga, milleks oli 192.168.101.138&lt;br /&gt;
Seda saab vaadata:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;PRE&amp;gt;&lt;br /&gt;
ifconfig&lt;br /&gt;
&amp;lt;/PRE&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tulemüüri(inglise k. Gateway) saamine on natuke keerulisem, sest DHCP-ga seda ei ole võimalik päris &amp;quot;tavaliselt&amp;quot; ( ifconfig) näha.&lt;br /&gt;
Tulemüüri nägemiseks on olemas mitu võimalust, kuid mulle meeldib kasutada traceroutei. Tava installis seda paketti peal ei ole ja seega tuleks see paigaldada&lt;br /&gt;
&lt;br /&gt;
&amp;lt;PRE&amp;gt;&lt;br /&gt;
apt-get install traceroute&lt;br /&gt;
&amp;lt;/PRE&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kasutades traceroutei saame:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
traceroute www.neti.ee&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
ja esimene tulemus annab meile juba teada, meie DHCP aadressi:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@ubuntu:~# traceroute www.neti.ee&lt;br /&gt;
traceroute to www.neti.ee (195.50.209.245), 30 hops max, 60 byte packets&lt;br /&gt;
 1  192.168.101.2 (192.168.101.2)  0.139 ms  0.103 ms  0.076 ms^C&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Meie IP ja tulemüür peaksid nägema välja hetkel sellised:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
IP: 192.168.101.138&lt;br /&gt;
GW: 192.168.110.2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Teie praegune olukord peaks olema midagi sellist:&lt;br /&gt;
&lt;br /&gt;
Server1&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@ubuntu:~# ifconfig&lt;br /&gt;
eth0      Link encap:Ethernet  HWaddr 00:0c:29:6f:d7:c4&lt;br /&gt;
          inet addr:192.168.101.138  Bcast:192.168.101.255  Mask:255.255.255.0&lt;br /&gt;
          inet6 addr: fe80::20c:29ff:fe6f:d7c4/64 Scope:Link&lt;br /&gt;
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1&lt;br /&gt;
          RX packets:8377 errors:0 dropped:0 overruns:0 frame:0&lt;br /&gt;
          TX packets:5937 errors:0 dropped:0 overruns:0 carrier:0&lt;br /&gt;
          collisions:0 txqueuelen:1000&lt;br /&gt;
          RX bytes:9556394 (9.5 MB)  TX bytes:426352 (426.3 KB)&lt;br /&gt;
&lt;br /&gt;
lo        Link encap:Local Loopback&lt;br /&gt;
          inet addr:127.0.0.1  Mask:255.0.0.0&lt;br /&gt;
          inet6 addr: ::1/128 Scope:Host&lt;br /&gt;
          UP LOOPBACK RUNNING  MTU:16436  Metric:1&lt;br /&gt;
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0&lt;br /&gt;
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0&lt;br /&gt;
          collisions:0 txqueuelen:0&lt;br /&gt;
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Server2&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
root@ubuntu:~# ifconfig&lt;br /&gt;
eth0      Link encap:Ethernet  HWaddr 00:0c:29:99:51:66&lt;br /&gt;
          inet addr:192.168.101.140  Bcast:192.168.101.255  Mask:255.255.255.0&lt;br /&gt;
          inet6 addr: fe80::20c:29ff:fe99:5166/64 Scope:Link&lt;br /&gt;
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1&lt;br /&gt;
          RX packets:7586 errors:0 dropped:0 overruns:0 frame:0&lt;br /&gt;
          TX packets:4140 errors:0 dropped:0 overruns:0 carrier:0&lt;br /&gt;
          collisions:0 txqueuelen:1000&lt;br /&gt;
          RX bytes:9481944 (9.4 MB)  TX bytes:253201 (253.2 KB)&lt;br /&gt;
&lt;br /&gt;
lo        Link encap:Local Loopback&lt;br /&gt;
          inet addr:127.0.0.1  Mask:255.0.0.0&lt;br /&gt;
          inet6 addr: ::1/128 Scope:Host&lt;br /&gt;
          UP LOOPBACK RUNNING  MTU:16436  Metric:1&lt;br /&gt;
          RX packets:1 errors:0 dropped:0 overruns:0 frame:0&lt;br /&gt;
          TX packets:1 errors:0 dropped:0 overruns:0 carrier:0&lt;br /&gt;
          collisions:0 txqueuelen:0&lt;br /&gt;
          RX bytes:112 (112.0 B)  TX bytes:112 (112.0 B)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Ucarp Seadistammine==&lt;br /&gt;
&lt;br /&gt;
==Server 1==&lt;br /&gt;
&amp;lt;pre&amp;gt; vim /etc/network/interfaces &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Peaks avanema selline pilt:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# This file describes the network interfaces available on your system&lt;br /&gt;
# and how to activate them. For more information, see interfaces(5).&lt;br /&gt;
&lt;br /&gt;
# The loopback network interface&lt;br /&gt;
auto lo&lt;br /&gt;
iface lo inet loopback&lt;br /&gt;
&lt;br /&gt;
# The primary network interface&lt;br /&gt;
auto eth0&lt;br /&gt;
iface eth0 inet dhcp&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nüüd siis muudame selle ümber:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
root@ubuntu:~# vim /etc/network/interfaces&lt;br /&gt;
# This file describes the network interfaces available on your system&lt;br /&gt;
# and how to activate them. For more information, see interfaces(5).&lt;br /&gt;
&lt;br /&gt;
# The loopback network interface&lt;br /&gt;
auto lo&lt;br /&gt;
iface lo inet loopback&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# The primary network interface&lt;br /&gt;
auto eth0&lt;br /&gt;
iface eth0 inet static&lt;br /&gt;
        ################################&lt;br /&gt;
        # standard network configuration&lt;br /&gt;
        ################################&lt;br /&gt;
        address 192.168.101.138  # meie IP, mis panime alguses&lt;br /&gt;
        netmask 255.255.255.0    # netmask, selle saab ifconfig käsuga&lt;br /&gt;
        gateway 192.168.101.2    # traceroute aitas siin&lt;br /&gt;
        network 192.168.101.0    # natuke tuletamist..&lt;br /&gt;
        broadcast 192.168.101.255 #samuti ifconfig aitab&lt;br /&gt;
&lt;br /&gt;
        ################################&lt;br /&gt;
        # ucarp configuration  #########&lt;br /&gt;
        ################################&lt;br /&gt;
        # vid : The ID of the virtual server [1-255]&lt;br /&gt;
        ucarp-vid 1&lt;br /&gt;
        # vip : Virtuaalne IP aadress&lt;br /&gt;
        ucarp-vip 192.168.101.139&lt;br /&gt;
        # password : Mõlemal pool sama!!!!&lt;br /&gt;
        ucarp-password secret&lt;br /&gt;
        # advskew : Advertisement skew [1-255] # tähendab maakeels seda, et me ei reklaamime ennast koguaeg.&lt;br /&gt;
        ucarp-advskew 1&lt;br /&gt;
        # advbase &lt;br /&gt;
        ucarp-advbase 1&lt;br /&gt;
        # Kontroll, kas oleme peamine server?&lt;br /&gt;
        ucarp-master yes&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# CARP võrgu addressi kirjutame siia lihtsalt&lt;br /&gt;
iface eth0:ucarp inet static&lt;br /&gt;
        address 192.168.101.139&lt;br /&gt;
        netmask 255.255.255.0&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kindlasti tuleb teha võrgule restart, et kõik seaded võetakse kasutusse.&lt;br /&gt;
advskew ja advbase on asjad millega kontrollitakse kui tihedalt brodcastitakse.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/etc/init.d/networking restart &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Peaks avanema midagi sellist:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
root@ubuntu:~# ifconfig&lt;br /&gt;
eth0      Link encap:Ethernet  HWaddr 00:0c:29:6f:d7:c4&lt;br /&gt;
          inet addr:192.168.101.138  Bcast:192.168.101.255  Mask:255.255.255.0&lt;br /&gt;
          inet6 addr: fe80::20c:29ff:fe6f:d7c4/64 Scope:Link&lt;br /&gt;
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1&lt;br /&gt;
          RX packets:1195 errors:0 dropped:0 overruns:0 frame:0&lt;br /&gt;
          TX packets:287 errors:0 dropped:0 overruns:0 carrier:0&lt;br /&gt;
          collisions:0 txqueuelen:1000&lt;br /&gt;
          RX bytes:88166 (88.1 KB)  TX bytes:29985 (29.9 KB)&lt;br /&gt;
&lt;br /&gt;
eth0:ucarp Link encap:Ethernet  HWaddr 00:0c:29:6f:d7:c4&lt;br /&gt;
          inet addr:192.168.101.139  Bcast:192.168.101.255  Mask:255.255.255.0&lt;br /&gt;
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1&lt;br /&gt;
&lt;br /&gt;
lo        Link encap:Local Loopback&lt;br /&gt;
          inet addr:127.0.0.1  Mask:255.0.0.0&lt;br /&gt;
          inet6 addr: ::1/128 Scope:Host&lt;br /&gt;
          UP LOOPBACK RUNNING  MTU:16436  Metric:1&lt;br /&gt;
          RX packets:36 errors:0 dropped:0 overruns:0 frame:0&lt;br /&gt;
          TX packets:36 errors:0 dropped:0 overruns:0 carrier:0&lt;br /&gt;
          collisions:0 txqueuelen:0&lt;br /&gt;
          RX bytes:2712 (2.7 KB)  TX bytes:2712 (2.7 KB)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
See annab meile selguse, et Server1s on Ucarp kasutuses!&lt;br /&gt;
&lt;br /&gt;
==Server 2==&lt;br /&gt;
&lt;br /&gt;
Nüüd tuleks teha samasugune muutus ka server 2s.&lt;br /&gt;
Olles laisad, siis saame nüüd kopeerida selle ka teise serverisse, pärast teeme muudatused:&lt;br /&gt;
Paar asja on siin väga tähtsad:&lt;br /&gt;
&lt;br /&gt;
 1.) ucarp-advskew 100 # tähendab maakeeles seda, et me ei reklaami ennast nii tihedalt.&lt;br /&gt;
 2.) ucarp-master no # Server ka ei ole master!&lt;br /&gt;
 3.) IP address peab olema ikka selle serveri oma (192.168.101.140). Muud asjad samad&lt;br /&gt;
 4.) virtuaalsed IP-d peaksid olema need, mis eelmisel serveril.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# This file describes the network interfaces available on your system&lt;br /&gt;
# and how to activate them. For more information, see interfaces(5).&lt;br /&gt;
&lt;br /&gt;
# The loopback network interface&lt;br /&gt;
auto lo&lt;br /&gt;
iface lo inet loopback&lt;br /&gt;
&lt;br /&gt;
# The primary network interface&lt;br /&gt;
auto eth0&lt;br /&gt;
iface eth0 inet static&lt;br /&gt;
        ################################&lt;br /&gt;
        # standard network configuration&lt;br /&gt;
        ################################&lt;br /&gt;
        address 192.168.101.140&lt;br /&gt;
        netmask 255.255.255.0&lt;br /&gt;
        gateway 192.168.101.2&lt;br /&gt;
        network 192.168.101.0&lt;br /&gt;
        broadcast 192.168.101.255&lt;br /&gt;
&lt;br /&gt;
        ################################&lt;br /&gt;
        # ucarp configuration&lt;br /&gt;
        ################################&lt;br /&gt;
        # vid : The ID of the virtual server [1-255]&lt;br /&gt;
        ucarp-vid 1&lt;br /&gt;
        # vip : Virtuaalne IP aadress&lt;br /&gt;
        ucarp-vip 192.168.101.139&lt;br /&gt;
        # password : A password used to encrypt Carp communications&lt;br /&gt;
        ucarp-password secret&lt;br /&gt;
        # advskew : Advertisement skew [1-255] &lt;br /&gt;
        ucarp-advskew 100&lt;br /&gt;
        # advbase : Interval in seconds that advertisements will occur&lt;br /&gt;
        ucarp-advbase 1&lt;br /&gt;
        # master : nüüd me enam ei ole master. Seega määrame ära &amp;quot;no&amp;quot;&lt;br /&gt;
        ucarp-master no&lt;br /&gt;
&lt;br /&gt;
# The carp network interface, on top of eth1&lt;br /&gt;
iface eth0:ucarp inet static&lt;br /&gt;
        address 192.168.101.139&lt;br /&gt;
        netmask 255.255.255.0&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nüüd kui vastavad muudatused on sees, siis teeme ka võrgule restarti&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/etc/init.d/networking restart&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Kui märkasid, siis tegelikult midagi ei juhtunud, kuna oleme mitte masterid!&lt;br /&gt;
Kõik peaks nägema välja nagu endine:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
eth0      Link encap:Ethernet  HWaddr 00:0c:29:99:51:66&lt;br /&gt;
          inet addr:192.168.101.140  Bcast:192.168.101.255  Mask:255.255.255.0&lt;br /&gt;
          inet6 addr: fe80::20c:29ff:fe99:5166/64 Scope:Link&lt;br /&gt;
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1&lt;br /&gt;
          RX packets:213 errors:0 dropped:0 overruns:0 frame:0&lt;br /&gt;
          TX packets:99 errors:0 dropped:0 overruns:0 carrier:0&lt;br /&gt;
          collisions:0 txqueuelen:1000&lt;br /&gt;
          RX bytes:17498 (17.4 KB)  TX bytes:12669 (12.6 KB)&lt;br /&gt;
&lt;br /&gt;
lo        Link encap:Local Loopback&lt;br /&gt;
          inet addr:127.0.0.1  Mask:255.0.0.0&lt;br /&gt;
          inet6 addr: ::1/128 Scope:Host&lt;br /&gt;
          UP LOOPBACK RUNNING  MTU:16436  Metric:1&lt;br /&gt;
          RX packets:18 errors:0 dropped:0 overruns:0 frame:0&lt;br /&gt;
          TX packets:18 errors:0 dropped:0 overruns:0 carrier:0&lt;br /&gt;
          collisions:0 txqueuelen:0&lt;br /&gt;
          RX bytes:1380 (1.3 KB)  TX bytes:1380 (1.3 KB)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==UCARP testimine==&lt;br /&gt;
&lt;br /&gt;
Nüüd on mõlemad serverid paigas ja töötavad Ucarp on mõlemale installitud, kuid hetkel me ikka ei tea, kas Ucarp tegelikult ka töötab.&lt;br /&gt;
&lt;br /&gt;
Kerge test võiks olla selline, et paneme serveri kinni, millel hetkel on ucarp aktiveeritud, minu puhul&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
shutdown -h now&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nüüd peaksid nägema Server2s (minu puhul) ucarpi aktiveeritult.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ifconfig&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Vastus:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@ubuntu:~# ifconfig&lt;br /&gt;
eth0      Link encap:Ethernet  HWaddr 00:0c:29:99:51:66&lt;br /&gt;
          inet addr:192.168.101.140  Bcast:192.168.101.255  Mask:255.255.255.0&lt;br /&gt;
          inet6 addr: fe80::20c:29ff:fe99:5166/64 Scope:Link&lt;br /&gt;
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1&lt;br /&gt;
          RX packets:1270 errors:0 dropped:0 overruns:0 frame:0&lt;br /&gt;
          TX packets:929 errors:0 dropped:0 overruns:0 carrier:0&lt;br /&gt;
          collisions:0 txqueuelen:1000&lt;br /&gt;
          RX bytes:94480 (94.4 KB)  TX bytes:113861 (113.8 KB)&lt;br /&gt;
&lt;br /&gt;
eth0:ucarp Link encap:Ethernet  HWaddr 00:0c:29:99:51:66&lt;br /&gt;
          inet addr:192.168.101.139  Bcast:192.168.101.255  Mask:255.255.255.0&lt;br /&gt;
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1&lt;br /&gt;
&lt;br /&gt;
lo        Link encap:Local Loopback&lt;br /&gt;
          inet addr:127.0.0.1  Mask:255.0.0.0&lt;br /&gt;
          inet6 addr: ::1/128 Scope:Host&lt;br /&gt;
          UP LOOPBACK RUNNING  MTU:16436  Metric:1&lt;br /&gt;
          RX packets:482 errors:0 dropped:0 overruns:0 frame:0&lt;br /&gt;
          TX packets:482 errors:0 dropped:0 overruns:0 carrier:0&lt;br /&gt;
          collisions:0 txqueuelen:0&lt;br /&gt;
          RX bytes:38580 (38.5 KB)  TX bytes:38580 (38.5 KB)&lt;br /&gt;
&lt;br /&gt;
root@ubuntu:~#&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Annab meile jällegi kindlustunde, et tõesti server1 annab oma asjad üle server2le, kui server1-ga peaks midagi juhtuma.&lt;br /&gt;
&lt;br /&gt;
==UCARP ja Apache koos==&lt;br /&gt;
&lt;br /&gt;
Idee on lihtne. Installime mõlemale serverile apache serveri ja hoiame neid süngis linuxi vahenditega.&lt;br /&gt;
Selleks võib olla rsync või ka tavaline copy cronis :) Hetkel kasutame rsynci.&lt;br /&gt;
&lt;br /&gt;
Installime apachei ja rsynci:&lt;br /&gt;
&lt;br /&gt;
Server1:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
apt-get install apache2 rsync&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Server2:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
apt-get install apache2 rsync&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nüüd on meil 2 serverit, millel on Rsync ja apache2 installitud&lt;br /&gt;
Apache2 hoiab oma asju:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/etc/apache2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Siis tuleks meil kindlasti sünkida seda kataloogi ja samuti ei tohi ära unustada ka kataloogi, kus meie apache asub&lt;br /&gt;
Näiteks:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/var/www/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nüüd paneme oma rsynci tööle, soovitavalt Crontabi. Meil tekkib probleem, et oleks vaja pärast apache2 konfiguratsioonide muutmist ka apache2 uuesti &amp;quot;reloadida&amp;quot;. Selleks kasutame skripti. Hetkel siin kasutamiseks kirjutasin lihtsa skripti, mida saab endale vastavalt kergelt parandada.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
touch /root/apache_rsync.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Anname käivitamise õigused, et pärast ei unustaks:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
chmod 755 apache_rsync.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nüüd, skript ise. Eeldus on see, et mõlemal pool on SSH lubatud!&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
vim /root/apache_rsync.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
#rsync ise&lt;br /&gt;
rsync -avz -e ssh root@192.168.101.138:/home/apache2 /home/apache2/&lt;br /&gt;
rsync -avz -e ssh root@192.168.101.138:/var/www/html /var/www/html&lt;br /&gt;
&lt;br /&gt;
#p2rast asjade yle kopeerimist tuleb teha reaload et teisel pool ikka asjad t66taks.&lt;br /&gt;
/etc/init.d/apache2 reload&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
See nüüd croni server2-le&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
vim /etc/crontab&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Lisage selline rida. Sellega hakatakse rsyncika hoidma servereid sünkroonis. Tehakse iga 15 minuti järgi. Number 15 võib muuta oma äranägemise järgi.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
*/15 * * * * root /root/apache_rsync.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Kokkuvõtteks==&lt;br /&gt;
Võiks öelda, et viimane skript on väga väike ja võiks kõvasti paremaks teha.&lt;br /&gt;
Näiteks: email saatmise sisse panna, sest hetkel me ei tea, millal server1 on põhiline ja millal server2 on põhiline. &lt;br /&gt;
Hetkel teeme eelduse , et server1 sai fataalse errori ja on katki ja pärast selle korda tegemist on see jälle põhiline.&lt;br /&gt;
&lt;br /&gt;
==Kasutatud kirjandus==&lt;br /&gt;
* http://valeriytroshin.blogspot.com/2011/08/carp-failover-redundancy-in-ubuntu-1104.html&lt;br /&gt;
* http://laurentbel.com/2012/04/12/simple-apache-failover-cluster-on-ubuntu-with-config-synchronization/&lt;br /&gt;
* http://www.auul.pri.ee/wiki/Operatsioonis%C3%BCsteemi_Debian_GNU/Linux_kasutamine#ucarp_kasutamine&lt;br /&gt;
* http://www.freebsd.org/doc/handbook/carp.html&lt;br /&gt;
* http://laurentbel.com/2012/04/04/simple-failover-cluster-on-ubuntu-using-carp/&lt;br /&gt;
* http://en.wikipedia.org/wiki/Common_Address_Redundancy_Protocol&lt;br /&gt;
* http://blog.ijun.org/2009/11/high-availability-with-freebsd-and-carp.html&lt;br /&gt;
* http://www.howtoforge.com/how-to-configure-a-pfsense-2.0-cluster-using-carp&lt;br /&gt;
* http://kuutorvaja.eenet.ee/wiki/K%C3%B5rgk%C3%A4ideldavus_UCARP_abil#Paigaldamine_ja_seadistamine_RHEL.2C_CentOS_ja_Fedora_kasutajatele&lt;br /&gt;
* http://www.pureftpd.org/project/ucarp&lt;/div&gt;</summary>
		<author><name>Mmust</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Ucarp&amp;diff=58961</id>
		<title>Ucarp</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Ucarp&amp;diff=58961"/>
		<updated>2012-12-11T08:34:50Z</updated>

		<summary type="html">&lt;p&gt;Mmust: /* server 1 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=UCARP/CARP=&lt;br /&gt;
Autor: Marek Must&amp;lt;br&amp;gt; 07.12.2012&lt;br /&gt;
Rühm: AK21&lt;br /&gt;
Esitamise kuupäev: &lt;br /&gt;
&lt;br /&gt;
==Sissejuhatus==&lt;br /&gt;
Carp (inglise k. &amp;quot;Common Address Redundancy Protocol&amp;quot;) on protokoll, mis lubab samadel serveritel samas subnetis jagada ühte IP aadressi.&lt;br /&gt;
&lt;br /&gt;
Ucarp on tarkvara, mis võimaldab sul vähemalt 2 serveri olemasolul jagada neile 1 virtuaalne IP aadress, mille tulemusega saadakse kluster.&lt;br /&gt;
Ucarp ei ole väga peen lahendus ja sellega tuleb alati arvestada.&lt;br /&gt;
&lt;br /&gt;
===Ucarpi tugevus===&lt;br /&gt;
   * Lihtsus (ülesse seadmine käib lihtsalt)&lt;br /&gt;
   * Väike serveri ressursside kasutamine&lt;br /&gt;
   * Pole vaja lisa võrgu otsasid (alati on kena, kuid see on täiesti teine teema)&lt;br /&gt;
   * Krüptograafiliselt signeeritud teated. (Ucarpil on seadistatud parool, öeldes lihtsalt)&lt;br /&gt;
   * Töötada koos mitme operatsiooni süsteemiga (inglise k. interoperability )&lt;br /&gt;
&lt;br /&gt;
===Tööpühimõte===&lt;br /&gt;
&lt;br /&gt;
Ucrap töötab lihtsalt:&lt;br /&gt;
 1.) Kui server1 on üleval, siis sellele on määratud virtuaalne IP aadress.&lt;br /&gt;
 2.) Kui server1 on maas ja server2 on primaarne (inglise k. primary), siis on määratud Server2-le virtuaalne IP aadress, eeldades, et server2    on     üleval.&lt;br /&gt;
&lt;br /&gt;
===Ucarpi Nõrkus===&lt;br /&gt;
   * Ainult IP põhine kluster&lt;br /&gt;
   * Seadeid, teenuseid üle ei kanta, kui server2 saab peamiseks serveriks.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Tsiteerides targemaid: ucarp on võrreldes keepalived või heartbeat tarkvaraga tagasihoidlikemate omadustega, kuid mõnel juhul võib just see ollagi eeliseks&lt;br /&gt;
&lt;br /&gt;
==UCARP install==&lt;br /&gt;
&lt;br /&gt;
Install käib lihtsalt:&lt;br /&gt;
&amp;lt;pre&amp;gt; &lt;br /&gt;
apt-get install ucarp &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Selle pannakse programmid peale. mitte unustada, et tarkvara tuleb installida mõlemale serverile!!&lt;br /&gt;
&lt;br /&gt;
==Eel Seadistamine==&lt;br /&gt;
&lt;br /&gt;
Kui olite sama laisk nagu mina, siis lasite alguses IP anda endale DHCP-ga, milleks oli 192.168.101.138&lt;br /&gt;
Seda saab vaadata:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;PRE&amp;gt;&lt;br /&gt;
ifconfig&lt;br /&gt;
&amp;lt;/PRE&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tulemüüri(inglise k. Gateway) saamine on natuke keerulisem, sest DHCP-ga seda ei ole võimalik päris &amp;quot;tavaliselt&amp;quot; ( ifconfig) näha.&lt;br /&gt;
Tulemüüri nägemiseks on olemas mitu võimalust, kuid mulle meeldib kasutada traceroutei. Tava installis seda paketti peal ei ole ja seega tuleks see paigaldada&lt;br /&gt;
&lt;br /&gt;
&amp;lt;PRE&amp;gt;&lt;br /&gt;
apt-get install traceroute&lt;br /&gt;
&amp;lt;/PRE&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kasutades traceroutei saame:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
traceroute www.neti.ee&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
ja esimene tulemus annab meile juba teada, meie DHCP aadressi:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@ubuntu:~# traceroute www.neti.ee&lt;br /&gt;
traceroute to www.neti.ee (195.50.209.245), 30 hops max, 60 byte packets&lt;br /&gt;
 1  192.168.101.2 (192.168.101.2)  0.139 ms  0.103 ms  0.076 ms^C&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Meie IP ja tulemüür peaksid nägema välja hetkel sellised:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
IP: 192.168.101.138&lt;br /&gt;
GW: 192.168.110.2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Teie praegune olukord peaks olema midagi sellist:&lt;br /&gt;
&lt;br /&gt;
Server1&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@ubuntu:~# ifconfig&lt;br /&gt;
eth0      Link encap:Ethernet  HWaddr 00:0c:29:6f:d7:c4&lt;br /&gt;
          inet addr:192.168.101.138  Bcast:192.168.101.255  Mask:255.255.255.0&lt;br /&gt;
          inet6 addr: fe80::20c:29ff:fe6f:d7c4/64 Scope:Link&lt;br /&gt;
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1&lt;br /&gt;
          RX packets:8377 errors:0 dropped:0 overruns:0 frame:0&lt;br /&gt;
          TX packets:5937 errors:0 dropped:0 overruns:0 carrier:0&lt;br /&gt;
          collisions:0 txqueuelen:1000&lt;br /&gt;
          RX bytes:9556394 (9.5 MB)  TX bytes:426352 (426.3 KB)&lt;br /&gt;
&lt;br /&gt;
lo        Link encap:Local Loopback&lt;br /&gt;
          inet addr:127.0.0.1  Mask:255.0.0.0&lt;br /&gt;
          inet6 addr: ::1/128 Scope:Host&lt;br /&gt;
          UP LOOPBACK RUNNING  MTU:16436  Metric:1&lt;br /&gt;
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0&lt;br /&gt;
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0&lt;br /&gt;
          collisions:0 txqueuelen:0&lt;br /&gt;
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Server2&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
root@ubuntu:~# ifconfig&lt;br /&gt;
eth0      Link encap:Ethernet  HWaddr 00:0c:29:99:51:66&lt;br /&gt;
          inet addr:192.168.101.140  Bcast:192.168.101.255  Mask:255.255.255.0&lt;br /&gt;
          inet6 addr: fe80::20c:29ff:fe99:5166/64 Scope:Link&lt;br /&gt;
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1&lt;br /&gt;
          RX packets:7586 errors:0 dropped:0 overruns:0 frame:0&lt;br /&gt;
          TX packets:4140 errors:0 dropped:0 overruns:0 carrier:0&lt;br /&gt;
          collisions:0 txqueuelen:1000&lt;br /&gt;
          RX bytes:9481944 (9.4 MB)  TX bytes:253201 (253.2 KB)&lt;br /&gt;
&lt;br /&gt;
lo        Link encap:Local Loopback&lt;br /&gt;
          inet addr:127.0.0.1  Mask:255.0.0.0&lt;br /&gt;
          inet6 addr: ::1/128 Scope:Host&lt;br /&gt;
          UP LOOPBACK RUNNING  MTU:16436  Metric:1&lt;br /&gt;
          RX packets:1 errors:0 dropped:0 overruns:0 frame:0&lt;br /&gt;
          TX packets:1 errors:0 dropped:0 overruns:0 carrier:0&lt;br /&gt;
          collisions:0 txqueuelen:0&lt;br /&gt;
          RX bytes:112 (112.0 B)  TX bytes:112 (112.0 B)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Ucarp Seadistammine==&lt;br /&gt;
&lt;br /&gt;
==Server 1==&lt;br /&gt;
&amp;lt;pre&amp;gt; vim /etc/network/interfaces &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Peaks avanema selline pilt:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# This file describes the network interfaces available on your system&lt;br /&gt;
# and how to activate them. For more information, see interfaces(5).&lt;br /&gt;
&lt;br /&gt;
# The loopback network interface&lt;br /&gt;
auto lo&lt;br /&gt;
iface lo inet loopback&lt;br /&gt;
&lt;br /&gt;
# The primary network interface&lt;br /&gt;
auto eth0&lt;br /&gt;
iface eth0 inet dhcp&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nüüd siis muudame selle ümber:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
root@ubuntu:~# vim /etc/network/interfaces&lt;br /&gt;
# This file describes the network interfaces available on your system&lt;br /&gt;
# and how to activate them. For more information, see interfaces(5).&lt;br /&gt;
&lt;br /&gt;
# The loopback network interface&lt;br /&gt;
auto lo&lt;br /&gt;
iface lo inet loopback&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# The primary network interface&lt;br /&gt;
auto eth0&lt;br /&gt;
iface eth0 inet static&lt;br /&gt;
        ################################&lt;br /&gt;
        # standard network configuration&lt;br /&gt;
        ################################&lt;br /&gt;
        address 192.168.101.138  # meie IP, mis panime alguses&lt;br /&gt;
        netmask 255.255.255.0    # netmask, selle saab ifconfig käsuga&lt;br /&gt;
        gateway 192.168.101.2    # traceroute aitas siin&lt;br /&gt;
        network 192.168.101.0    # natuke tuletamist..&lt;br /&gt;
        broadcast 192.168.101.255 #samuti ifconfig aitab&lt;br /&gt;
&lt;br /&gt;
        ################################&lt;br /&gt;
        # ucarp configuration  #########&lt;br /&gt;
        ################################&lt;br /&gt;
        # vid : The ID of the virtual server [1-255]&lt;br /&gt;
        ucarp-vid 1&lt;br /&gt;
        # vip : Virtuaalne IP aadress&lt;br /&gt;
        ucarp-vip 192.168.101.139&lt;br /&gt;
        # password : Mõlemal pool sama!!!!&lt;br /&gt;
        ucarp-password secret&lt;br /&gt;
        # advskew : Advertisement skew [1-255] # tähendab maakeels seda, et me ei reklaamime ennast koguaeg.&lt;br /&gt;
        ucarp-advskew 1&lt;br /&gt;
        # advbase &lt;br /&gt;
        ucarp-advbase 1&lt;br /&gt;
        # Kontroll, kas oleme peamine server?&lt;br /&gt;
        ucarp-master yes&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# CARP võrgu addressi kirjutame siia lihtsalt&lt;br /&gt;
iface eth0:ucarp inet static&lt;br /&gt;
        address 192.168.101.139&lt;br /&gt;
        netmask 255.255.255.0&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kindlasti tuleb teha võrgule restart, et kõik seaded võetakse kasutusse.&lt;br /&gt;
advskew ja advbase on asjad millega kontrollitakse kui tihedalt brodcastitakse.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/etc/init.d/networking restart &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Peaks avanema midagi sellist:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
root@ubuntu:~# ifconfig&lt;br /&gt;
eth0      Link encap:Ethernet  HWaddr 00:0c:29:6f:d7:c4&lt;br /&gt;
          inet addr:192.168.101.138  Bcast:192.168.101.255  Mask:255.255.255.0&lt;br /&gt;
          inet6 addr: fe80::20c:29ff:fe6f:d7c4/64 Scope:Link&lt;br /&gt;
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1&lt;br /&gt;
          RX packets:1195 errors:0 dropped:0 overruns:0 frame:0&lt;br /&gt;
          TX packets:287 errors:0 dropped:0 overruns:0 carrier:0&lt;br /&gt;
          collisions:0 txqueuelen:1000&lt;br /&gt;
          RX bytes:88166 (88.1 KB)  TX bytes:29985 (29.9 KB)&lt;br /&gt;
&lt;br /&gt;
eth0:ucarp Link encap:Ethernet  HWaddr 00:0c:29:6f:d7:c4&lt;br /&gt;
          inet addr:192.168.101.139  Bcast:192.168.101.255  Mask:255.255.255.0&lt;br /&gt;
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1&lt;br /&gt;
&lt;br /&gt;
lo        Link encap:Local Loopback&lt;br /&gt;
          inet addr:127.0.0.1  Mask:255.0.0.0&lt;br /&gt;
          inet6 addr: ::1/128 Scope:Host&lt;br /&gt;
          UP LOOPBACK RUNNING  MTU:16436  Metric:1&lt;br /&gt;
          RX packets:36 errors:0 dropped:0 overruns:0 frame:0&lt;br /&gt;
          TX packets:36 errors:0 dropped:0 overruns:0 carrier:0&lt;br /&gt;
          collisions:0 txqueuelen:0&lt;br /&gt;
          RX bytes:2712 (2.7 KB)  TX bytes:2712 (2.7 KB)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
See annab meile selguse, et Server1s on Ucarp kasutuses!&lt;br /&gt;
&lt;br /&gt;
==Server 2==&lt;br /&gt;
&lt;br /&gt;
Nüüd tuleks teha samasugune muutus ka server 2s.&lt;br /&gt;
Olles laisad, siis saame nüüd kopeerida selle ka teise serverisse, pärast teeme muudatused:&lt;br /&gt;
Paar asja on siin väga tähtsad:&lt;br /&gt;
&lt;br /&gt;
 1.) ucarp-advskew 100 # tähendab maakeeles seda, et me ei reklaami ennast nii tihedalt.&lt;br /&gt;
 2.) ucarp-master no # Server ka ei ole master!&lt;br /&gt;
 3.) IP address peab olema ikka selle serveri oma (192.168.101.140). Muud asjad samad&lt;br /&gt;
 4.) virtuaalsed IP-d peaksid olema need, mis eelmisel serveril.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# This file describes the network interfaces available on your system&lt;br /&gt;
# and how to activate them. For more information, see interfaces(5).&lt;br /&gt;
&lt;br /&gt;
# The loopback network interface&lt;br /&gt;
auto lo&lt;br /&gt;
iface lo inet loopback&lt;br /&gt;
&lt;br /&gt;
# The primary network interface&lt;br /&gt;
auto eth0&lt;br /&gt;
iface eth0 inet static&lt;br /&gt;
        ################################&lt;br /&gt;
        # standard network configuration&lt;br /&gt;
        ################################&lt;br /&gt;
        address 192.168.101.140&lt;br /&gt;
        netmask 255.255.255.0&lt;br /&gt;
        gateway 192.168.101.2&lt;br /&gt;
        network 192.168.101.0&lt;br /&gt;
        broadcast 192.168.101.255&lt;br /&gt;
&lt;br /&gt;
        ################################&lt;br /&gt;
        # ucarp configuration&lt;br /&gt;
        ################################&lt;br /&gt;
        # vid : The ID of the virtual server [1-255]&lt;br /&gt;
        ucarp-vid 1&lt;br /&gt;
        # vip : Virtuaalne IP aadress&lt;br /&gt;
        ucarp-vip 192.168.101.139&lt;br /&gt;
        # password : A password used to encrypt Carp communications&lt;br /&gt;
        ucarp-password secret&lt;br /&gt;
        # advskew : Advertisement skew [1-255] &lt;br /&gt;
        ucarp-advskew 100&lt;br /&gt;
        # advbase : Interval in seconds that advertisements will occur&lt;br /&gt;
        ucarp-advbase 1&lt;br /&gt;
        # master : nüüd me enam ei ole master. Seega määrame ära &amp;quot;no&amp;quot;&lt;br /&gt;
        ucarp-master no&lt;br /&gt;
&lt;br /&gt;
# The carp network interface, on top of eth1&lt;br /&gt;
iface eth0:ucarp inet static&lt;br /&gt;
        address 192.168.101.139&lt;br /&gt;
        netmask 255.255.255.0&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nüüd kui vastavad muudatused on sees, siis teeme ka võrgule restarti&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/etc/init.d/networking restart&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Kui märkasid, siis tegelikult midagi ei juhtunud, kuna oleme mitte masterid!&lt;br /&gt;
Kõik peaks nägema välja nagu endine:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
eth0      Link encap:Ethernet  HWaddr 00:0c:29:99:51:66&lt;br /&gt;
          inet addr:192.168.101.140  Bcast:192.168.101.255  Mask:255.255.255.0&lt;br /&gt;
          inet6 addr: fe80::20c:29ff:fe99:5166/64 Scope:Link&lt;br /&gt;
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1&lt;br /&gt;
          RX packets:213 errors:0 dropped:0 overruns:0 frame:0&lt;br /&gt;
          TX packets:99 errors:0 dropped:0 overruns:0 carrier:0&lt;br /&gt;
          collisions:0 txqueuelen:1000&lt;br /&gt;
          RX bytes:17498 (17.4 KB)  TX bytes:12669 (12.6 KB)&lt;br /&gt;
&lt;br /&gt;
lo        Link encap:Local Loopback&lt;br /&gt;
          inet addr:127.0.0.1  Mask:255.0.0.0&lt;br /&gt;
          inet6 addr: ::1/128 Scope:Host&lt;br /&gt;
          UP LOOPBACK RUNNING  MTU:16436  Metric:1&lt;br /&gt;
          RX packets:18 errors:0 dropped:0 overruns:0 frame:0&lt;br /&gt;
          TX packets:18 errors:0 dropped:0 overruns:0 carrier:0&lt;br /&gt;
          collisions:0 txqueuelen:0&lt;br /&gt;
          RX bytes:1380 (1.3 KB)  TX bytes:1380 (1.3 KB)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==UCARP testimine==&lt;br /&gt;
&lt;br /&gt;
Nüüd on mõlemad serverid paigas ja töötavad Ucarp on mõlemale installitud, kuid hetkel me ikka ei tea, kas Ucarp tegelikult ka töötab.&lt;br /&gt;
&lt;br /&gt;
Kerge test võiks olla selline, et paneme serveri kinni, millel hetkel on ucarp aktiveeritud, minu puhul&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
root@ubuntu:~# shutdown -h now&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nüüd peaksid nägema Server2s (minu puhul) ucarpi aktiveeritult.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ifconfig&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Vastus:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@ubuntu:~# ifconfig&lt;br /&gt;
eth0      Link encap:Ethernet  HWaddr 00:0c:29:99:51:66&lt;br /&gt;
          inet addr:192.168.101.140  Bcast:192.168.101.255  Mask:255.255.255.0&lt;br /&gt;
          inet6 addr: fe80::20c:29ff:fe99:5166/64 Scope:Link&lt;br /&gt;
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1&lt;br /&gt;
          RX packets:1270 errors:0 dropped:0 overruns:0 frame:0&lt;br /&gt;
          TX packets:929 errors:0 dropped:0 overruns:0 carrier:0&lt;br /&gt;
          collisions:0 txqueuelen:1000&lt;br /&gt;
          RX bytes:94480 (94.4 KB)  TX bytes:113861 (113.8 KB)&lt;br /&gt;
&lt;br /&gt;
eth0:ucarp Link encap:Ethernet  HWaddr 00:0c:29:99:51:66&lt;br /&gt;
          inet addr:192.168.101.139  Bcast:192.168.101.255  Mask:255.255.255.0&lt;br /&gt;
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1&lt;br /&gt;
&lt;br /&gt;
lo        Link encap:Local Loopback&lt;br /&gt;
          inet addr:127.0.0.1  Mask:255.0.0.0&lt;br /&gt;
          inet6 addr: ::1/128 Scope:Host&lt;br /&gt;
          UP LOOPBACK RUNNING  MTU:16436  Metric:1&lt;br /&gt;
          RX packets:482 errors:0 dropped:0 overruns:0 frame:0&lt;br /&gt;
          TX packets:482 errors:0 dropped:0 overruns:0 carrier:0&lt;br /&gt;
          collisions:0 txqueuelen:0&lt;br /&gt;
          RX bytes:38580 (38.5 KB)  TX bytes:38580 (38.5 KB)&lt;br /&gt;
&lt;br /&gt;
root@ubuntu:~#&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Annab meile jällegi kindlustunde, et tõesti server1 annab oma asjad üle server2le, kui server1-ga peaks midagi juhtuma.&lt;br /&gt;
&lt;br /&gt;
==UCARP ja Apache koos==&lt;br /&gt;
&lt;br /&gt;
Idee on lihtne. Installime mõlemale serverile apache serveri ja hoiame neid süngis linuxi vahenditega.&lt;br /&gt;
Selleks võib olla rsync või ka tavaline copy cronis :) Hetkel kasutame rsynci.&lt;br /&gt;
&lt;br /&gt;
Installime apachei ja rsynci:&lt;br /&gt;
&lt;br /&gt;
Server1:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
apt-get install apache2 rsync&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Server2:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
apt-get install apache2 rsync&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nüüd on meil 2 serverit, millel on Rsync ja apache2 installitud&lt;br /&gt;
Apache2 hoiab oma asju:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/etc/apache2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Siis tuleks meil kindlasti sünkida seda kataloogi ja samuti ei tohi ära unustada ka kataloogi, kus meie apache asub&lt;br /&gt;
Näiteks:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/var/www/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nüüd paneme oma rsynci tööle, soovitavalt Crontabi. Meil tekkib probleem, et oleks vaja pärast apache2 konfiguratsioonide muutmist ka apache2 uuesti &amp;quot;reloadida&amp;quot;. Selleks kasutame skripti. Hetkel siin kasutamiseks kirjutasin lihtsa skripti, mida saab endale vastavalt kergelt parandada.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
touch /root/apache_rsync.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Anname käivitamise õigused, et pärast ei unustaks:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
chmod 755 apache_rsync.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nüüd, skript ise. Eeldus on see, et mõlemal pool on SSH lubatud!&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
vim /root/apache_rsync.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
#rsync ise&lt;br /&gt;
rsync -avz -e ssh root@192.168.101.138:/home/apache2 /home/apache2/&lt;br /&gt;
rsync -avz -e ssh root@192.168.101.138:/var/www/html /var/www/html&lt;br /&gt;
&lt;br /&gt;
#p2rast asjade yle kopeerimist tuleb teha reaload et teisel pool ikka asjad t66taks.&lt;br /&gt;
/etc/init.d/apache2 reload&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
See nüüd croni server2-le&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
vim /etc/crontab&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Lisage selline rida. Sellega hakatakse rsyncika hoidma servereid sünkroonis. Tehakse iga 15 minuti järgi. Number 15 võib muuta oma äranägemise järgi.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
*/15 * * * * root /root/apache_rsync.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Kokkuvõtteks==&lt;br /&gt;
Võiks öelda, et viimane skript on väga väike ja võiks kõvasti paremaks teha.&lt;br /&gt;
Näiteks: email saatmise sisse panna, sest hetkel me ei tea, millal server1 on põhiline ja millal server2 on põhiline. &lt;br /&gt;
Hetkel teeme eelduse , et server1 sai fataalse errori ja on katki ja pärast selle korda tegemist on see jälle põhiline.&lt;br /&gt;
&lt;br /&gt;
==Kasutatud kirjandus==&lt;br /&gt;
* http://valeriytroshin.blogspot.com/2011/08/carp-failover-redundancy-in-ubuntu-1104.html&lt;br /&gt;
* http://laurentbel.com/2012/04/12/simple-apache-failover-cluster-on-ubuntu-with-config-synchronization/&lt;br /&gt;
* http://www.auul.pri.ee/wiki/Operatsioonis%C3%BCsteemi_Debian_GNU/Linux_kasutamine#ucarp_kasutamine&lt;br /&gt;
* http://www.freebsd.org/doc/handbook/carp.html&lt;br /&gt;
* http://laurentbel.com/2012/04/04/simple-failover-cluster-on-ubuntu-using-carp/&lt;br /&gt;
* http://en.wikipedia.org/wiki/Common_Address_Redundancy_Protocol&lt;br /&gt;
* http://blog.ijun.org/2009/11/high-availability-with-freebsd-and-carp.html&lt;br /&gt;
* http://www.howtoforge.com/how-to-configure-a-pfsense-2.0-cluster-using-carp&lt;br /&gt;
* http://kuutorvaja.eenet.ee/wiki/K%C3%B5rgk%C3%A4ideldavus_UCARP_abil#Paigaldamine_ja_seadistamine_RHEL.2C_CentOS_ja_Fedora_kasutajatele&lt;br /&gt;
* http://www.pureftpd.org/project/ucarp&lt;/div&gt;</summary>
		<author><name>Mmust</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Ucarp&amp;diff=58960</id>
		<title>Ucarp</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Ucarp&amp;diff=58960"/>
		<updated>2012-12-11T08:34:22Z</updated>

		<summary type="html">&lt;p&gt;Mmust: /* Server2 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=UCARP/CARP=&lt;br /&gt;
Autor: Marek Must&amp;lt;br&amp;gt; 07.12.2012&lt;br /&gt;
Rühm: AK21&lt;br /&gt;
Esitamise kuupäev: &lt;br /&gt;
&lt;br /&gt;
==Sissejuhatus==&lt;br /&gt;
Carp (inglise k. &amp;quot;Common Address Redundancy Protocol&amp;quot;) on protokoll, mis lubab samadel serveritel samas subnetis jagada ühte IP aadressi.&lt;br /&gt;
&lt;br /&gt;
Ucarp on tarkvara, mis võimaldab sul vähemalt 2 serveri olemasolul jagada neile 1 virtuaalne IP aadress, mille tulemusega saadakse kluster.&lt;br /&gt;
Ucarp ei ole väga peen lahendus ja sellega tuleb alati arvestada.&lt;br /&gt;
&lt;br /&gt;
===Ucarpi tugevus===&lt;br /&gt;
   * Lihtsus (ülesse seadmine käib lihtsalt)&lt;br /&gt;
   * Väike serveri ressursside kasutamine&lt;br /&gt;
   * Pole vaja lisa võrgu otsasid (alati on kena, kuid see on täiesti teine teema)&lt;br /&gt;
   * Krüptograafiliselt signeeritud teated. (Ucarpil on seadistatud parool, öeldes lihtsalt)&lt;br /&gt;
   * Töötada koos mitme operatsiooni süsteemiga (inglise k. interoperability )&lt;br /&gt;
&lt;br /&gt;
===Tööpühimõte===&lt;br /&gt;
&lt;br /&gt;
Ucrap töötab lihtsalt:&lt;br /&gt;
 1.) Kui server1 on üleval, siis sellele on määratud virtuaalne IP aadress.&lt;br /&gt;
 2.) Kui server1 on maas ja server2 on primaarne (inglise k. primary), siis on määratud Server2-le virtuaalne IP aadress, eeldades, et server2    on     üleval.&lt;br /&gt;
&lt;br /&gt;
===Ucarpi Nõrkus===&lt;br /&gt;
   * Ainult IP põhine kluster&lt;br /&gt;
   * Seadeid, teenuseid üle ei kanta, kui server2 saab peamiseks serveriks.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Tsiteerides targemaid: ucarp on võrreldes keepalived või heartbeat tarkvaraga tagasihoidlikemate omadustega, kuid mõnel juhul võib just see ollagi eeliseks&lt;br /&gt;
&lt;br /&gt;
==UCARP install==&lt;br /&gt;
&lt;br /&gt;
Install käib lihtsalt:&lt;br /&gt;
&amp;lt;pre&amp;gt; &lt;br /&gt;
apt-get install ucarp &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Selle pannakse programmid peale. mitte unustada, et tarkvara tuleb installida mõlemale serverile!!&lt;br /&gt;
&lt;br /&gt;
==Eel Seadistamine==&lt;br /&gt;
&lt;br /&gt;
Kui olite sama laisk nagu mina, siis lasite alguses IP anda endale DHCP-ga, milleks oli 192.168.101.138&lt;br /&gt;
Seda saab vaadata:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;PRE&amp;gt;&lt;br /&gt;
ifconfig&lt;br /&gt;
&amp;lt;/PRE&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tulemüüri(inglise k. Gateway) saamine on natuke keerulisem, sest DHCP-ga seda ei ole võimalik päris &amp;quot;tavaliselt&amp;quot; ( ifconfig) näha.&lt;br /&gt;
Tulemüüri nägemiseks on olemas mitu võimalust, kuid mulle meeldib kasutada traceroutei. Tava installis seda paketti peal ei ole ja seega tuleks see paigaldada&lt;br /&gt;
&lt;br /&gt;
&amp;lt;PRE&amp;gt;&lt;br /&gt;
apt-get install traceroute&lt;br /&gt;
&amp;lt;/PRE&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kasutades traceroutei saame:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
traceroute www.neti.ee&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
ja esimene tulemus annab meile juba teada, meie DHCP aadressi:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@ubuntu:~# traceroute www.neti.ee&lt;br /&gt;
traceroute to www.neti.ee (195.50.209.245), 30 hops max, 60 byte packets&lt;br /&gt;
 1  192.168.101.2 (192.168.101.2)  0.139 ms  0.103 ms  0.076 ms^C&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Meie IP ja tulemüür peaksid nägema välja hetkel sellised:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
IP: 192.168.101.138&lt;br /&gt;
GW: 192.168.110.2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Teie praegune olukord peaks olema midagi sellist:&lt;br /&gt;
&lt;br /&gt;
Server1&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@ubuntu:~# ifconfig&lt;br /&gt;
eth0      Link encap:Ethernet  HWaddr 00:0c:29:6f:d7:c4&lt;br /&gt;
          inet addr:192.168.101.138  Bcast:192.168.101.255  Mask:255.255.255.0&lt;br /&gt;
          inet6 addr: fe80::20c:29ff:fe6f:d7c4/64 Scope:Link&lt;br /&gt;
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1&lt;br /&gt;
          RX packets:8377 errors:0 dropped:0 overruns:0 frame:0&lt;br /&gt;
          TX packets:5937 errors:0 dropped:0 overruns:0 carrier:0&lt;br /&gt;
          collisions:0 txqueuelen:1000&lt;br /&gt;
          RX bytes:9556394 (9.5 MB)  TX bytes:426352 (426.3 KB)&lt;br /&gt;
&lt;br /&gt;
lo        Link encap:Local Loopback&lt;br /&gt;
          inet addr:127.0.0.1  Mask:255.0.0.0&lt;br /&gt;
          inet6 addr: ::1/128 Scope:Host&lt;br /&gt;
          UP LOOPBACK RUNNING  MTU:16436  Metric:1&lt;br /&gt;
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0&lt;br /&gt;
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0&lt;br /&gt;
          collisions:0 txqueuelen:0&lt;br /&gt;
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Server2&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
root@ubuntu:~# ifconfig&lt;br /&gt;
eth0      Link encap:Ethernet  HWaddr 00:0c:29:99:51:66&lt;br /&gt;
          inet addr:192.168.101.140  Bcast:192.168.101.255  Mask:255.255.255.0&lt;br /&gt;
          inet6 addr: fe80::20c:29ff:fe99:5166/64 Scope:Link&lt;br /&gt;
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1&lt;br /&gt;
          RX packets:7586 errors:0 dropped:0 overruns:0 frame:0&lt;br /&gt;
          TX packets:4140 errors:0 dropped:0 overruns:0 carrier:0&lt;br /&gt;
          collisions:0 txqueuelen:1000&lt;br /&gt;
          RX bytes:9481944 (9.4 MB)  TX bytes:253201 (253.2 KB)&lt;br /&gt;
&lt;br /&gt;
lo        Link encap:Local Loopback&lt;br /&gt;
          inet addr:127.0.0.1  Mask:255.0.0.0&lt;br /&gt;
          inet6 addr: ::1/128 Scope:Host&lt;br /&gt;
          UP LOOPBACK RUNNING  MTU:16436  Metric:1&lt;br /&gt;
          RX packets:1 errors:0 dropped:0 overruns:0 frame:0&lt;br /&gt;
          TX packets:1 errors:0 dropped:0 overruns:0 carrier:0&lt;br /&gt;
          collisions:0 txqueuelen:0&lt;br /&gt;
          RX bytes:112 (112.0 B)  TX bytes:112 (112.0 B)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Ucarp Seadistammine==&lt;br /&gt;
&lt;br /&gt;
==server 1==&lt;br /&gt;
&amp;lt;pre&amp;gt; vim /etc/network/interfaces &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Peaks avanema selline pilt:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# This file describes the network interfaces available on your system&lt;br /&gt;
# and how to activate them. For more information, see interfaces(5).&lt;br /&gt;
&lt;br /&gt;
# The loopback network interface&lt;br /&gt;
auto lo&lt;br /&gt;
iface lo inet loopback&lt;br /&gt;
&lt;br /&gt;
# The primary network interface&lt;br /&gt;
auto eth0&lt;br /&gt;
iface eth0 inet dhcp&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nüüd siis muudame selle ümber:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
root@ubuntu:~# vim /etc/network/interfaces&lt;br /&gt;
# This file describes the network interfaces available on your system&lt;br /&gt;
# and how to activate them. For more information, see interfaces(5).&lt;br /&gt;
&lt;br /&gt;
# The loopback network interface&lt;br /&gt;
auto lo&lt;br /&gt;
iface lo inet loopback&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# The primary network interface&lt;br /&gt;
auto eth0&lt;br /&gt;
iface eth0 inet static&lt;br /&gt;
        ################################&lt;br /&gt;
        # standard network configuration&lt;br /&gt;
        ################################&lt;br /&gt;
        address 192.168.101.138  # meie IP, mis panime alguses&lt;br /&gt;
        netmask 255.255.255.0    # netmask, selle saab ifconfig käsuga&lt;br /&gt;
        gateway 192.168.101.2    # traceroute aitas siin&lt;br /&gt;
        network 192.168.101.0    # natuke tuletamist..&lt;br /&gt;
        broadcast 192.168.101.255 #samuti ifconfig aitab&lt;br /&gt;
&lt;br /&gt;
        ################################&lt;br /&gt;
        # ucarp configuration  #########&lt;br /&gt;
        ################################&lt;br /&gt;
        # vid : The ID of the virtual server [1-255]&lt;br /&gt;
        ucarp-vid 1&lt;br /&gt;
        # vip : Virtuaalne IP aadress&lt;br /&gt;
        ucarp-vip 192.168.101.139&lt;br /&gt;
        # password : Mõlemal pool sama!!!!&lt;br /&gt;
        ucarp-password secret&lt;br /&gt;
        # advskew : Advertisement skew [1-255] # tähendab maakeels seda, et me ei reklaamime ennast koguaeg.&lt;br /&gt;
        ucarp-advskew 1&lt;br /&gt;
        # advbase &lt;br /&gt;
        ucarp-advbase 1&lt;br /&gt;
        # Kontroll, kas oleme peamine server?&lt;br /&gt;
        ucarp-master yes&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# CARP võrgu addressi kirjutame siia lihtsalt&lt;br /&gt;
iface eth0:ucarp inet static&lt;br /&gt;
        address 192.168.101.139&lt;br /&gt;
        netmask 255.255.255.0&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kindlasti tuleb teha võrgule restart, et kõik seaded võetakse kasutusse.&lt;br /&gt;
advskew ja advbase on asjad millega kontrollitakse kui tihedalt brodcastitakse.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/etc/init.d/networking restart &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Peaks avanema midagi sellist:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
root@ubuntu:~# ifconfig&lt;br /&gt;
eth0      Link encap:Ethernet  HWaddr 00:0c:29:6f:d7:c4&lt;br /&gt;
          inet addr:192.168.101.138  Bcast:192.168.101.255  Mask:255.255.255.0&lt;br /&gt;
          inet6 addr: fe80::20c:29ff:fe6f:d7c4/64 Scope:Link&lt;br /&gt;
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1&lt;br /&gt;
          RX packets:1195 errors:0 dropped:0 overruns:0 frame:0&lt;br /&gt;
          TX packets:287 errors:0 dropped:0 overruns:0 carrier:0&lt;br /&gt;
          collisions:0 txqueuelen:1000&lt;br /&gt;
          RX bytes:88166 (88.1 KB)  TX bytes:29985 (29.9 KB)&lt;br /&gt;
&lt;br /&gt;
eth0:ucarp Link encap:Ethernet  HWaddr 00:0c:29:6f:d7:c4&lt;br /&gt;
          inet addr:192.168.101.139  Bcast:192.168.101.255  Mask:255.255.255.0&lt;br /&gt;
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1&lt;br /&gt;
&lt;br /&gt;
lo        Link encap:Local Loopback&lt;br /&gt;
          inet addr:127.0.0.1  Mask:255.0.0.0&lt;br /&gt;
          inet6 addr: ::1/128 Scope:Host&lt;br /&gt;
          UP LOOPBACK RUNNING  MTU:16436  Metric:1&lt;br /&gt;
          RX packets:36 errors:0 dropped:0 overruns:0 frame:0&lt;br /&gt;
          TX packets:36 errors:0 dropped:0 overruns:0 carrier:0&lt;br /&gt;
          collisions:0 txqueuelen:0&lt;br /&gt;
          RX bytes:2712 (2.7 KB)  TX bytes:2712 (2.7 KB)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
See annab meile selguse, et Server1s on Ucarp kasutuses!&lt;br /&gt;
&lt;br /&gt;
==Server 2==&lt;br /&gt;
&lt;br /&gt;
Nüüd tuleks teha samasugune muutus ka server 2s.&lt;br /&gt;
Olles laisad, siis saame nüüd kopeerida selle ka teise serverisse, pärast teeme muudatused:&lt;br /&gt;
Paar asja on siin väga tähtsad:&lt;br /&gt;
&lt;br /&gt;
 1.) ucarp-advskew 100 # tähendab maakeeles seda, et me ei reklaami ennast nii tihedalt.&lt;br /&gt;
 2.) ucarp-master no # Server ka ei ole master!&lt;br /&gt;
 3.) IP address peab olema ikka selle serveri oma (192.168.101.140). Muud asjad samad&lt;br /&gt;
 4.) virtuaalsed IP-d peaksid olema need, mis eelmisel serveril.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# This file describes the network interfaces available on your system&lt;br /&gt;
# and how to activate them. For more information, see interfaces(5).&lt;br /&gt;
&lt;br /&gt;
# The loopback network interface&lt;br /&gt;
auto lo&lt;br /&gt;
iface lo inet loopback&lt;br /&gt;
&lt;br /&gt;
# The primary network interface&lt;br /&gt;
auto eth0&lt;br /&gt;
iface eth0 inet static&lt;br /&gt;
        ################################&lt;br /&gt;
        # standard network configuration&lt;br /&gt;
        ################################&lt;br /&gt;
        address 192.168.101.140&lt;br /&gt;
        netmask 255.255.255.0&lt;br /&gt;
        gateway 192.168.101.2&lt;br /&gt;
        network 192.168.101.0&lt;br /&gt;
        broadcast 192.168.101.255&lt;br /&gt;
&lt;br /&gt;
        ################################&lt;br /&gt;
        # ucarp configuration&lt;br /&gt;
        ################################&lt;br /&gt;
        # vid : The ID of the virtual server [1-255]&lt;br /&gt;
        ucarp-vid 1&lt;br /&gt;
        # vip : Virtuaalne IP aadress&lt;br /&gt;
        ucarp-vip 192.168.101.139&lt;br /&gt;
        # password : A password used to encrypt Carp communications&lt;br /&gt;
        ucarp-password secret&lt;br /&gt;
        # advskew : Advertisement skew [1-255] &lt;br /&gt;
        ucarp-advskew 100&lt;br /&gt;
        # advbase : Interval in seconds that advertisements will occur&lt;br /&gt;
        ucarp-advbase 1&lt;br /&gt;
        # master : nüüd me enam ei ole master. Seega määrame ära &amp;quot;no&amp;quot;&lt;br /&gt;
        ucarp-master no&lt;br /&gt;
&lt;br /&gt;
# The carp network interface, on top of eth1&lt;br /&gt;
iface eth0:ucarp inet static&lt;br /&gt;
        address 192.168.101.139&lt;br /&gt;
        netmask 255.255.255.0&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nüüd kui vastavad muudatused on sees, siis teeme ka võrgule restarti&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/etc/init.d/networking restart&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Kui märkasid, siis tegelikult midagi ei juhtunud, kuna oleme mitte masterid!&lt;br /&gt;
Kõik peaks nägema välja nagu endine:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
eth0      Link encap:Ethernet  HWaddr 00:0c:29:99:51:66&lt;br /&gt;
          inet addr:192.168.101.140  Bcast:192.168.101.255  Mask:255.255.255.0&lt;br /&gt;
          inet6 addr: fe80::20c:29ff:fe99:5166/64 Scope:Link&lt;br /&gt;
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1&lt;br /&gt;
          RX packets:213 errors:0 dropped:0 overruns:0 frame:0&lt;br /&gt;
          TX packets:99 errors:0 dropped:0 overruns:0 carrier:0&lt;br /&gt;
          collisions:0 txqueuelen:1000&lt;br /&gt;
          RX bytes:17498 (17.4 KB)  TX bytes:12669 (12.6 KB)&lt;br /&gt;
&lt;br /&gt;
lo        Link encap:Local Loopback&lt;br /&gt;
          inet addr:127.0.0.1  Mask:255.0.0.0&lt;br /&gt;
          inet6 addr: ::1/128 Scope:Host&lt;br /&gt;
          UP LOOPBACK RUNNING  MTU:16436  Metric:1&lt;br /&gt;
          RX packets:18 errors:0 dropped:0 overruns:0 frame:0&lt;br /&gt;
          TX packets:18 errors:0 dropped:0 overruns:0 carrier:0&lt;br /&gt;
          collisions:0 txqueuelen:0&lt;br /&gt;
          RX bytes:1380 (1.3 KB)  TX bytes:1380 (1.3 KB)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==UCARP testimine==&lt;br /&gt;
&lt;br /&gt;
Nüüd on mõlemad serverid paigas ja töötavad Ucarp on mõlemale installitud, kuid hetkel me ikka ei tea, kas Ucarp tegelikult ka töötab.&lt;br /&gt;
&lt;br /&gt;
Kerge test võiks olla selline, et paneme serveri kinni, millel hetkel on ucarp aktiveeritud, minu puhul&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
root@ubuntu:~# shutdown -h now&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nüüd peaksid nägema Server2s (minu puhul) ucarpi aktiveeritult.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ifconfig&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Vastus:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@ubuntu:~# ifconfig&lt;br /&gt;
eth0      Link encap:Ethernet  HWaddr 00:0c:29:99:51:66&lt;br /&gt;
          inet addr:192.168.101.140  Bcast:192.168.101.255  Mask:255.255.255.0&lt;br /&gt;
          inet6 addr: fe80::20c:29ff:fe99:5166/64 Scope:Link&lt;br /&gt;
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1&lt;br /&gt;
          RX packets:1270 errors:0 dropped:0 overruns:0 frame:0&lt;br /&gt;
          TX packets:929 errors:0 dropped:0 overruns:0 carrier:0&lt;br /&gt;
          collisions:0 txqueuelen:1000&lt;br /&gt;
          RX bytes:94480 (94.4 KB)  TX bytes:113861 (113.8 KB)&lt;br /&gt;
&lt;br /&gt;
eth0:ucarp Link encap:Ethernet  HWaddr 00:0c:29:99:51:66&lt;br /&gt;
          inet addr:192.168.101.139  Bcast:192.168.101.255  Mask:255.255.255.0&lt;br /&gt;
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1&lt;br /&gt;
&lt;br /&gt;
lo        Link encap:Local Loopback&lt;br /&gt;
          inet addr:127.0.0.1  Mask:255.0.0.0&lt;br /&gt;
          inet6 addr: ::1/128 Scope:Host&lt;br /&gt;
          UP LOOPBACK RUNNING  MTU:16436  Metric:1&lt;br /&gt;
          RX packets:482 errors:0 dropped:0 overruns:0 frame:0&lt;br /&gt;
          TX packets:482 errors:0 dropped:0 overruns:0 carrier:0&lt;br /&gt;
          collisions:0 txqueuelen:0&lt;br /&gt;
          RX bytes:38580 (38.5 KB)  TX bytes:38580 (38.5 KB)&lt;br /&gt;
&lt;br /&gt;
root@ubuntu:~#&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Annab meile jällegi kindlustunde, et tõesti server1 annab oma asjad üle server2le, kui server1-ga peaks midagi juhtuma.&lt;br /&gt;
&lt;br /&gt;
==UCARP ja Apache koos==&lt;br /&gt;
&lt;br /&gt;
Idee on lihtne. Installime mõlemale serverile apache serveri ja hoiame neid süngis linuxi vahenditega.&lt;br /&gt;
Selleks võib olla rsync või ka tavaline copy cronis :) Hetkel kasutame rsynci.&lt;br /&gt;
&lt;br /&gt;
Installime apachei ja rsynci:&lt;br /&gt;
&lt;br /&gt;
Server1:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
apt-get install apache2 rsync&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Server2:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
apt-get install apache2 rsync&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nüüd on meil 2 serverit, millel on Rsync ja apache2 installitud&lt;br /&gt;
Apache2 hoiab oma asju:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/etc/apache2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Siis tuleks meil kindlasti sünkida seda kataloogi ja samuti ei tohi ära unustada ka kataloogi, kus meie apache asub&lt;br /&gt;
Näiteks:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/var/www/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nüüd paneme oma rsynci tööle, soovitavalt Crontabi. Meil tekkib probleem, et oleks vaja pärast apache2 konfiguratsioonide muutmist ka apache2 uuesti &amp;quot;reloadida&amp;quot;. Selleks kasutame skripti. Hetkel siin kasutamiseks kirjutasin lihtsa skripti, mida saab endale vastavalt kergelt parandada.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
touch /root/apache_rsync.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Anname käivitamise õigused, et pärast ei unustaks:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
chmod 755 apache_rsync.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nüüd, skript ise. Eeldus on see, et mõlemal pool on SSH lubatud!&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
vim /root/apache_rsync.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
#rsync ise&lt;br /&gt;
rsync -avz -e ssh root@192.168.101.138:/home/apache2 /home/apache2/&lt;br /&gt;
rsync -avz -e ssh root@192.168.101.138:/var/www/html /var/www/html&lt;br /&gt;
&lt;br /&gt;
#p2rast asjade yle kopeerimist tuleb teha reaload et teisel pool ikka asjad t66taks.&lt;br /&gt;
/etc/init.d/apache2 reload&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
See nüüd croni server2-le&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
vim /etc/crontab&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Lisage selline rida. Sellega hakatakse rsyncika hoidma servereid sünkroonis. Tehakse iga 15 minuti järgi. Number 15 võib muuta oma äranägemise järgi.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
*/15 * * * * root /root/apache_rsync.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Kokkuvõtteks==&lt;br /&gt;
Võiks öelda, et viimane skript on väga väike ja võiks kõvasti paremaks teha.&lt;br /&gt;
Näiteks: email saatmise sisse panna, sest hetkel me ei tea, millal server1 on põhiline ja millal server2 on põhiline. &lt;br /&gt;
Hetkel teeme eelduse , et server1 sai fataalse errori ja on katki ja pärast selle korda tegemist on see jälle põhiline.&lt;br /&gt;
&lt;br /&gt;
==Kasutatud kirjandus==&lt;br /&gt;
* http://valeriytroshin.blogspot.com/2011/08/carp-failover-redundancy-in-ubuntu-1104.html&lt;br /&gt;
* http://laurentbel.com/2012/04/12/simple-apache-failover-cluster-on-ubuntu-with-config-synchronization/&lt;br /&gt;
* http://www.auul.pri.ee/wiki/Operatsioonis%C3%BCsteemi_Debian_GNU/Linux_kasutamine#ucarp_kasutamine&lt;br /&gt;
* http://www.freebsd.org/doc/handbook/carp.html&lt;br /&gt;
* http://laurentbel.com/2012/04/04/simple-failover-cluster-on-ubuntu-using-carp/&lt;br /&gt;
* http://en.wikipedia.org/wiki/Common_Address_Redundancy_Protocol&lt;br /&gt;
* http://blog.ijun.org/2009/11/high-availability-with-freebsd-and-carp.html&lt;br /&gt;
* http://www.howtoforge.com/how-to-configure-a-pfsense-2.0-cluster-using-carp&lt;br /&gt;
* http://kuutorvaja.eenet.ee/wiki/K%C3%B5rgk%C3%A4ideldavus_UCARP_abil#Paigaldamine_ja_seadistamine_RHEL.2C_CentOS_ja_Fedora_kasutajatele&lt;br /&gt;
* http://www.pureftpd.org/project/ucarp&lt;/div&gt;</summary>
		<author><name>Mmust</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Ucarp&amp;diff=58959</id>
		<title>Ucarp</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Ucarp&amp;diff=58959"/>
		<updated>2012-12-11T08:34:13Z</updated>

		<summary type="html">&lt;p&gt;Mmust: /* server1 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=UCARP/CARP=&lt;br /&gt;
Autor: Marek Must&amp;lt;br&amp;gt; 07.12.2012&lt;br /&gt;
Rühm: AK21&lt;br /&gt;
Esitamise kuupäev: &lt;br /&gt;
&lt;br /&gt;
==Sissejuhatus==&lt;br /&gt;
Carp (inglise k. &amp;quot;Common Address Redundancy Protocol&amp;quot;) on protokoll, mis lubab samadel serveritel samas subnetis jagada ühte IP aadressi.&lt;br /&gt;
&lt;br /&gt;
Ucarp on tarkvara, mis võimaldab sul vähemalt 2 serveri olemasolul jagada neile 1 virtuaalne IP aadress, mille tulemusega saadakse kluster.&lt;br /&gt;
Ucarp ei ole väga peen lahendus ja sellega tuleb alati arvestada.&lt;br /&gt;
&lt;br /&gt;
===Ucarpi tugevus===&lt;br /&gt;
   * Lihtsus (ülesse seadmine käib lihtsalt)&lt;br /&gt;
   * Väike serveri ressursside kasutamine&lt;br /&gt;
   * Pole vaja lisa võrgu otsasid (alati on kena, kuid see on täiesti teine teema)&lt;br /&gt;
   * Krüptograafiliselt signeeritud teated. (Ucarpil on seadistatud parool, öeldes lihtsalt)&lt;br /&gt;
   * Töötada koos mitme operatsiooni süsteemiga (inglise k. interoperability )&lt;br /&gt;
&lt;br /&gt;
===Tööpühimõte===&lt;br /&gt;
&lt;br /&gt;
Ucrap töötab lihtsalt:&lt;br /&gt;
 1.) Kui server1 on üleval, siis sellele on määratud virtuaalne IP aadress.&lt;br /&gt;
 2.) Kui server1 on maas ja server2 on primaarne (inglise k. primary), siis on määratud Server2-le virtuaalne IP aadress, eeldades, et server2    on     üleval.&lt;br /&gt;
&lt;br /&gt;
===Ucarpi Nõrkus===&lt;br /&gt;
   * Ainult IP põhine kluster&lt;br /&gt;
   * Seadeid, teenuseid üle ei kanta, kui server2 saab peamiseks serveriks.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Tsiteerides targemaid: ucarp on võrreldes keepalived või heartbeat tarkvaraga tagasihoidlikemate omadustega, kuid mõnel juhul võib just see ollagi eeliseks&lt;br /&gt;
&lt;br /&gt;
==UCARP install==&lt;br /&gt;
&lt;br /&gt;
Install käib lihtsalt:&lt;br /&gt;
&amp;lt;pre&amp;gt; &lt;br /&gt;
apt-get install ucarp &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Selle pannakse programmid peale. mitte unustada, et tarkvara tuleb installida mõlemale serverile!!&lt;br /&gt;
&lt;br /&gt;
==Eel Seadistamine==&lt;br /&gt;
&lt;br /&gt;
Kui olite sama laisk nagu mina, siis lasite alguses IP anda endale DHCP-ga, milleks oli 192.168.101.138&lt;br /&gt;
Seda saab vaadata:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;PRE&amp;gt;&lt;br /&gt;
ifconfig&lt;br /&gt;
&amp;lt;/PRE&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tulemüüri(inglise k. Gateway) saamine on natuke keerulisem, sest DHCP-ga seda ei ole võimalik päris &amp;quot;tavaliselt&amp;quot; ( ifconfig) näha.&lt;br /&gt;
Tulemüüri nägemiseks on olemas mitu võimalust, kuid mulle meeldib kasutada traceroutei. Tava installis seda paketti peal ei ole ja seega tuleks see paigaldada&lt;br /&gt;
&lt;br /&gt;
&amp;lt;PRE&amp;gt;&lt;br /&gt;
apt-get install traceroute&lt;br /&gt;
&amp;lt;/PRE&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kasutades traceroutei saame:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
traceroute www.neti.ee&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
ja esimene tulemus annab meile juba teada, meie DHCP aadressi:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@ubuntu:~# traceroute www.neti.ee&lt;br /&gt;
traceroute to www.neti.ee (195.50.209.245), 30 hops max, 60 byte packets&lt;br /&gt;
 1  192.168.101.2 (192.168.101.2)  0.139 ms  0.103 ms  0.076 ms^C&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Meie IP ja tulemüür peaksid nägema välja hetkel sellised:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
IP: 192.168.101.138&lt;br /&gt;
GW: 192.168.110.2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Teie praegune olukord peaks olema midagi sellist:&lt;br /&gt;
&lt;br /&gt;
Server1&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@ubuntu:~# ifconfig&lt;br /&gt;
eth0      Link encap:Ethernet  HWaddr 00:0c:29:6f:d7:c4&lt;br /&gt;
          inet addr:192.168.101.138  Bcast:192.168.101.255  Mask:255.255.255.0&lt;br /&gt;
          inet6 addr: fe80::20c:29ff:fe6f:d7c4/64 Scope:Link&lt;br /&gt;
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1&lt;br /&gt;
          RX packets:8377 errors:0 dropped:0 overruns:0 frame:0&lt;br /&gt;
          TX packets:5937 errors:0 dropped:0 overruns:0 carrier:0&lt;br /&gt;
          collisions:0 txqueuelen:1000&lt;br /&gt;
          RX bytes:9556394 (9.5 MB)  TX bytes:426352 (426.3 KB)&lt;br /&gt;
&lt;br /&gt;
lo        Link encap:Local Loopback&lt;br /&gt;
          inet addr:127.0.0.1  Mask:255.0.0.0&lt;br /&gt;
          inet6 addr: ::1/128 Scope:Host&lt;br /&gt;
          UP LOOPBACK RUNNING  MTU:16436  Metric:1&lt;br /&gt;
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0&lt;br /&gt;
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0&lt;br /&gt;
          collisions:0 txqueuelen:0&lt;br /&gt;
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Server2&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
root@ubuntu:~# ifconfig&lt;br /&gt;
eth0      Link encap:Ethernet  HWaddr 00:0c:29:99:51:66&lt;br /&gt;
          inet addr:192.168.101.140  Bcast:192.168.101.255  Mask:255.255.255.0&lt;br /&gt;
          inet6 addr: fe80::20c:29ff:fe99:5166/64 Scope:Link&lt;br /&gt;
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1&lt;br /&gt;
          RX packets:7586 errors:0 dropped:0 overruns:0 frame:0&lt;br /&gt;
          TX packets:4140 errors:0 dropped:0 overruns:0 carrier:0&lt;br /&gt;
          collisions:0 txqueuelen:1000&lt;br /&gt;
          RX bytes:9481944 (9.4 MB)  TX bytes:253201 (253.2 KB)&lt;br /&gt;
&lt;br /&gt;
lo        Link encap:Local Loopback&lt;br /&gt;
          inet addr:127.0.0.1  Mask:255.0.0.0&lt;br /&gt;
          inet6 addr: ::1/128 Scope:Host&lt;br /&gt;
          UP LOOPBACK RUNNING  MTU:16436  Metric:1&lt;br /&gt;
          RX packets:1 errors:0 dropped:0 overruns:0 frame:0&lt;br /&gt;
          TX packets:1 errors:0 dropped:0 overruns:0 carrier:0&lt;br /&gt;
          collisions:0 txqueuelen:0&lt;br /&gt;
          RX bytes:112 (112.0 B)  TX bytes:112 (112.0 B)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Ucarp Seadistammine==&lt;br /&gt;
&lt;br /&gt;
==server 1==&lt;br /&gt;
&amp;lt;pre&amp;gt; vim /etc/network/interfaces &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Peaks avanema selline pilt:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# This file describes the network interfaces available on your system&lt;br /&gt;
# and how to activate them. For more information, see interfaces(5).&lt;br /&gt;
&lt;br /&gt;
# The loopback network interface&lt;br /&gt;
auto lo&lt;br /&gt;
iface lo inet loopback&lt;br /&gt;
&lt;br /&gt;
# The primary network interface&lt;br /&gt;
auto eth0&lt;br /&gt;
iface eth0 inet dhcp&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nüüd siis muudame selle ümber:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
root@ubuntu:~# vim /etc/network/interfaces&lt;br /&gt;
# This file describes the network interfaces available on your system&lt;br /&gt;
# and how to activate them. For more information, see interfaces(5).&lt;br /&gt;
&lt;br /&gt;
# The loopback network interface&lt;br /&gt;
auto lo&lt;br /&gt;
iface lo inet loopback&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# The primary network interface&lt;br /&gt;
auto eth0&lt;br /&gt;
iface eth0 inet static&lt;br /&gt;
        ################################&lt;br /&gt;
        # standard network configuration&lt;br /&gt;
        ################################&lt;br /&gt;
        address 192.168.101.138  # meie IP, mis panime alguses&lt;br /&gt;
        netmask 255.255.255.0    # netmask, selle saab ifconfig käsuga&lt;br /&gt;
        gateway 192.168.101.2    # traceroute aitas siin&lt;br /&gt;
        network 192.168.101.0    # natuke tuletamist..&lt;br /&gt;
        broadcast 192.168.101.255 #samuti ifconfig aitab&lt;br /&gt;
&lt;br /&gt;
        ################################&lt;br /&gt;
        # ucarp configuration  #########&lt;br /&gt;
        ################################&lt;br /&gt;
        # vid : The ID of the virtual server [1-255]&lt;br /&gt;
        ucarp-vid 1&lt;br /&gt;
        # vip : Virtuaalne IP aadress&lt;br /&gt;
        ucarp-vip 192.168.101.139&lt;br /&gt;
        # password : Mõlemal pool sama!!!!&lt;br /&gt;
        ucarp-password secret&lt;br /&gt;
        # advskew : Advertisement skew [1-255] # tähendab maakeels seda, et me ei reklaamime ennast koguaeg.&lt;br /&gt;
        ucarp-advskew 1&lt;br /&gt;
        # advbase &lt;br /&gt;
        ucarp-advbase 1&lt;br /&gt;
        # Kontroll, kas oleme peamine server?&lt;br /&gt;
        ucarp-master yes&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# CARP võrgu addressi kirjutame siia lihtsalt&lt;br /&gt;
iface eth0:ucarp inet static&lt;br /&gt;
        address 192.168.101.139&lt;br /&gt;
        netmask 255.255.255.0&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kindlasti tuleb teha võrgule restart, et kõik seaded võetakse kasutusse.&lt;br /&gt;
advskew ja advbase on asjad millega kontrollitakse kui tihedalt brodcastitakse.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/etc/init.d/networking restart &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Peaks avanema midagi sellist:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
root@ubuntu:~# ifconfig&lt;br /&gt;
eth0      Link encap:Ethernet  HWaddr 00:0c:29:6f:d7:c4&lt;br /&gt;
          inet addr:192.168.101.138  Bcast:192.168.101.255  Mask:255.255.255.0&lt;br /&gt;
          inet6 addr: fe80::20c:29ff:fe6f:d7c4/64 Scope:Link&lt;br /&gt;
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1&lt;br /&gt;
          RX packets:1195 errors:0 dropped:0 overruns:0 frame:0&lt;br /&gt;
          TX packets:287 errors:0 dropped:0 overruns:0 carrier:0&lt;br /&gt;
          collisions:0 txqueuelen:1000&lt;br /&gt;
          RX bytes:88166 (88.1 KB)  TX bytes:29985 (29.9 KB)&lt;br /&gt;
&lt;br /&gt;
eth0:ucarp Link encap:Ethernet  HWaddr 00:0c:29:6f:d7:c4&lt;br /&gt;
          inet addr:192.168.101.139  Bcast:192.168.101.255  Mask:255.255.255.0&lt;br /&gt;
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1&lt;br /&gt;
&lt;br /&gt;
lo        Link encap:Local Loopback&lt;br /&gt;
          inet addr:127.0.0.1  Mask:255.0.0.0&lt;br /&gt;
          inet6 addr: ::1/128 Scope:Host&lt;br /&gt;
          UP LOOPBACK RUNNING  MTU:16436  Metric:1&lt;br /&gt;
          RX packets:36 errors:0 dropped:0 overruns:0 frame:0&lt;br /&gt;
          TX packets:36 errors:0 dropped:0 overruns:0 carrier:0&lt;br /&gt;
          collisions:0 txqueuelen:0&lt;br /&gt;
          RX bytes:2712 (2.7 KB)  TX bytes:2712 (2.7 KB)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
See annab meile selguse, et Server1s on Ucarp kasutuses!&lt;br /&gt;
&lt;br /&gt;
==Server2==&lt;br /&gt;
&lt;br /&gt;
Nüüd tuleks teha samasugune muutus ka server 2s.&lt;br /&gt;
Olles laisad, siis saame nüüd kopeerida selle ka teise serverisse, pärast teeme muudatused:&lt;br /&gt;
Paar asja on siin väga tähtsad:&lt;br /&gt;
&lt;br /&gt;
 1.) ucarp-advskew 100 # tähendab maakeeles seda, et me ei reklaami ennast nii tihedalt.&lt;br /&gt;
 2.) ucarp-master no # Server ka ei ole master!&lt;br /&gt;
 3.) IP address peab olema ikka selle serveri oma (192.168.101.140). Muud asjad samad&lt;br /&gt;
 4.) virtuaalsed IP-d peaksid olema need, mis eelmisel serveril.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# This file describes the network interfaces available on your system&lt;br /&gt;
# and how to activate them. For more information, see interfaces(5).&lt;br /&gt;
&lt;br /&gt;
# The loopback network interface&lt;br /&gt;
auto lo&lt;br /&gt;
iface lo inet loopback&lt;br /&gt;
&lt;br /&gt;
# The primary network interface&lt;br /&gt;
auto eth0&lt;br /&gt;
iface eth0 inet static&lt;br /&gt;
        ################################&lt;br /&gt;
        # standard network configuration&lt;br /&gt;
        ################################&lt;br /&gt;
        address 192.168.101.140&lt;br /&gt;
        netmask 255.255.255.0&lt;br /&gt;
        gateway 192.168.101.2&lt;br /&gt;
        network 192.168.101.0&lt;br /&gt;
        broadcast 192.168.101.255&lt;br /&gt;
&lt;br /&gt;
        ################################&lt;br /&gt;
        # ucarp configuration&lt;br /&gt;
        ################################&lt;br /&gt;
        # vid : The ID of the virtual server [1-255]&lt;br /&gt;
        ucarp-vid 1&lt;br /&gt;
        # vip : Virtuaalne IP aadress&lt;br /&gt;
        ucarp-vip 192.168.101.139&lt;br /&gt;
        # password : A password used to encrypt Carp communications&lt;br /&gt;
        ucarp-password secret&lt;br /&gt;
        # advskew : Advertisement skew [1-255] &lt;br /&gt;
        ucarp-advskew 100&lt;br /&gt;
        # advbase : Interval in seconds that advertisements will occur&lt;br /&gt;
        ucarp-advbase 1&lt;br /&gt;
        # master : nüüd me enam ei ole master. Seega määrame ära &amp;quot;no&amp;quot;&lt;br /&gt;
        ucarp-master no&lt;br /&gt;
&lt;br /&gt;
# The carp network interface, on top of eth1&lt;br /&gt;
iface eth0:ucarp inet static&lt;br /&gt;
        address 192.168.101.139&lt;br /&gt;
        netmask 255.255.255.0&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nüüd kui vastavad muudatused on sees, siis teeme ka võrgule restarti&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/etc/init.d/networking restart&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Kui märkasid, siis tegelikult midagi ei juhtunud, kuna oleme mitte masterid!&lt;br /&gt;
Kõik peaks nägema välja nagu endine:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
eth0      Link encap:Ethernet  HWaddr 00:0c:29:99:51:66&lt;br /&gt;
          inet addr:192.168.101.140  Bcast:192.168.101.255  Mask:255.255.255.0&lt;br /&gt;
          inet6 addr: fe80::20c:29ff:fe99:5166/64 Scope:Link&lt;br /&gt;
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1&lt;br /&gt;
          RX packets:213 errors:0 dropped:0 overruns:0 frame:0&lt;br /&gt;
          TX packets:99 errors:0 dropped:0 overruns:0 carrier:0&lt;br /&gt;
          collisions:0 txqueuelen:1000&lt;br /&gt;
          RX bytes:17498 (17.4 KB)  TX bytes:12669 (12.6 KB)&lt;br /&gt;
&lt;br /&gt;
lo        Link encap:Local Loopback&lt;br /&gt;
          inet addr:127.0.0.1  Mask:255.0.0.0&lt;br /&gt;
          inet6 addr: ::1/128 Scope:Host&lt;br /&gt;
          UP LOOPBACK RUNNING  MTU:16436  Metric:1&lt;br /&gt;
          RX packets:18 errors:0 dropped:0 overruns:0 frame:0&lt;br /&gt;
          TX packets:18 errors:0 dropped:0 overruns:0 carrier:0&lt;br /&gt;
          collisions:0 txqueuelen:0&lt;br /&gt;
          RX bytes:1380 (1.3 KB)  TX bytes:1380 (1.3 KB)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==UCARP testimine==&lt;br /&gt;
&lt;br /&gt;
Nüüd on mõlemad serverid paigas ja töötavad Ucarp on mõlemale installitud, kuid hetkel me ikka ei tea, kas Ucarp tegelikult ka töötab.&lt;br /&gt;
&lt;br /&gt;
Kerge test võiks olla selline, et paneme serveri kinni, millel hetkel on ucarp aktiveeritud, minu puhul&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
root@ubuntu:~# shutdown -h now&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nüüd peaksid nägema Server2s (minu puhul) ucarpi aktiveeritult.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ifconfig&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Vastus:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@ubuntu:~# ifconfig&lt;br /&gt;
eth0      Link encap:Ethernet  HWaddr 00:0c:29:99:51:66&lt;br /&gt;
          inet addr:192.168.101.140  Bcast:192.168.101.255  Mask:255.255.255.0&lt;br /&gt;
          inet6 addr: fe80::20c:29ff:fe99:5166/64 Scope:Link&lt;br /&gt;
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1&lt;br /&gt;
          RX packets:1270 errors:0 dropped:0 overruns:0 frame:0&lt;br /&gt;
          TX packets:929 errors:0 dropped:0 overruns:0 carrier:0&lt;br /&gt;
          collisions:0 txqueuelen:1000&lt;br /&gt;
          RX bytes:94480 (94.4 KB)  TX bytes:113861 (113.8 KB)&lt;br /&gt;
&lt;br /&gt;
eth0:ucarp Link encap:Ethernet  HWaddr 00:0c:29:99:51:66&lt;br /&gt;
          inet addr:192.168.101.139  Bcast:192.168.101.255  Mask:255.255.255.0&lt;br /&gt;
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1&lt;br /&gt;
&lt;br /&gt;
lo        Link encap:Local Loopback&lt;br /&gt;
          inet addr:127.0.0.1  Mask:255.0.0.0&lt;br /&gt;
          inet6 addr: ::1/128 Scope:Host&lt;br /&gt;
          UP LOOPBACK RUNNING  MTU:16436  Metric:1&lt;br /&gt;
          RX packets:482 errors:0 dropped:0 overruns:0 frame:0&lt;br /&gt;
          TX packets:482 errors:0 dropped:0 overruns:0 carrier:0&lt;br /&gt;
          collisions:0 txqueuelen:0&lt;br /&gt;
          RX bytes:38580 (38.5 KB)  TX bytes:38580 (38.5 KB)&lt;br /&gt;
&lt;br /&gt;
root@ubuntu:~#&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Annab meile jällegi kindlustunde, et tõesti server1 annab oma asjad üle server2le, kui server1-ga peaks midagi juhtuma.&lt;br /&gt;
&lt;br /&gt;
==UCARP ja Apache koos==&lt;br /&gt;
&lt;br /&gt;
Idee on lihtne. Installime mõlemale serverile apache serveri ja hoiame neid süngis linuxi vahenditega.&lt;br /&gt;
Selleks võib olla rsync või ka tavaline copy cronis :) Hetkel kasutame rsynci.&lt;br /&gt;
&lt;br /&gt;
Installime apachei ja rsynci:&lt;br /&gt;
&lt;br /&gt;
Server1:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
apt-get install apache2 rsync&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Server2:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
apt-get install apache2 rsync&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nüüd on meil 2 serverit, millel on Rsync ja apache2 installitud&lt;br /&gt;
Apache2 hoiab oma asju:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/etc/apache2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Siis tuleks meil kindlasti sünkida seda kataloogi ja samuti ei tohi ära unustada ka kataloogi, kus meie apache asub&lt;br /&gt;
Näiteks:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/var/www/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nüüd paneme oma rsynci tööle, soovitavalt Crontabi. Meil tekkib probleem, et oleks vaja pärast apache2 konfiguratsioonide muutmist ka apache2 uuesti &amp;quot;reloadida&amp;quot;. Selleks kasutame skripti. Hetkel siin kasutamiseks kirjutasin lihtsa skripti, mida saab endale vastavalt kergelt parandada.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
touch /root/apache_rsync.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Anname käivitamise õigused, et pärast ei unustaks:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
chmod 755 apache_rsync.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nüüd, skript ise. Eeldus on see, et mõlemal pool on SSH lubatud!&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
vim /root/apache_rsync.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
#rsync ise&lt;br /&gt;
rsync -avz -e ssh root@192.168.101.138:/home/apache2 /home/apache2/&lt;br /&gt;
rsync -avz -e ssh root@192.168.101.138:/var/www/html /var/www/html&lt;br /&gt;
&lt;br /&gt;
#p2rast asjade yle kopeerimist tuleb teha reaload et teisel pool ikka asjad t66taks.&lt;br /&gt;
/etc/init.d/apache2 reload&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
See nüüd croni server2-le&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
vim /etc/crontab&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Lisage selline rida. Sellega hakatakse rsyncika hoidma servereid sünkroonis. Tehakse iga 15 minuti järgi. Number 15 võib muuta oma äranägemise järgi.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
*/15 * * * * root /root/apache_rsync.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Kokkuvõtteks==&lt;br /&gt;
Võiks öelda, et viimane skript on väga väike ja võiks kõvasti paremaks teha.&lt;br /&gt;
Näiteks: email saatmise sisse panna, sest hetkel me ei tea, millal server1 on põhiline ja millal server2 on põhiline. &lt;br /&gt;
Hetkel teeme eelduse , et server1 sai fataalse errori ja on katki ja pärast selle korda tegemist on see jälle põhiline.&lt;br /&gt;
&lt;br /&gt;
==Kasutatud kirjandus==&lt;br /&gt;
* http://valeriytroshin.blogspot.com/2011/08/carp-failover-redundancy-in-ubuntu-1104.html&lt;br /&gt;
* http://laurentbel.com/2012/04/12/simple-apache-failover-cluster-on-ubuntu-with-config-synchronization/&lt;br /&gt;
* http://www.auul.pri.ee/wiki/Operatsioonis%C3%BCsteemi_Debian_GNU/Linux_kasutamine#ucarp_kasutamine&lt;br /&gt;
* http://www.freebsd.org/doc/handbook/carp.html&lt;br /&gt;
* http://laurentbel.com/2012/04/04/simple-failover-cluster-on-ubuntu-using-carp/&lt;br /&gt;
* http://en.wikipedia.org/wiki/Common_Address_Redundancy_Protocol&lt;br /&gt;
* http://blog.ijun.org/2009/11/high-availability-with-freebsd-and-carp.html&lt;br /&gt;
* http://www.howtoforge.com/how-to-configure-a-pfsense-2.0-cluster-using-carp&lt;br /&gt;
* http://kuutorvaja.eenet.ee/wiki/K%C3%B5rgk%C3%A4ideldavus_UCARP_abil#Paigaldamine_ja_seadistamine_RHEL.2C_CentOS_ja_Fedora_kasutajatele&lt;br /&gt;
* http://www.pureftpd.org/project/ucarp&lt;/div&gt;</summary>
		<author><name>Mmust</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Carp&amp;diff=58958</id>
		<title>Carp</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Carp&amp;diff=58958"/>
		<updated>2012-12-11T08:32:24Z</updated>

		<summary type="html">&lt;p&gt;Mmust: Blanked the page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Mmust</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Ucarp_ja_Carp&amp;diff=58957</id>
		<title>Ucarp ja Carp</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Ucarp_ja_Carp&amp;diff=58957"/>
		<updated>2012-12-11T08:31:15Z</updated>

		<summary type="html">&lt;p&gt;Mmust: moved Ucarp ja Carp to Ucarp&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[Ucarp]]&lt;/div&gt;</summary>
		<author><name>Mmust</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Ucarp&amp;diff=58956</id>
		<title>Ucarp</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Ucarp&amp;diff=58956"/>
		<updated>2012-12-11T08:31:15Z</updated>

		<summary type="html">&lt;p&gt;Mmust: moved Ucarp ja Carp to Ucarp&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=UCARP/CARP=&lt;br /&gt;
Autor: Marek Must&amp;lt;br&amp;gt; 07.12.2012&lt;br /&gt;
Rühm: AK21&lt;br /&gt;
Esitamise kuupäev: &lt;br /&gt;
&lt;br /&gt;
==Sissejuhatus==&lt;br /&gt;
Carp (inglise k. &amp;quot;Common Address Redundancy Protocol&amp;quot;) on protokoll, mis lubab samadel serveritel samas subnetis jagada ühte IP aadressi.&lt;br /&gt;
&lt;br /&gt;
Ucarp on tarkvara, mis võimaldab sul vähemalt 2 serveri olemasolul jagada neile 1 virtuaalne IP aadress, mille tulemusega saadakse kluster.&lt;br /&gt;
Ucarp ei ole väga peen lahendus ja sellega tuleb alati arvestada.&lt;br /&gt;
&lt;br /&gt;
===Ucarpi tugevus===&lt;br /&gt;
   * Lihtsus (ülesse seadmine käib lihtsalt)&lt;br /&gt;
   * Väike serveri ressursside kasutamine&lt;br /&gt;
   * Pole vaja lisa võrgu otsasid (alati on kena, kuid see on täiesti teine teema)&lt;br /&gt;
   * Krüptograafiliselt signeeritud teated. (Ucarpil on seadistatud parool, öeldes lihtsalt)&lt;br /&gt;
   * Töötada koos mitme operatsiooni süsteemiga (inglise k. interoperability )&lt;br /&gt;
&lt;br /&gt;
===Tööpühimõte===&lt;br /&gt;
&lt;br /&gt;
Ucrap töötab lihtsalt:&lt;br /&gt;
 1.) Kui server1 on üleval, siis sellele on määratud virtuaalne IP aadress.&lt;br /&gt;
 2.) Kui server1 on maas ja server2 on primaarne (inglise k. primary), siis on määratud Server2-le virtuaalne IP aadress, eeldades, et server2    on     üleval.&lt;br /&gt;
&lt;br /&gt;
===Ucarpi Nõrkus===&lt;br /&gt;
   * Ainult IP põhine kluster&lt;br /&gt;
   * Seadeid, teenuseid üle ei kanta, kui server2 saab peamiseks serveriks.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Tsiteerides targemaid: ucarp on võrreldes keepalived või heartbeat tarkvaraga tagasihoidlikemate omadustega, kuid mõnel juhul võib just see ollagi eeliseks&lt;br /&gt;
&lt;br /&gt;
==UCARP install==&lt;br /&gt;
&lt;br /&gt;
Install käib lihtsalt:&lt;br /&gt;
&amp;lt;pre&amp;gt; &lt;br /&gt;
apt-get install ucarp &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Selle pannakse programmid peale. mitte unustada, et tarkvara tuleb installida mõlemale serverile!!&lt;br /&gt;
&lt;br /&gt;
==Eel Seadistamine==&lt;br /&gt;
&lt;br /&gt;
Kui olite sama laisk nagu mina, siis lasite alguses IP anda endale DHCP-ga, milleks oli 192.168.101.138&lt;br /&gt;
Seda saab vaadata:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;PRE&amp;gt;&lt;br /&gt;
ifconfig&lt;br /&gt;
&amp;lt;/PRE&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tulemüüri(inglise k. Gateway) saamine on natuke keerulisem, sest DHCP-ga seda ei ole võimalik päris &amp;quot;tavaliselt&amp;quot; ( ifconfig) näha.&lt;br /&gt;
Tulemüüri nägemiseks on olemas mitu võimalust, kuid mulle meeldib kasutada traceroutei. Tava installis seda paketti peal ei ole ja seega tuleks see paigaldada&lt;br /&gt;
&lt;br /&gt;
&amp;lt;PRE&amp;gt;&lt;br /&gt;
apt-get install traceroute&lt;br /&gt;
&amp;lt;/PRE&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kasutades traceroutei saame:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
traceroute www.neti.ee&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
ja esimene tulemus annab meile juba teada, meie DHCP aadressi:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@ubuntu:~# traceroute www.neti.ee&lt;br /&gt;
traceroute to www.neti.ee (195.50.209.245), 30 hops max, 60 byte packets&lt;br /&gt;
 1  192.168.101.2 (192.168.101.2)  0.139 ms  0.103 ms  0.076 ms^C&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Meie IP ja tulemüür peaksid nägema välja hetkel sellised:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
IP: 192.168.101.138&lt;br /&gt;
GW: 192.168.110.2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Teie praegune olukord peaks olema midagi sellist:&lt;br /&gt;
&lt;br /&gt;
Server1&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@ubuntu:~# ifconfig&lt;br /&gt;
eth0      Link encap:Ethernet  HWaddr 00:0c:29:6f:d7:c4&lt;br /&gt;
          inet addr:192.168.101.138  Bcast:192.168.101.255  Mask:255.255.255.0&lt;br /&gt;
          inet6 addr: fe80::20c:29ff:fe6f:d7c4/64 Scope:Link&lt;br /&gt;
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1&lt;br /&gt;
          RX packets:8377 errors:0 dropped:0 overruns:0 frame:0&lt;br /&gt;
          TX packets:5937 errors:0 dropped:0 overruns:0 carrier:0&lt;br /&gt;
          collisions:0 txqueuelen:1000&lt;br /&gt;
          RX bytes:9556394 (9.5 MB)  TX bytes:426352 (426.3 KB)&lt;br /&gt;
&lt;br /&gt;
lo        Link encap:Local Loopback&lt;br /&gt;
          inet addr:127.0.0.1  Mask:255.0.0.0&lt;br /&gt;
          inet6 addr: ::1/128 Scope:Host&lt;br /&gt;
          UP LOOPBACK RUNNING  MTU:16436  Metric:1&lt;br /&gt;
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0&lt;br /&gt;
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0&lt;br /&gt;
          collisions:0 txqueuelen:0&lt;br /&gt;
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Server2&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
root@ubuntu:~# ifconfig&lt;br /&gt;
eth0      Link encap:Ethernet  HWaddr 00:0c:29:99:51:66&lt;br /&gt;
          inet addr:192.168.101.140  Bcast:192.168.101.255  Mask:255.255.255.0&lt;br /&gt;
          inet6 addr: fe80::20c:29ff:fe99:5166/64 Scope:Link&lt;br /&gt;
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1&lt;br /&gt;
          RX packets:7586 errors:0 dropped:0 overruns:0 frame:0&lt;br /&gt;
          TX packets:4140 errors:0 dropped:0 overruns:0 carrier:0&lt;br /&gt;
          collisions:0 txqueuelen:1000&lt;br /&gt;
          RX bytes:9481944 (9.4 MB)  TX bytes:253201 (253.2 KB)&lt;br /&gt;
&lt;br /&gt;
lo        Link encap:Local Loopback&lt;br /&gt;
          inet addr:127.0.0.1  Mask:255.0.0.0&lt;br /&gt;
          inet6 addr: ::1/128 Scope:Host&lt;br /&gt;
          UP LOOPBACK RUNNING  MTU:16436  Metric:1&lt;br /&gt;
          RX packets:1 errors:0 dropped:0 overruns:0 frame:0&lt;br /&gt;
          TX packets:1 errors:0 dropped:0 overruns:0 carrier:0&lt;br /&gt;
          collisions:0 txqueuelen:0&lt;br /&gt;
          RX bytes:112 (112.0 B)  TX bytes:112 (112.0 B)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Ucarp Seadistammine==&lt;br /&gt;
&lt;br /&gt;
==server1==&lt;br /&gt;
&amp;lt;pre&amp;gt; vim /etc/network/interfaces &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Peaks avanema selline pilt:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# This file describes the network interfaces available on your system&lt;br /&gt;
# and how to activate them. For more information, see interfaces(5).&lt;br /&gt;
&lt;br /&gt;
# The loopback network interface&lt;br /&gt;
auto lo&lt;br /&gt;
iface lo inet loopback&lt;br /&gt;
&lt;br /&gt;
# The primary network interface&lt;br /&gt;
auto eth0&lt;br /&gt;
iface eth0 inet dhcp&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nüüd siis muudame selle ümber:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
root@ubuntu:~# vim /etc/network/interfaces&lt;br /&gt;
# This file describes the network interfaces available on your system&lt;br /&gt;
# and how to activate them. For more information, see interfaces(5).&lt;br /&gt;
&lt;br /&gt;
# The loopback network interface&lt;br /&gt;
auto lo&lt;br /&gt;
iface lo inet loopback&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# The primary network interface&lt;br /&gt;
auto eth0&lt;br /&gt;
iface eth0 inet static&lt;br /&gt;
        ################################&lt;br /&gt;
        # standard network configuration&lt;br /&gt;
        ################################&lt;br /&gt;
        address 192.168.101.138  # meie IP, mis panime alguses&lt;br /&gt;
        netmask 255.255.255.0    # netmask, selle saab ifconfig käsuga&lt;br /&gt;
        gateway 192.168.101.2    # traceroute aitas siin&lt;br /&gt;
        network 192.168.101.0    # natuke tuletamist..&lt;br /&gt;
        broadcast 192.168.101.255 #samuti ifconfig aitab&lt;br /&gt;
&lt;br /&gt;
        ################################&lt;br /&gt;
        # ucarp configuration  #########&lt;br /&gt;
        ################################&lt;br /&gt;
        # vid : The ID of the virtual server [1-255]&lt;br /&gt;
        ucarp-vid 1&lt;br /&gt;
        # vip : Virtuaalne IP aadress&lt;br /&gt;
        ucarp-vip 192.168.101.139&lt;br /&gt;
        # password : Mõlemal pool sama!!!!&lt;br /&gt;
        ucarp-password secret&lt;br /&gt;
        # advskew : Advertisement skew [1-255] # tähendab maakeels seda, et me ei reklaamime ennast koguaeg.&lt;br /&gt;
        ucarp-advskew 1&lt;br /&gt;
        # advbase &lt;br /&gt;
        ucarp-advbase 1&lt;br /&gt;
        # Kontroll, kas oleme peamine server?&lt;br /&gt;
        ucarp-master yes&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# CARP võrgu addressi kirjutame siia lihtsalt&lt;br /&gt;
iface eth0:ucarp inet static&lt;br /&gt;
        address 192.168.101.139&lt;br /&gt;
        netmask 255.255.255.0&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kindlasti tuleb teha võrgule restart, et kõik seaded võetakse kasutusse.&lt;br /&gt;
advskew ja advbase on asjad millega kontrollitakse kui tihedalt brodcastitakse.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/etc/init.d/networking restart &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Peaks avanema midagi sellist:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
root@ubuntu:~# ifconfig&lt;br /&gt;
eth0      Link encap:Ethernet  HWaddr 00:0c:29:6f:d7:c4&lt;br /&gt;
          inet addr:192.168.101.138  Bcast:192.168.101.255  Mask:255.255.255.0&lt;br /&gt;
          inet6 addr: fe80::20c:29ff:fe6f:d7c4/64 Scope:Link&lt;br /&gt;
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1&lt;br /&gt;
          RX packets:1195 errors:0 dropped:0 overruns:0 frame:0&lt;br /&gt;
          TX packets:287 errors:0 dropped:0 overruns:0 carrier:0&lt;br /&gt;
          collisions:0 txqueuelen:1000&lt;br /&gt;
          RX bytes:88166 (88.1 KB)  TX bytes:29985 (29.9 KB)&lt;br /&gt;
&lt;br /&gt;
eth0:ucarp Link encap:Ethernet  HWaddr 00:0c:29:6f:d7:c4&lt;br /&gt;
          inet addr:192.168.101.139  Bcast:192.168.101.255  Mask:255.255.255.0&lt;br /&gt;
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1&lt;br /&gt;
&lt;br /&gt;
lo        Link encap:Local Loopback&lt;br /&gt;
          inet addr:127.0.0.1  Mask:255.0.0.0&lt;br /&gt;
          inet6 addr: ::1/128 Scope:Host&lt;br /&gt;
          UP LOOPBACK RUNNING  MTU:16436  Metric:1&lt;br /&gt;
          RX packets:36 errors:0 dropped:0 overruns:0 frame:0&lt;br /&gt;
          TX packets:36 errors:0 dropped:0 overruns:0 carrier:0&lt;br /&gt;
          collisions:0 txqueuelen:0&lt;br /&gt;
          RX bytes:2712 (2.7 KB)  TX bytes:2712 (2.7 KB)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
See annab meile selguse, et Server1s on Ucarp kasutuses!&lt;br /&gt;
&lt;br /&gt;
==Server2==&lt;br /&gt;
&lt;br /&gt;
Nüüd tuleks teha samasugune muutus ka server 2s.&lt;br /&gt;
Olles laisad, siis saame nüüd kopeerida selle ka teise serverisse, pärast teeme muudatused:&lt;br /&gt;
Paar asja on siin väga tähtsad:&lt;br /&gt;
&lt;br /&gt;
 1.) ucarp-advskew 100 # tähendab maakeeles seda, et me ei reklaami ennast nii tihedalt.&lt;br /&gt;
 2.) ucarp-master no # Server ka ei ole master!&lt;br /&gt;
 3.) IP address peab olema ikka selle serveri oma (192.168.101.140). Muud asjad samad&lt;br /&gt;
 4.) virtuaalsed IP-d peaksid olema need, mis eelmisel serveril.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# This file describes the network interfaces available on your system&lt;br /&gt;
# and how to activate them. For more information, see interfaces(5).&lt;br /&gt;
&lt;br /&gt;
# The loopback network interface&lt;br /&gt;
auto lo&lt;br /&gt;
iface lo inet loopback&lt;br /&gt;
&lt;br /&gt;
# The primary network interface&lt;br /&gt;
auto eth0&lt;br /&gt;
iface eth0 inet static&lt;br /&gt;
        ################################&lt;br /&gt;
        # standard network configuration&lt;br /&gt;
        ################################&lt;br /&gt;
        address 192.168.101.140&lt;br /&gt;
        netmask 255.255.255.0&lt;br /&gt;
        gateway 192.168.101.2&lt;br /&gt;
        network 192.168.101.0&lt;br /&gt;
        broadcast 192.168.101.255&lt;br /&gt;
&lt;br /&gt;
        ################################&lt;br /&gt;
        # ucarp configuration&lt;br /&gt;
        ################################&lt;br /&gt;
        # vid : The ID of the virtual server [1-255]&lt;br /&gt;
        ucarp-vid 1&lt;br /&gt;
        # vip : Virtuaalne IP aadress&lt;br /&gt;
        ucarp-vip 192.168.101.139&lt;br /&gt;
        # password : A password used to encrypt Carp communications&lt;br /&gt;
        ucarp-password secret&lt;br /&gt;
        # advskew : Advertisement skew [1-255] &lt;br /&gt;
        ucarp-advskew 100&lt;br /&gt;
        # advbase : Interval in seconds that advertisements will occur&lt;br /&gt;
        ucarp-advbase 1&lt;br /&gt;
        # master : nüüd me enam ei ole master. Seega määrame ära &amp;quot;no&amp;quot;&lt;br /&gt;
        ucarp-master no&lt;br /&gt;
&lt;br /&gt;
# The carp network interface, on top of eth1&lt;br /&gt;
iface eth0:ucarp inet static&lt;br /&gt;
        address 192.168.101.139&lt;br /&gt;
        netmask 255.255.255.0&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nüüd kui vastavad muudatused on sees, siis teeme ka võrgule restarti&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/etc/init.d/networking restart&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Kui märkasid, siis tegelikult midagi ei juhtunud, kuna oleme mitte masterid!&lt;br /&gt;
Kõik peaks nägema välja nagu endine:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
eth0      Link encap:Ethernet  HWaddr 00:0c:29:99:51:66&lt;br /&gt;
          inet addr:192.168.101.140  Bcast:192.168.101.255  Mask:255.255.255.0&lt;br /&gt;
          inet6 addr: fe80::20c:29ff:fe99:5166/64 Scope:Link&lt;br /&gt;
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1&lt;br /&gt;
          RX packets:213 errors:0 dropped:0 overruns:0 frame:0&lt;br /&gt;
          TX packets:99 errors:0 dropped:0 overruns:0 carrier:0&lt;br /&gt;
          collisions:0 txqueuelen:1000&lt;br /&gt;
          RX bytes:17498 (17.4 KB)  TX bytes:12669 (12.6 KB)&lt;br /&gt;
&lt;br /&gt;
lo        Link encap:Local Loopback&lt;br /&gt;
          inet addr:127.0.0.1  Mask:255.0.0.0&lt;br /&gt;
          inet6 addr: ::1/128 Scope:Host&lt;br /&gt;
          UP LOOPBACK RUNNING  MTU:16436  Metric:1&lt;br /&gt;
          RX packets:18 errors:0 dropped:0 overruns:0 frame:0&lt;br /&gt;
          TX packets:18 errors:0 dropped:0 overruns:0 carrier:0&lt;br /&gt;
          collisions:0 txqueuelen:0&lt;br /&gt;
          RX bytes:1380 (1.3 KB)  TX bytes:1380 (1.3 KB)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==UCARP testimine==&lt;br /&gt;
&lt;br /&gt;
Nüüd on mõlemad serverid paigas ja töötavad Ucarp on mõlemale installitud, kuid hetkel me ikka ei tea, kas Ucarp tegelikult ka töötab.&lt;br /&gt;
&lt;br /&gt;
Kerge test võiks olla selline, et paneme serveri kinni, millel hetkel on ucarp aktiveeritud, minu puhul&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
root@ubuntu:~# shutdown -h now&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nüüd peaksid nägema Server2s (minu puhul) ucarpi aktiveeritult.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ifconfig&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Vastus:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@ubuntu:~# ifconfig&lt;br /&gt;
eth0      Link encap:Ethernet  HWaddr 00:0c:29:99:51:66&lt;br /&gt;
          inet addr:192.168.101.140  Bcast:192.168.101.255  Mask:255.255.255.0&lt;br /&gt;
          inet6 addr: fe80::20c:29ff:fe99:5166/64 Scope:Link&lt;br /&gt;
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1&lt;br /&gt;
          RX packets:1270 errors:0 dropped:0 overruns:0 frame:0&lt;br /&gt;
          TX packets:929 errors:0 dropped:0 overruns:0 carrier:0&lt;br /&gt;
          collisions:0 txqueuelen:1000&lt;br /&gt;
          RX bytes:94480 (94.4 KB)  TX bytes:113861 (113.8 KB)&lt;br /&gt;
&lt;br /&gt;
eth0:ucarp Link encap:Ethernet  HWaddr 00:0c:29:99:51:66&lt;br /&gt;
          inet addr:192.168.101.139  Bcast:192.168.101.255  Mask:255.255.255.0&lt;br /&gt;
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1&lt;br /&gt;
&lt;br /&gt;
lo        Link encap:Local Loopback&lt;br /&gt;
          inet addr:127.0.0.1  Mask:255.0.0.0&lt;br /&gt;
          inet6 addr: ::1/128 Scope:Host&lt;br /&gt;
          UP LOOPBACK RUNNING  MTU:16436  Metric:1&lt;br /&gt;
          RX packets:482 errors:0 dropped:0 overruns:0 frame:0&lt;br /&gt;
          TX packets:482 errors:0 dropped:0 overruns:0 carrier:0&lt;br /&gt;
          collisions:0 txqueuelen:0&lt;br /&gt;
          RX bytes:38580 (38.5 KB)  TX bytes:38580 (38.5 KB)&lt;br /&gt;
&lt;br /&gt;
root@ubuntu:~#&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Annab meile jällegi kindlustunde, et tõesti server1 annab oma asjad üle server2le, kui server1-ga peaks midagi juhtuma.&lt;br /&gt;
&lt;br /&gt;
==UCARP ja Apache koos==&lt;br /&gt;
&lt;br /&gt;
Idee on lihtne. Installime mõlemale serverile apache serveri ja hoiame neid süngis linuxi vahenditega.&lt;br /&gt;
Selleks võib olla rsync või ka tavaline copy cronis :) Hetkel kasutame rsynci.&lt;br /&gt;
&lt;br /&gt;
Installime apachei ja rsynci:&lt;br /&gt;
&lt;br /&gt;
Server1:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
apt-get install apache2 rsync&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Server2:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
apt-get install apache2 rsync&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nüüd on meil 2 serverit, millel on Rsync ja apache2 installitud&lt;br /&gt;
Apache2 hoiab oma asju:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/etc/apache2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Siis tuleks meil kindlasti sünkida seda kataloogi ja samuti ei tohi ära unustada ka kataloogi, kus meie apache asub&lt;br /&gt;
Näiteks:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/var/www/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nüüd paneme oma rsynci tööle, soovitavalt Crontabi. Meil tekkib probleem, et oleks vaja pärast apache2 konfiguratsioonide muutmist ka apache2 uuesti &amp;quot;reloadida&amp;quot;. Selleks kasutame skripti. Hetkel siin kasutamiseks kirjutasin lihtsa skripti, mida saab endale vastavalt kergelt parandada.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
touch /root/apache_rsync.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Anname käivitamise õigused, et pärast ei unustaks:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
chmod 755 apache_rsync.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nüüd, skript ise. Eeldus on see, et mõlemal pool on SSH lubatud!&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
vim /root/apache_rsync.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
#rsync ise&lt;br /&gt;
rsync -avz -e ssh root@192.168.101.138:/home/apache2 /home/apache2/&lt;br /&gt;
rsync -avz -e ssh root@192.168.101.138:/var/www/html /var/www/html&lt;br /&gt;
&lt;br /&gt;
#p2rast asjade yle kopeerimist tuleb teha reaload et teisel pool ikka asjad t66taks.&lt;br /&gt;
/etc/init.d/apache2 reload&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
See nüüd croni server2-le&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
vim /etc/crontab&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Lisage selline rida. Sellega hakatakse rsyncika hoidma servereid sünkroonis. Tehakse iga 15 minuti järgi. Number 15 võib muuta oma äranägemise järgi.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
*/15 * * * * root /root/apache_rsync.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Kokkuvõtteks==&lt;br /&gt;
Võiks öelda, et viimane skript on väga väike ja võiks kõvasti paremaks teha.&lt;br /&gt;
Näiteks: email saatmise sisse panna, sest hetkel me ei tea, millal server1 on põhiline ja millal server2 on põhiline. &lt;br /&gt;
Hetkel teeme eelduse , et server1 sai fataalse errori ja on katki ja pärast selle korda tegemist on see jälle põhiline.&lt;br /&gt;
&lt;br /&gt;
==Kasutatud kirjandus==&lt;br /&gt;
* http://valeriytroshin.blogspot.com/2011/08/carp-failover-redundancy-in-ubuntu-1104.html&lt;br /&gt;
* http://laurentbel.com/2012/04/12/simple-apache-failover-cluster-on-ubuntu-with-config-synchronization/&lt;br /&gt;
* http://www.auul.pri.ee/wiki/Operatsioonis%C3%BCsteemi_Debian_GNU/Linux_kasutamine#ucarp_kasutamine&lt;br /&gt;
* http://www.freebsd.org/doc/handbook/carp.html&lt;br /&gt;
* http://laurentbel.com/2012/04/04/simple-failover-cluster-on-ubuntu-using-carp/&lt;br /&gt;
* http://en.wikipedia.org/wiki/Common_Address_Redundancy_Protocol&lt;br /&gt;
* http://blog.ijun.org/2009/11/high-availability-with-freebsd-and-carp.html&lt;br /&gt;
* http://www.howtoforge.com/how-to-configure-a-pfsense-2.0-cluster-using-carp&lt;br /&gt;
* http://kuutorvaja.eenet.ee/wiki/K%C3%B5rgk%C3%A4ideldavus_UCARP_abil#Paigaldamine_ja_seadistamine_RHEL.2C_CentOS_ja_Fedora_kasutajatele&lt;br /&gt;
* http://www.pureftpd.org/project/ucarp&lt;/div&gt;</summary>
		<author><name>Mmust</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Carp&amp;diff=58955</id>
		<title>Carp</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Carp&amp;diff=58955"/>
		<updated>2012-12-11T08:30:52Z</updated>

		<summary type="html">&lt;p&gt;Mmust: moved Carp to Ucarp ja Carp&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[Ucarp ja Carp]]&lt;/div&gt;</summary>
		<author><name>Mmust</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Ucarp&amp;diff=58954</id>
		<title>Ucarp</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Ucarp&amp;diff=58954"/>
		<updated>2012-12-11T08:30:52Z</updated>

		<summary type="html">&lt;p&gt;Mmust: moved Carp to Ucarp ja Carp&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=UCARP/CARP=&lt;br /&gt;
Autor: Marek Must&amp;lt;br&amp;gt; 07.12.2012&lt;br /&gt;
Rühm: AK21&lt;br /&gt;
Esitamise kuupäev: &lt;br /&gt;
&lt;br /&gt;
==Sissejuhatus==&lt;br /&gt;
Carp (inglise k. &amp;quot;Common Address Redundancy Protocol&amp;quot;) on protokoll, mis lubab samadel serveritel samas subnetis jagada ühte IP aadressi.&lt;br /&gt;
&lt;br /&gt;
Ucarp on tarkvara, mis võimaldab sul vähemalt 2 serveri olemasolul jagada neile 1 virtuaalne IP aadress, mille tulemusega saadakse kluster.&lt;br /&gt;
Ucarp ei ole väga peen lahendus ja sellega tuleb alati arvestada.&lt;br /&gt;
&lt;br /&gt;
===Ucarpi tugevus===&lt;br /&gt;
   * Lihtsus (ülesse seadmine käib lihtsalt)&lt;br /&gt;
   * Väike serveri ressursside kasutamine&lt;br /&gt;
   * Pole vaja lisa võrgu otsasid (alati on kena, kuid see on täiesti teine teema)&lt;br /&gt;
   * Krüptograafiliselt signeeritud teated. (Ucarpil on seadistatud parool, öeldes lihtsalt)&lt;br /&gt;
   * Töötada koos mitme operatsiooni süsteemiga (inglise k. interoperability )&lt;br /&gt;
&lt;br /&gt;
===Tööpühimõte===&lt;br /&gt;
&lt;br /&gt;
Ucrap töötab lihtsalt:&lt;br /&gt;
 1.) Kui server1 on üleval, siis sellele on määratud virtuaalne IP aadress.&lt;br /&gt;
 2.) Kui server1 on maas ja server2 on primaarne (inglise k. primary), siis on määratud Server2-le virtuaalne IP aadress, eeldades, et server2    on     üleval.&lt;br /&gt;
&lt;br /&gt;
===Ucarpi Nõrkus===&lt;br /&gt;
   * Ainult IP põhine kluster&lt;br /&gt;
   * Seadeid, teenuseid üle ei kanta, kui server2 saab peamiseks serveriks.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Tsiteerides targemaid: ucarp on võrreldes keepalived või heartbeat tarkvaraga tagasihoidlikemate omadustega, kuid mõnel juhul võib just see ollagi eeliseks&lt;br /&gt;
&lt;br /&gt;
==UCARP install==&lt;br /&gt;
&lt;br /&gt;
Install käib lihtsalt:&lt;br /&gt;
&amp;lt;pre&amp;gt; &lt;br /&gt;
apt-get install ucarp &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Selle pannakse programmid peale. mitte unustada, et tarkvara tuleb installida mõlemale serverile!!&lt;br /&gt;
&lt;br /&gt;
==Eel Seadistamine==&lt;br /&gt;
&lt;br /&gt;
Kui olite sama laisk nagu mina, siis lasite alguses IP anda endale DHCP-ga, milleks oli 192.168.101.138&lt;br /&gt;
Seda saab vaadata:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;PRE&amp;gt;&lt;br /&gt;
ifconfig&lt;br /&gt;
&amp;lt;/PRE&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tulemüüri(inglise k. Gateway) saamine on natuke keerulisem, sest DHCP-ga seda ei ole võimalik päris &amp;quot;tavaliselt&amp;quot; ( ifconfig) näha.&lt;br /&gt;
Tulemüüri nägemiseks on olemas mitu võimalust, kuid mulle meeldib kasutada traceroutei. Tava installis seda paketti peal ei ole ja seega tuleks see paigaldada&lt;br /&gt;
&lt;br /&gt;
&amp;lt;PRE&amp;gt;&lt;br /&gt;
apt-get install traceroute&lt;br /&gt;
&amp;lt;/PRE&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kasutades traceroutei saame:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
traceroute www.neti.ee&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
ja esimene tulemus annab meile juba teada, meie DHCP aadressi:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@ubuntu:~# traceroute www.neti.ee&lt;br /&gt;
traceroute to www.neti.ee (195.50.209.245), 30 hops max, 60 byte packets&lt;br /&gt;
 1  192.168.101.2 (192.168.101.2)  0.139 ms  0.103 ms  0.076 ms^C&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Meie IP ja tulemüür peaksid nägema välja hetkel sellised:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
IP: 192.168.101.138&lt;br /&gt;
GW: 192.168.110.2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Teie praegune olukord peaks olema midagi sellist:&lt;br /&gt;
&lt;br /&gt;
Server1&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@ubuntu:~# ifconfig&lt;br /&gt;
eth0      Link encap:Ethernet  HWaddr 00:0c:29:6f:d7:c4&lt;br /&gt;
          inet addr:192.168.101.138  Bcast:192.168.101.255  Mask:255.255.255.0&lt;br /&gt;
          inet6 addr: fe80::20c:29ff:fe6f:d7c4/64 Scope:Link&lt;br /&gt;
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1&lt;br /&gt;
          RX packets:8377 errors:0 dropped:0 overruns:0 frame:0&lt;br /&gt;
          TX packets:5937 errors:0 dropped:0 overruns:0 carrier:0&lt;br /&gt;
          collisions:0 txqueuelen:1000&lt;br /&gt;
          RX bytes:9556394 (9.5 MB)  TX bytes:426352 (426.3 KB)&lt;br /&gt;
&lt;br /&gt;
lo        Link encap:Local Loopback&lt;br /&gt;
          inet addr:127.0.0.1  Mask:255.0.0.0&lt;br /&gt;
          inet6 addr: ::1/128 Scope:Host&lt;br /&gt;
          UP LOOPBACK RUNNING  MTU:16436  Metric:1&lt;br /&gt;
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0&lt;br /&gt;
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0&lt;br /&gt;
          collisions:0 txqueuelen:0&lt;br /&gt;
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Server2&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
root@ubuntu:~# ifconfig&lt;br /&gt;
eth0      Link encap:Ethernet  HWaddr 00:0c:29:99:51:66&lt;br /&gt;
          inet addr:192.168.101.140  Bcast:192.168.101.255  Mask:255.255.255.0&lt;br /&gt;
          inet6 addr: fe80::20c:29ff:fe99:5166/64 Scope:Link&lt;br /&gt;
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1&lt;br /&gt;
          RX packets:7586 errors:0 dropped:0 overruns:0 frame:0&lt;br /&gt;
          TX packets:4140 errors:0 dropped:0 overruns:0 carrier:0&lt;br /&gt;
          collisions:0 txqueuelen:1000&lt;br /&gt;
          RX bytes:9481944 (9.4 MB)  TX bytes:253201 (253.2 KB)&lt;br /&gt;
&lt;br /&gt;
lo        Link encap:Local Loopback&lt;br /&gt;
          inet addr:127.0.0.1  Mask:255.0.0.0&lt;br /&gt;
          inet6 addr: ::1/128 Scope:Host&lt;br /&gt;
          UP LOOPBACK RUNNING  MTU:16436  Metric:1&lt;br /&gt;
          RX packets:1 errors:0 dropped:0 overruns:0 frame:0&lt;br /&gt;
          TX packets:1 errors:0 dropped:0 overruns:0 carrier:0&lt;br /&gt;
          collisions:0 txqueuelen:0&lt;br /&gt;
          RX bytes:112 (112.0 B)  TX bytes:112 (112.0 B)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Ucarp Seadistammine==&lt;br /&gt;
&lt;br /&gt;
==server1==&lt;br /&gt;
&amp;lt;pre&amp;gt; vim /etc/network/interfaces &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Peaks avanema selline pilt:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# This file describes the network interfaces available on your system&lt;br /&gt;
# and how to activate them. For more information, see interfaces(5).&lt;br /&gt;
&lt;br /&gt;
# The loopback network interface&lt;br /&gt;
auto lo&lt;br /&gt;
iface lo inet loopback&lt;br /&gt;
&lt;br /&gt;
# The primary network interface&lt;br /&gt;
auto eth0&lt;br /&gt;
iface eth0 inet dhcp&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nüüd siis muudame selle ümber:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
root@ubuntu:~# vim /etc/network/interfaces&lt;br /&gt;
# This file describes the network interfaces available on your system&lt;br /&gt;
# and how to activate them. For more information, see interfaces(5).&lt;br /&gt;
&lt;br /&gt;
# The loopback network interface&lt;br /&gt;
auto lo&lt;br /&gt;
iface lo inet loopback&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# The primary network interface&lt;br /&gt;
auto eth0&lt;br /&gt;
iface eth0 inet static&lt;br /&gt;
        ################################&lt;br /&gt;
        # standard network configuration&lt;br /&gt;
        ################################&lt;br /&gt;
        address 192.168.101.138  # meie IP, mis panime alguses&lt;br /&gt;
        netmask 255.255.255.0    # netmask, selle saab ifconfig käsuga&lt;br /&gt;
        gateway 192.168.101.2    # traceroute aitas siin&lt;br /&gt;
        network 192.168.101.0    # natuke tuletamist..&lt;br /&gt;
        broadcast 192.168.101.255 #samuti ifconfig aitab&lt;br /&gt;
&lt;br /&gt;
        ################################&lt;br /&gt;
        # ucarp configuration  #########&lt;br /&gt;
        ################################&lt;br /&gt;
        # vid : The ID of the virtual server [1-255]&lt;br /&gt;
        ucarp-vid 1&lt;br /&gt;
        # vip : Virtuaalne IP aadress&lt;br /&gt;
        ucarp-vip 192.168.101.139&lt;br /&gt;
        # password : Mõlemal pool sama!!!!&lt;br /&gt;
        ucarp-password secret&lt;br /&gt;
        # advskew : Advertisement skew [1-255] # tähendab maakeels seda, et me ei reklaamime ennast koguaeg.&lt;br /&gt;
        ucarp-advskew 1&lt;br /&gt;
        # advbase &lt;br /&gt;
        ucarp-advbase 1&lt;br /&gt;
        # Kontroll, kas oleme peamine server?&lt;br /&gt;
        ucarp-master yes&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# CARP võrgu addressi kirjutame siia lihtsalt&lt;br /&gt;
iface eth0:ucarp inet static&lt;br /&gt;
        address 192.168.101.139&lt;br /&gt;
        netmask 255.255.255.0&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kindlasti tuleb teha võrgule restart, et kõik seaded võetakse kasutusse.&lt;br /&gt;
advskew ja advbase on asjad millega kontrollitakse kui tihedalt brodcastitakse.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/etc/init.d/networking restart &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Peaks avanema midagi sellist:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
root@ubuntu:~# ifconfig&lt;br /&gt;
eth0      Link encap:Ethernet  HWaddr 00:0c:29:6f:d7:c4&lt;br /&gt;
          inet addr:192.168.101.138  Bcast:192.168.101.255  Mask:255.255.255.0&lt;br /&gt;
          inet6 addr: fe80::20c:29ff:fe6f:d7c4/64 Scope:Link&lt;br /&gt;
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1&lt;br /&gt;
          RX packets:1195 errors:0 dropped:0 overruns:0 frame:0&lt;br /&gt;
          TX packets:287 errors:0 dropped:0 overruns:0 carrier:0&lt;br /&gt;
          collisions:0 txqueuelen:1000&lt;br /&gt;
          RX bytes:88166 (88.1 KB)  TX bytes:29985 (29.9 KB)&lt;br /&gt;
&lt;br /&gt;
eth0:ucarp Link encap:Ethernet  HWaddr 00:0c:29:6f:d7:c4&lt;br /&gt;
          inet addr:192.168.101.139  Bcast:192.168.101.255  Mask:255.255.255.0&lt;br /&gt;
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1&lt;br /&gt;
&lt;br /&gt;
lo        Link encap:Local Loopback&lt;br /&gt;
          inet addr:127.0.0.1  Mask:255.0.0.0&lt;br /&gt;
          inet6 addr: ::1/128 Scope:Host&lt;br /&gt;
          UP LOOPBACK RUNNING  MTU:16436  Metric:1&lt;br /&gt;
          RX packets:36 errors:0 dropped:0 overruns:0 frame:0&lt;br /&gt;
          TX packets:36 errors:0 dropped:0 overruns:0 carrier:0&lt;br /&gt;
          collisions:0 txqueuelen:0&lt;br /&gt;
          RX bytes:2712 (2.7 KB)  TX bytes:2712 (2.7 KB)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
See annab meile selguse, et Server1s on Ucarp kasutuses!&lt;br /&gt;
&lt;br /&gt;
==Server2==&lt;br /&gt;
&lt;br /&gt;
Nüüd tuleks teha samasugune muutus ka server 2s.&lt;br /&gt;
Olles laisad, siis saame nüüd kopeerida selle ka teise serverisse, pärast teeme muudatused:&lt;br /&gt;
Paar asja on siin väga tähtsad:&lt;br /&gt;
&lt;br /&gt;
 1.) ucarp-advskew 100 # tähendab maakeeles seda, et me ei reklaami ennast nii tihedalt.&lt;br /&gt;
 2.) ucarp-master no # Server ka ei ole master!&lt;br /&gt;
 3.) IP address peab olema ikka selle serveri oma (192.168.101.140). Muud asjad samad&lt;br /&gt;
 4.) virtuaalsed IP-d peaksid olema need, mis eelmisel serveril.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# This file describes the network interfaces available on your system&lt;br /&gt;
# and how to activate them. For more information, see interfaces(5).&lt;br /&gt;
&lt;br /&gt;
# The loopback network interface&lt;br /&gt;
auto lo&lt;br /&gt;
iface lo inet loopback&lt;br /&gt;
&lt;br /&gt;
# The primary network interface&lt;br /&gt;
auto eth0&lt;br /&gt;
iface eth0 inet static&lt;br /&gt;
        ################################&lt;br /&gt;
        # standard network configuration&lt;br /&gt;
        ################################&lt;br /&gt;
        address 192.168.101.140&lt;br /&gt;
        netmask 255.255.255.0&lt;br /&gt;
        gateway 192.168.101.2&lt;br /&gt;
        network 192.168.101.0&lt;br /&gt;
        broadcast 192.168.101.255&lt;br /&gt;
&lt;br /&gt;
        ################################&lt;br /&gt;
        # ucarp configuration&lt;br /&gt;
        ################################&lt;br /&gt;
        # vid : The ID of the virtual server [1-255]&lt;br /&gt;
        ucarp-vid 1&lt;br /&gt;
        # vip : Virtuaalne IP aadress&lt;br /&gt;
        ucarp-vip 192.168.101.139&lt;br /&gt;
        # password : A password used to encrypt Carp communications&lt;br /&gt;
        ucarp-password secret&lt;br /&gt;
        # advskew : Advertisement skew [1-255] &lt;br /&gt;
        ucarp-advskew 100&lt;br /&gt;
        # advbase : Interval in seconds that advertisements will occur&lt;br /&gt;
        ucarp-advbase 1&lt;br /&gt;
        # master : nüüd me enam ei ole master. Seega määrame ära &amp;quot;no&amp;quot;&lt;br /&gt;
        ucarp-master no&lt;br /&gt;
&lt;br /&gt;
# The carp network interface, on top of eth1&lt;br /&gt;
iface eth0:ucarp inet static&lt;br /&gt;
        address 192.168.101.139&lt;br /&gt;
        netmask 255.255.255.0&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nüüd kui vastavad muudatused on sees, siis teeme ka võrgule restarti&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/etc/init.d/networking restart&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Kui märkasid, siis tegelikult midagi ei juhtunud, kuna oleme mitte masterid!&lt;br /&gt;
Kõik peaks nägema välja nagu endine:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
eth0      Link encap:Ethernet  HWaddr 00:0c:29:99:51:66&lt;br /&gt;
          inet addr:192.168.101.140  Bcast:192.168.101.255  Mask:255.255.255.0&lt;br /&gt;
          inet6 addr: fe80::20c:29ff:fe99:5166/64 Scope:Link&lt;br /&gt;
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1&lt;br /&gt;
          RX packets:213 errors:0 dropped:0 overruns:0 frame:0&lt;br /&gt;
          TX packets:99 errors:0 dropped:0 overruns:0 carrier:0&lt;br /&gt;
          collisions:0 txqueuelen:1000&lt;br /&gt;
          RX bytes:17498 (17.4 KB)  TX bytes:12669 (12.6 KB)&lt;br /&gt;
&lt;br /&gt;
lo        Link encap:Local Loopback&lt;br /&gt;
          inet addr:127.0.0.1  Mask:255.0.0.0&lt;br /&gt;
          inet6 addr: ::1/128 Scope:Host&lt;br /&gt;
          UP LOOPBACK RUNNING  MTU:16436  Metric:1&lt;br /&gt;
          RX packets:18 errors:0 dropped:0 overruns:0 frame:0&lt;br /&gt;
          TX packets:18 errors:0 dropped:0 overruns:0 carrier:0&lt;br /&gt;
          collisions:0 txqueuelen:0&lt;br /&gt;
          RX bytes:1380 (1.3 KB)  TX bytes:1380 (1.3 KB)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==UCARP testimine==&lt;br /&gt;
&lt;br /&gt;
Nüüd on mõlemad serverid paigas ja töötavad Ucarp on mõlemale installitud, kuid hetkel me ikka ei tea, kas Ucarp tegelikult ka töötab.&lt;br /&gt;
&lt;br /&gt;
Kerge test võiks olla selline, et paneme serveri kinni, millel hetkel on ucarp aktiveeritud, minu puhul&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
root@ubuntu:~# shutdown -h now&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nüüd peaksid nägema Server2s (minu puhul) ucarpi aktiveeritult.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ifconfig&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Vastus:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@ubuntu:~# ifconfig&lt;br /&gt;
eth0      Link encap:Ethernet  HWaddr 00:0c:29:99:51:66&lt;br /&gt;
          inet addr:192.168.101.140  Bcast:192.168.101.255  Mask:255.255.255.0&lt;br /&gt;
          inet6 addr: fe80::20c:29ff:fe99:5166/64 Scope:Link&lt;br /&gt;
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1&lt;br /&gt;
          RX packets:1270 errors:0 dropped:0 overruns:0 frame:0&lt;br /&gt;
          TX packets:929 errors:0 dropped:0 overruns:0 carrier:0&lt;br /&gt;
          collisions:0 txqueuelen:1000&lt;br /&gt;
          RX bytes:94480 (94.4 KB)  TX bytes:113861 (113.8 KB)&lt;br /&gt;
&lt;br /&gt;
eth0:ucarp Link encap:Ethernet  HWaddr 00:0c:29:99:51:66&lt;br /&gt;
          inet addr:192.168.101.139  Bcast:192.168.101.255  Mask:255.255.255.0&lt;br /&gt;
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1&lt;br /&gt;
&lt;br /&gt;
lo        Link encap:Local Loopback&lt;br /&gt;
          inet addr:127.0.0.1  Mask:255.0.0.0&lt;br /&gt;
          inet6 addr: ::1/128 Scope:Host&lt;br /&gt;
          UP LOOPBACK RUNNING  MTU:16436  Metric:1&lt;br /&gt;
          RX packets:482 errors:0 dropped:0 overruns:0 frame:0&lt;br /&gt;
          TX packets:482 errors:0 dropped:0 overruns:0 carrier:0&lt;br /&gt;
          collisions:0 txqueuelen:0&lt;br /&gt;
          RX bytes:38580 (38.5 KB)  TX bytes:38580 (38.5 KB)&lt;br /&gt;
&lt;br /&gt;
root@ubuntu:~#&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Annab meile jällegi kindlustunde, et tõesti server1 annab oma asjad üle server2le, kui server1-ga peaks midagi juhtuma.&lt;br /&gt;
&lt;br /&gt;
==UCARP ja Apache koos==&lt;br /&gt;
&lt;br /&gt;
Idee on lihtne. Installime mõlemale serverile apache serveri ja hoiame neid süngis linuxi vahenditega.&lt;br /&gt;
Selleks võib olla rsync või ka tavaline copy cronis :) Hetkel kasutame rsynci.&lt;br /&gt;
&lt;br /&gt;
Installime apachei ja rsynci:&lt;br /&gt;
&lt;br /&gt;
Server1:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
apt-get install apache2 rsync&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Server2:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
apt-get install apache2 rsync&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nüüd on meil 2 serverit, millel on Rsync ja apache2 installitud&lt;br /&gt;
Apache2 hoiab oma asju:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/etc/apache2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Siis tuleks meil kindlasti sünkida seda kataloogi ja samuti ei tohi ära unustada ka kataloogi, kus meie apache asub&lt;br /&gt;
Näiteks:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/var/www/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nüüd paneme oma rsynci tööle, soovitavalt Crontabi. Meil tekkib probleem, et oleks vaja pärast apache2 konfiguratsioonide muutmist ka apache2 uuesti &amp;quot;reloadida&amp;quot;. Selleks kasutame skripti. Hetkel siin kasutamiseks kirjutasin lihtsa skripti, mida saab endale vastavalt kergelt parandada.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
touch /root/apache_rsync.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Anname käivitamise õigused, et pärast ei unustaks:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
chmod 755 apache_rsync.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nüüd, skript ise. Eeldus on see, et mõlemal pool on SSH lubatud!&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
vim /root/apache_rsync.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
#rsync ise&lt;br /&gt;
rsync -avz -e ssh root@192.168.101.138:/home/apache2 /home/apache2/&lt;br /&gt;
rsync -avz -e ssh root@192.168.101.138:/var/www/html /var/www/html&lt;br /&gt;
&lt;br /&gt;
#p2rast asjade yle kopeerimist tuleb teha reaload et teisel pool ikka asjad t66taks.&lt;br /&gt;
/etc/init.d/apache2 reload&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
See nüüd croni server2-le&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
vim /etc/crontab&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Lisage selline rida. Sellega hakatakse rsyncika hoidma servereid sünkroonis. Tehakse iga 15 minuti järgi. Number 15 võib muuta oma äranägemise järgi.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
*/15 * * * * root /root/apache_rsync.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Kokkuvõtteks==&lt;br /&gt;
Võiks öelda, et viimane skript on väga väike ja võiks kõvasti paremaks teha.&lt;br /&gt;
Näiteks: email saatmise sisse panna, sest hetkel me ei tea, millal server1 on põhiline ja millal server2 on põhiline. &lt;br /&gt;
Hetkel teeme eelduse , et server1 sai fataalse errori ja on katki ja pärast selle korda tegemist on see jälle põhiline.&lt;br /&gt;
&lt;br /&gt;
==Kasutatud kirjandus==&lt;br /&gt;
* http://valeriytroshin.blogspot.com/2011/08/carp-failover-redundancy-in-ubuntu-1104.html&lt;br /&gt;
* http://laurentbel.com/2012/04/12/simple-apache-failover-cluster-on-ubuntu-with-config-synchronization/&lt;br /&gt;
* http://www.auul.pri.ee/wiki/Operatsioonis%C3%BCsteemi_Debian_GNU/Linux_kasutamine#ucarp_kasutamine&lt;br /&gt;
* http://www.freebsd.org/doc/handbook/carp.html&lt;br /&gt;
* http://laurentbel.com/2012/04/04/simple-failover-cluster-on-ubuntu-using-carp/&lt;br /&gt;
* http://en.wikipedia.org/wiki/Common_Address_Redundancy_Protocol&lt;br /&gt;
* http://blog.ijun.org/2009/11/high-availability-with-freebsd-and-carp.html&lt;br /&gt;
* http://www.howtoforge.com/how-to-configure-a-pfsense-2.0-cluster-using-carp&lt;br /&gt;
* http://kuutorvaja.eenet.ee/wiki/K%C3%B5rgk%C3%A4ideldavus_UCARP_abil#Paigaldamine_ja_seadistamine_RHEL.2C_CentOS_ja_Fedora_kasutajatele&lt;br /&gt;
* http://www.pureftpd.org/project/ucarp&lt;/div&gt;</summary>
		<author><name>Mmust</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Ucarp&amp;diff=58953</id>
		<title>Ucarp</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Ucarp&amp;diff=58953"/>
		<updated>2012-12-11T08:29:53Z</updated>

		<summary type="html">&lt;p&gt;Mmust: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=UCARP/CARP=&lt;br /&gt;
Autor: Marek Must&amp;lt;br&amp;gt; 07.12.2012&lt;br /&gt;
Rühm: AK21&lt;br /&gt;
Esitamise kuupäev: &lt;br /&gt;
&lt;br /&gt;
==Sissejuhatus==&lt;br /&gt;
Carp (inglise k. &amp;quot;Common Address Redundancy Protocol&amp;quot;) on protokoll, mis lubab samadel serveritel samas subnetis jagada ühte IP aadressi.&lt;br /&gt;
&lt;br /&gt;
Ucarp on tarkvara, mis võimaldab sul vähemalt 2 serveri olemasolul jagada neile 1 virtuaalne IP aadress, mille tulemusega saadakse kluster.&lt;br /&gt;
Ucarp ei ole väga peen lahendus ja sellega tuleb alati arvestada.&lt;br /&gt;
&lt;br /&gt;
===Ucarpi tugevus===&lt;br /&gt;
   * Lihtsus (ülesse seadmine käib lihtsalt)&lt;br /&gt;
   * Väike serveri ressursside kasutamine&lt;br /&gt;
   * Pole vaja lisa võrgu otsasid (alati on kena, kuid see on täiesti teine teema)&lt;br /&gt;
   * Krüptograafiliselt signeeritud teated. (Ucarpil on seadistatud parool, öeldes lihtsalt)&lt;br /&gt;
   * Töötada koos mitme operatsiooni süsteemiga (inglise k. interoperability )&lt;br /&gt;
&lt;br /&gt;
===Tööpühimõte===&lt;br /&gt;
&lt;br /&gt;
Ucrap töötab lihtsalt:&lt;br /&gt;
 1.) Kui server1 on üleval, siis sellele on määratud virtuaalne IP aadress.&lt;br /&gt;
 2.) Kui server1 on maas ja server2 on primaarne (inglise k. primary), siis on määratud Server2-le virtuaalne IP aadress, eeldades, et server2    on     üleval.&lt;br /&gt;
&lt;br /&gt;
===Ucarpi Nõrkus===&lt;br /&gt;
   * Ainult IP põhine kluster&lt;br /&gt;
   * Seadeid, teenuseid üle ei kanta, kui server2 saab peamiseks serveriks.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Tsiteerides targemaid: ucarp on võrreldes keepalived või heartbeat tarkvaraga tagasihoidlikemate omadustega, kuid mõnel juhul võib just see ollagi eeliseks&lt;br /&gt;
&lt;br /&gt;
==UCARP install==&lt;br /&gt;
&lt;br /&gt;
Install käib lihtsalt:&lt;br /&gt;
&amp;lt;pre&amp;gt; &lt;br /&gt;
apt-get install ucarp &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Selle pannakse programmid peale. mitte unustada, et tarkvara tuleb installida mõlemale serverile!!&lt;br /&gt;
&lt;br /&gt;
==Eel Seadistamine==&lt;br /&gt;
&lt;br /&gt;
Kui olite sama laisk nagu mina, siis lasite alguses IP anda endale DHCP-ga, milleks oli 192.168.101.138&lt;br /&gt;
Seda saab vaadata:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;PRE&amp;gt;&lt;br /&gt;
ifconfig&lt;br /&gt;
&amp;lt;/PRE&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tulemüüri(inglise k. Gateway) saamine on natuke keerulisem, sest DHCP-ga seda ei ole võimalik päris &amp;quot;tavaliselt&amp;quot; ( ifconfig) näha.&lt;br /&gt;
Tulemüüri nägemiseks on olemas mitu võimalust, kuid mulle meeldib kasutada traceroutei. Tava installis seda paketti peal ei ole ja seega tuleks see paigaldada&lt;br /&gt;
&lt;br /&gt;
&amp;lt;PRE&amp;gt;&lt;br /&gt;
apt-get install traceroute&lt;br /&gt;
&amp;lt;/PRE&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kasutades traceroutei saame:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
traceroute www.neti.ee&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
ja esimene tulemus annab meile juba teada, meie DHCP aadressi:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@ubuntu:~# traceroute www.neti.ee&lt;br /&gt;
traceroute to www.neti.ee (195.50.209.245), 30 hops max, 60 byte packets&lt;br /&gt;
 1  192.168.101.2 (192.168.101.2)  0.139 ms  0.103 ms  0.076 ms^C&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Meie IP ja tulemüür peaksid nägema välja hetkel sellised:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
IP: 192.168.101.138&lt;br /&gt;
GW: 192.168.110.2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Teie praegune olukord peaks olema midagi sellist:&lt;br /&gt;
&lt;br /&gt;
Server1&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@ubuntu:~# ifconfig&lt;br /&gt;
eth0      Link encap:Ethernet  HWaddr 00:0c:29:6f:d7:c4&lt;br /&gt;
          inet addr:192.168.101.138  Bcast:192.168.101.255  Mask:255.255.255.0&lt;br /&gt;
          inet6 addr: fe80::20c:29ff:fe6f:d7c4/64 Scope:Link&lt;br /&gt;
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1&lt;br /&gt;
          RX packets:8377 errors:0 dropped:0 overruns:0 frame:0&lt;br /&gt;
          TX packets:5937 errors:0 dropped:0 overruns:0 carrier:0&lt;br /&gt;
          collisions:0 txqueuelen:1000&lt;br /&gt;
          RX bytes:9556394 (9.5 MB)  TX bytes:426352 (426.3 KB)&lt;br /&gt;
&lt;br /&gt;
lo        Link encap:Local Loopback&lt;br /&gt;
          inet addr:127.0.0.1  Mask:255.0.0.0&lt;br /&gt;
          inet6 addr: ::1/128 Scope:Host&lt;br /&gt;
          UP LOOPBACK RUNNING  MTU:16436  Metric:1&lt;br /&gt;
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0&lt;br /&gt;
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0&lt;br /&gt;
          collisions:0 txqueuelen:0&lt;br /&gt;
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Server2&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
root@ubuntu:~# ifconfig&lt;br /&gt;
eth0      Link encap:Ethernet  HWaddr 00:0c:29:99:51:66&lt;br /&gt;
          inet addr:192.168.101.140  Bcast:192.168.101.255  Mask:255.255.255.0&lt;br /&gt;
          inet6 addr: fe80::20c:29ff:fe99:5166/64 Scope:Link&lt;br /&gt;
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1&lt;br /&gt;
          RX packets:7586 errors:0 dropped:0 overruns:0 frame:0&lt;br /&gt;
          TX packets:4140 errors:0 dropped:0 overruns:0 carrier:0&lt;br /&gt;
          collisions:0 txqueuelen:1000&lt;br /&gt;
          RX bytes:9481944 (9.4 MB)  TX bytes:253201 (253.2 KB)&lt;br /&gt;
&lt;br /&gt;
lo        Link encap:Local Loopback&lt;br /&gt;
          inet addr:127.0.0.1  Mask:255.0.0.0&lt;br /&gt;
          inet6 addr: ::1/128 Scope:Host&lt;br /&gt;
          UP LOOPBACK RUNNING  MTU:16436  Metric:1&lt;br /&gt;
          RX packets:1 errors:0 dropped:0 overruns:0 frame:0&lt;br /&gt;
          TX packets:1 errors:0 dropped:0 overruns:0 carrier:0&lt;br /&gt;
          collisions:0 txqueuelen:0&lt;br /&gt;
          RX bytes:112 (112.0 B)  TX bytes:112 (112.0 B)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Ucarp Seadistammine==&lt;br /&gt;
&lt;br /&gt;
==server1==&lt;br /&gt;
&amp;lt;pre&amp;gt; vim /etc/network/interfaces &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Peaks avanema selline pilt:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# This file describes the network interfaces available on your system&lt;br /&gt;
# and how to activate them. For more information, see interfaces(5).&lt;br /&gt;
&lt;br /&gt;
# The loopback network interface&lt;br /&gt;
auto lo&lt;br /&gt;
iface lo inet loopback&lt;br /&gt;
&lt;br /&gt;
# The primary network interface&lt;br /&gt;
auto eth0&lt;br /&gt;
iface eth0 inet dhcp&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nüüd siis muudame selle ümber:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
root@ubuntu:~# vim /etc/network/interfaces&lt;br /&gt;
# This file describes the network interfaces available on your system&lt;br /&gt;
# and how to activate them. For more information, see interfaces(5).&lt;br /&gt;
&lt;br /&gt;
# The loopback network interface&lt;br /&gt;
auto lo&lt;br /&gt;
iface lo inet loopback&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# The primary network interface&lt;br /&gt;
auto eth0&lt;br /&gt;
iface eth0 inet static&lt;br /&gt;
        ################################&lt;br /&gt;
        # standard network configuration&lt;br /&gt;
        ################################&lt;br /&gt;
        address 192.168.101.138  # meie IP, mis panime alguses&lt;br /&gt;
        netmask 255.255.255.0    # netmask, selle saab ifconfig käsuga&lt;br /&gt;
        gateway 192.168.101.2    # traceroute aitas siin&lt;br /&gt;
        network 192.168.101.0    # natuke tuletamist..&lt;br /&gt;
        broadcast 192.168.101.255 #samuti ifconfig aitab&lt;br /&gt;
&lt;br /&gt;
        ################################&lt;br /&gt;
        # ucarp configuration  #########&lt;br /&gt;
        ################################&lt;br /&gt;
        # vid : The ID of the virtual server [1-255]&lt;br /&gt;
        ucarp-vid 1&lt;br /&gt;
        # vip : Virtuaalne IP aadress&lt;br /&gt;
        ucarp-vip 192.168.101.139&lt;br /&gt;
        # password : Mõlemal pool sama!!!!&lt;br /&gt;
        ucarp-password secret&lt;br /&gt;
        # advskew : Advertisement skew [1-255] # tähendab maakeels seda, et me ei reklaamime ennast koguaeg.&lt;br /&gt;
        ucarp-advskew 1&lt;br /&gt;
        # advbase &lt;br /&gt;
        ucarp-advbase 1&lt;br /&gt;
        # Kontroll, kas oleme peamine server?&lt;br /&gt;
        ucarp-master yes&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# CARP võrgu addressi kirjutame siia lihtsalt&lt;br /&gt;
iface eth0:ucarp inet static&lt;br /&gt;
        address 192.168.101.139&lt;br /&gt;
        netmask 255.255.255.0&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kindlasti tuleb teha võrgule restart, et kõik seaded võetakse kasutusse.&lt;br /&gt;
advskew ja advbase on asjad millega kontrollitakse kui tihedalt brodcastitakse.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/etc/init.d/networking restart &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Peaks avanema midagi sellist:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
root@ubuntu:~# ifconfig&lt;br /&gt;
eth0      Link encap:Ethernet  HWaddr 00:0c:29:6f:d7:c4&lt;br /&gt;
          inet addr:192.168.101.138  Bcast:192.168.101.255  Mask:255.255.255.0&lt;br /&gt;
          inet6 addr: fe80::20c:29ff:fe6f:d7c4/64 Scope:Link&lt;br /&gt;
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1&lt;br /&gt;
          RX packets:1195 errors:0 dropped:0 overruns:0 frame:0&lt;br /&gt;
          TX packets:287 errors:0 dropped:0 overruns:0 carrier:0&lt;br /&gt;
          collisions:0 txqueuelen:1000&lt;br /&gt;
          RX bytes:88166 (88.1 KB)  TX bytes:29985 (29.9 KB)&lt;br /&gt;
&lt;br /&gt;
eth0:ucarp Link encap:Ethernet  HWaddr 00:0c:29:6f:d7:c4&lt;br /&gt;
          inet addr:192.168.101.139  Bcast:192.168.101.255  Mask:255.255.255.0&lt;br /&gt;
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1&lt;br /&gt;
&lt;br /&gt;
lo        Link encap:Local Loopback&lt;br /&gt;
          inet addr:127.0.0.1  Mask:255.0.0.0&lt;br /&gt;
          inet6 addr: ::1/128 Scope:Host&lt;br /&gt;
          UP LOOPBACK RUNNING  MTU:16436  Metric:1&lt;br /&gt;
          RX packets:36 errors:0 dropped:0 overruns:0 frame:0&lt;br /&gt;
          TX packets:36 errors:0 dropped:0 overruns:0 carrier:0&lt;br /&gt;
          collisions:0 txqueuelen:0&lt;br /&gt;
          RX bytes:2712 (2.7 KB)  TX bytes:2712 (2.7 KB)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
See annab meile selguse, et Server1s on Ucarp kasutuses!&lt;br /&gt;
&lt;br /&gt;
==Server2==&lt;br /&gt;
&lt;br /&gt;
Nüüd tuleks teha samasugune muutus ka server 2s.&lt;br /&gt;
Olles laisad, siis saame nüüd kopeerida selle ka teise serverisse, pärast teeme muudatused:&lt;br /&gt;
Paar asja on siin väga tähtsad:&lt;br /&gt;
&lt;br /&gt;
 1.) ucarp-advskew 100 # tähendab maakeeles seda, et me ei reklaami ennast nii tihedalt.&lt;br /&gt;
 2.) ucarp-master no # Server ka ei ole master!&lt;br /&gt;
 3.) IP address peab olema ikka selle serveri oma (192.168.101.140). Muud asjad samad&lt;br /&gt;
 4.) virtuaalsed IP-d peaksid olema need, mis eelmisel serveril.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# This file describes the network interfaces available on your system&lt;br /&gt;
# and how to activate them. For more information, see interfaces(5).&lt;br /&gt;
&lt;br /&gt;
# The loopback network interface&lt;br /&gt;
auto lo&lt;br /&gt;
iface lo inet loopback&lt;br /&gt;
&lt;br /&gt;
# The primary network interface&lt;br /&gt;
auto eth0&lt;br /&gt;
iface eth0 inet static&lt;br /&gt;
        ################################&lt;br /&gt;
        # standard network configuration&lt;br /&gt;
        ################################&lt;br /&gt;
        address 192.168.101.140&lt;br /&gt;
        netmask 255.255.255.0&lt;br /&gt;
        gateway 192.168.101.2&lt;br /&gt;
        network 192.168.101.0&lt;br /&gt;
        broadcast 192.168.101.255&lt;br /&gt;
&lt;br /&gt;
        ################################&lt;br /&gt;
        # ucarp configuration&lt;br /&gt;
        ################################&lt;br /&gt;
        # vid : The ID of the virtual server [1-255]&lt;br /&gt;
        ucarp-vid 1&lt;br /&gt;
        # vip : Virtuaalne IP aadress&lt;br /&gt;
        ucarp-vip 192.168.101.139&lt;br /&gt;
        # password : A password used to encrypt Carp communications&lt;br /&gt;
        ucarp-password secret&lt;br /&gt;
        # advskew : Advertisement skew [1-255] &lt;br /&gt;
        ucarp-advskew 100&lt;br /&gt;
        # advbase : Interval in seconds that advertisements will occur&lt;br /&gt;
        ucarp-advbase 1&lt;br /&gt;
        # master : nüüd me enam ei ole master. Seega määrame ära &amp;quot;no&amp;quot;&lt;br /&gt;
        ucarp-master no&lt;br /&gt;
&lt;br /&gt;
# The carp network interface, on top of eth1&lt;br /&gt;
iface eth0:ucarp inet static&lt;br /&gt;
        address 192.168.101.139&lt;br /&gt;
        netmask 255.255.255.0&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nüüd kui vastavad muudatused on sees, siis teeme ka võrgule restarti&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/etc/init.d/networking restart&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Kui märkasid, siis tegelikult midagi ei juhtunud, kuna oleme mitte masterid!&lt;br /&gt;
Kõik peaks nägema välja nagu endine:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
eth0      Link encap:Ethernet  HWaddr 00:0c:29:99:51:66&lt;br /&gt;
          inet addr:192.168.101.140  Bcast:192.168.101.255  Mask:255.255.255.0&lt;br /&gt;
          inet6 addr: fe80::20c:29ff:fe99:5166/64 Scope:Link&lt;br /&gt;
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1&lt;br /&gt;
          RX packets:213 errors:0 dropped:0 overruns:0 frame:0&lt;br /&gt;
          TX packets:99 errors:0 dropped:0 overruns:0 carrier:0&lt;br /&gt;
          collisions:0 txqueuelen:1000&lt;br /&gt;
          RX bytes:17498 (17.4 KB)  TX bytes:12669 (12.6 KB)&lt;br /&gt;
&lt;br /&gt;
lo        Link encap:Local Loopback&lt;br /&gt;
          inet addr:127.0.0.1  Mask:255.0.0.0&lt;br /&gt;
          inet6 addr: ::1/128 Scope:Host&lt;br /&gt;
          UP LOOPBACK RUNNING  MTU:16436  Metric:1&lt;br /&gt;
          RX packets:18 errors:0 dropped:0 overruns:0 frame:0&lt;br /&gt;
          TX packets:18 errors:0 dropped:0 overruns:0 carrier:0&lt;br /&gt;
          collisions:0 txqueuelen:0&lt;br /&gt;
          RX bytes:1380 (1.3 KB)  TX bytes:1380 (1.3 KB)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==UCARP testimine==&lt;br /&gt;
&lt;br /&gt;
Nüüd on mõlemad serverid paigas ja töötavad Ucarp on mõlemale installitud, kuid hetkel me ikka ei tea, kas Ucarp tegelikult ka töötab.&lt;br /&gt;
&lt;br /&gt;
Kerge test võiks olla selline, et paneme serveri kinni, millel hetkel on ucarp aktiveeritud, minu puhul&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
root@ubuntu:~# shutdown -h now&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nüüd peaksid nägema Server2s (minu puhul) ucarpi aktiveeritult.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ifconfig&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Vastus:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@ubuntu:~# ifconfig&lt;br /&gt;
eth0      Link encap:Ethernet  HWaddr 00:0c:29:99:51:66&lt;br /&gt;
          inet addr:192.168.101.140  Bcast:192.168.101.255  Mask:255.255.255.0&lt;br /&gt;
          inet6 addr: fe80::20c:29ff:fe99:5166/64 Scope:Link&lt;br /&gt;
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1&lt;br /&gt;
          RX packets:1270 errors:0 dropped:0 overruns:0 frame:0&lt;br /&gt;
          TX packets:929 errors:0 dropped:0 overruns:0 carrier:0&lt;br /&gt;
          collisions:0 txqueuelen:1000&lt;br /&gt;
          RX bytes:94480 (94.4 KB)  TX bytes:113861 (113.8 KB)&lt;br /&gt;
&lt;br /&gt;
eth0:ucarp Link encap:Ethernet  HWaddr 00:0c:29:99:51:66&lt;br /&gt;
          inet addr:192.168.101.139  Bcast:192.168.101.255  Mask:255.255.255.0&lt;br /&gt;
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1&lt;br /&gt;
&lt;br /&gt;
lo        Link encap:Local Loopback&lt;br /&gt;
          inet addr:127.0.0.1  Mask:255.0.0.0&lt;br /&gt;
          inet6 addr: ::1/128 Scope:Host&lt;br /&gt;
          UP LOOPBACK RUNNING  MTU:16436  Metric:1&lt;br /&gt;
          RX packets:482 errors:0 dropped:0 overruns:0 frame:0&lt;br /&gt;
          TX packets:482 errors:0 dropped:0 overruns:0 carrier:0&lt;br /&gt;
          collisions:0 txqueuelen:0&lt;br /&gt;
          RX bytes:38580 (38.5 KB)  TX bytes:38580 (38.5 KB)&lt;br /&gt;
&lt;br /&gt;
root@ubuntu:~#&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Annab meile jällegi kindlustunde, et tõesti server1 annab oma asjad üle server2le, kui server1-ga peaks midagi juhtuma.&lt;br /&gt;
&lt;br /&gt;
==UCARP ja Apache koos==&lt;br /&gt;
&lt;br /&gt;
Idee on lihtne. Installime mõlemale serverile apache serveri ja hoiame neid süngis linuxi vahenditega.&lt;br /&gt;
Selleks võib olla rsync või ka tavaline copy cronis :) Hetkel kasutame rsynci.&lt;br /&gt;
&lt;br /&gt;
Installime apachei ja rsynci:&lt;br /&gt;
&lt;br /&gt;
Server1:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
apt-get install apache2 rsync&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Server2:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
apt-get install apache2 rsync&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nüüd on meil 2 serverit, millel on Rsync ja apache2 installitud&lt;br /&gt;
Apache2 hoiab oma asju:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/etc/apache2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Siis tuleks meil kindlasti sünkida seda kataloogi ja samuti ei tohi ära unustada ka kataloogi, kus meie apache asub&lt;br /&gt;
Näiteks:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/var/www/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nüüd paneme oma rsynci tööle, soovitavalt Crontabi. Meil tekkib probleem, et oleks vaja pärast apache2 konfiguratsioonide muutmist ka apache2 uuesti &amp;quot;reloadida&amp;quot;. Selleks kasutame skripti. Hetkel siin kasutamiseks kirjutasin lihtsa skripti, mida saab endale vastavalt kergelt parandada.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
touch /root/apache_rsync.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Anname käivitamise õigused, et pärast ei unustaks:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
chmod 755 apache_rsync.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nüüd, skript ise. Eeldus on see, et mõlemal pool on SSH lubatud!&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
vim /root/apache_rsync.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
#rsync ise&lt;br /&gt;
rsync -avz -e ssh root@192.168.101.138:/home/apache2 /home/apache2/&lt;br /&gt;
rsync -avz -e ssh root@192.168.101.138:/var/www/html /var/www/html&lt;br /&gt;
&lt;br /&gt;
#p2rast asjade yle kopeerimist tuleb teha reaload et teisel pool ikka asjad t66taks.&lt;br /&gt;
/etc/init.d/apache2 reload&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
See nüüd croni server2-le&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
vim /etc/crontab&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Lisage selline rida. Sellega hakatakse rsyncika hoidma servereid sünkroonis. Tehakse iga 15 minuti järgi. Number 15 võib muuta oma äranägemise järgi.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
*/15 * * * * root /root/apache_rsync.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Kokkuvõtteks==&lt;br /&gt;
Võiks öelda, et viimane skript on väga väike ja võiks kõvasti paremaks teha.&lt;br /&gt;
Näiteks: email saatmise sisse panna, sest hetkel me ei tea, millal server1 on põhiline ja millal server2 on põhiline. &lt;br /&gt;
Hetkel teeme eelduse , et server1 sai fataalse errori ja on katki ja pärast selle korda tegemist on see jälle põhiline.&lt;br /&gt;
&lt;br /&gt;
==Kasutatud kirjandus==&lt;br /&gt;
* http://valeriytroshin.blogspot.com/2011/08/carp-failover-redundancy-in-ubuntu-1104.html&lt;br /&gt;
* http://laurentbel.com/2012/04/12/simple-apache-failover-cluster-on-ubuntu-with-config-synchronization/&lt;br /&gt;
* http://www.auul.pri.ee/wiki/Operatsioonis%C3%BCsteemi_Debian_GNU/Linux_kasutamine#ucarp_kasutamine&lt;br /&gt;
* http://www.freebsd.org/doc/handbook/carp.html&lt;br /&gt;
* http://laurentbel.com/2012/04/04/simple-failover-cluster-on-ubuntu-using-carp/&lt;br /&gt;
* http://en.wikipedia.org/wiki/Common_Address_Redundancy_Protocol&lt;br /&gt;
* http://blog.ijun.org/2009/11/high-availability-with-freebsd-and-carp.html&lt;br /&gt;
* http://www.howtoforge.com/how-to-configure-a-pfsense-2.0-cluster-using-carp&lt;br /&gt;
* http://kuutorvaja.eenet.ee/wiki/K%C3%B5rgk%C3%A4ideldavus_UCARP_abil#Paigaldamine_ja_seadistamine_RHEL.2C_CentOS_ja_Fedora_kasutajatele&lt;br /&gt;
* http://www.pureftpd.org/project/ucarp&lt;/div&gt;</summary>
		<author><name>Mmust</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=User_talk:UCARP/CARP&amp;diff=58952</id>
		<title>User talk:UCARP/CARP</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=User_talk:UCARP/CARP&amp;diff=58952"/>
		<updated>2012-12-11T08:29:36Z</updated>

		<summary type="html">&lt;p&gt;Mmust: moved User talk:UCARP/CARP to Carp&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[Carp]]&lt;/div&gt;</summary>
		<author><name>Mmust</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Ucarp&amp;diff=58951</id>
		<title>Ucarp</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Ucarp&amp;diff=58951"/>
		<updated>2012-12-11T08:29:36Z</updated>

		<summary type="html">&lt;p&gt;Mmust: moved User talk:UCARP/CARP to Carp&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;eMail - släng viib punkte ... [[User:Mernits|Mernits]] 00:00, 13 December 2011 (EET)&lt;/div&gt;</summary>
		<author><name>Mmust</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=User_talk:Mmust&amp;diff=58948</id>
		<title>User talk:Mmust</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=User_talk:Mmust&amp;diff=58948"/>
		<updated>2012-12-11T08:26:16Z</updated>

		<summary type="html">&lt;p&gt;Mmust: moved User talk:Mmust to User talk:UCARP/CARP&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[User talk:UCARP/CARP]]&lt;/div&gt;</summary>
		<author><name>Mmust</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Ucarp&amp;diff=58947</id>
		<title>Ucarp</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Ucarp&amp;diff=58947"/>
		<updated>2012-12-11T08:26:16Z</updated>

		<summary type="html">&lt;p&gt;Mmust: moved User talk:Mmust to User talk:UCARP/CARP&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;eMail - släng viib punkte ... [[User:Mernits|Mernits]] 00:00, 13 December 2011 (EET)&lt;/div&gt;</summary>
		<author><name>Mmust</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=User:Mmust&amp;diff=58946</id>
		<title>User:Mmust</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=User:Mmust&amp;diff=58946"/>
		<updated>2012-12-11T08:26:16Z</updated>

		<summary type="html">&lt;p&gt;Mmust: moved User:Mmust to User:UCARP/CARP&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[User:UCARP/CARP]]&lt;/div&gt;</summary>
		<author><name>Mmust</name></author>
	</entry>
</feed>