Kõrgkäideldavus UCARP abil

Allikas: Kuutõrvaja
Redaktsioon seisuga 22. august 2016, kell 15:56 kasutajalt Jj (arutelu | kaastöö) (Paigaldamine ja seadistamine FreeBSD kasutajatele)
(erin) ←Vanem redaktsioon | Viimane redaktsiooni (erin) | Uuem redaktsioon→ (erin)

UCARP tarkvara abil on üsna lihtsalt võimalik korraldada kahe või enama arvuti nn aktiivset/passiivset klastrit kasutades CARP protokolli. Klastri igal arvutil on oma individuaalne IP aadress, ning lisaks on kogu klastri peale üks virtuaalne IP aadress, millelt on kättesaadav klastri pakutav teenus. Sõltuvalt sellest, kuidas on klastri osalised masteri osas kokku leppinud, on virtuaalne IP parasjagu masteriks oleva arvuti küljes ja teised on nö kõrval-seisvas (ingl. k. standby) asendis. UCARP on võrreldes keepalived või heartbeat tarkvaraga tagasihoidlikemate omadustega, kuid mõnel juhul võib just see ollagi eeliseks.

Paigaldamine ja seadistamine Debiani ja Ubuntu kasutajatele

Tarkvara paigaldamiseks tuleb öelda:

 # apt-get install ucarp

Kogu seadistus käib /etc/network/intefaces faili kaudu. Järgnevalt lihtne näidiskonfiguratsioon kahest arvutist koosneva klastri jaoks, kus klastri ID (ucarp-vid) on 1.

Esimeses arvutis:

 auto eth0
 iface eth0 inet static
   address 192.168.10.51
   gateway 192.168.10.1
   netmask 255.255.255.0
  
   ucarp-vid 1
   ucarp-vip 192.168.10.50
   ucarp-password test1234
   ucarp-master yes
 
 iface eth0:ucarp inet static
   address 192.168.10.50
   netmask 255.255.255.0

Teises arvutis:

 auto eth0
 iface eth0 inet static
   address 192.168.10.52
   gateway 192.168.10.1
   netmask 255.255.255.0
  
   ucarp-vid 1
   ucarp-vip 192.168.10.50
   ucarp-password test1234
   ucarp-master no
 
 iface eth0:ucarp inet static
   address 192.168.10.50
   netmask 255.255.255.0

Lisainfot ja UCARP-i kõigi võimalike seadistusvõtmete kirjelduse leiab /usr/share/doc/ucarp/README.Debian failist. Kui ucarp-* seadistused on interfaces failis olemas, siis käivitatakse alglaadimisel kõik juba automaatselt.

Paigaldamine ja seadistamine RHEL, CentOS ja Fedora kasutajatele

Tarkvara paigaldamiseks tuleb öelda:

 # yum install carp

Seadistamiseks tuleb kõigepealt tekitada /etc/sysconfig/carp/vip-001.conf fail, kus number on klastri unikaalne ID. See fail on kõigil klastri osalistel sama. Sisu kõige lihtsamal juhul selline:

 PASSWORD="test1234"
 BIND_INTERFACE="eth0"
 VIP_INTERFACE="eth0:ucarp"
 OPTIONS="-P"

Teiseks on vaja luua konfiguratsioon eth0:ucarp võrguliidese jaoks, selleks kirjutame /etc/sysconfig/network-scripts/ifcfg-eth0:ucarp sisse:

 DEVICE=eth0:ucarp
 BOOTPROTO=static
 ONBOOT=yes
 IPADDR=192.168.10.50
 NETMASK=255.255.255.0

Ka see fail on kõigil klastri osalistel sama. Oletame siinkohal, et eth0 seadistused on juba olemas ja ifcfg-eth0 sisu ei esita.

Paigaldamine ja seadistamine FreeBSD kasutajatele

Kui nüüd aus olla siis ma pole kindel kas FreeBSD carp omab mingit kokkupuudet ucarpiga kuid tööpõhimõte on piisavalt sarnane st ta kasutab samuti ucarp protokolli.

Esiteks tuleb lisada faili

/boot/loader.conf

carp_load="YES"

Esimese node seadistus /etc/rc.conf

ifconfig="inet vhid 1 advskew 100 pass parool 193.40.0.13/26"

Teise node seadistus /etc/rc.conf

ifconfig="inet vhid 1 advskew 200 pass parool 193.40.0.13/26"

Kumb neist on master määratakse advskew muutujaga, masin millel on väärtus väiksem hoiab aktiivset IPd enda käes. Ifconfiguga näeb interfacel juures muutujat carp ja seda kas väärtus on master või backup.

ix0: flags=8943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST> metric 0 mtu 1500 
	options=303<RXCSUM,TXCSUM,TSO4,TSO6>
 	ether 82:e5:6b:6a:6d:35
	nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL>
	media: Ethernet autoselect (10Gbase-Twinax <full-duplex,rxpause,txpause>)
	status: active
	carp: MASTER vhid 1 advbase 1 advskew 0

Keerukamad lahendused

Aliase kasutamine

ifconfig_alias0="inet vhid 1 advskew 0 pass parool 193.40.0.13/26"

Alias koos vlaniga, nagu näha ei pea enam vlani seadistust teistkorda kirjutama

ifconfig_41_alias0="inet vhid 1 advskew 0 pass parool 193.40.0.13/26"

Ja carp vlan seadmele ipv6 jagamine

ifconfig_vlan41_ipv6="inet6 2001:bb8:2001:1::13 prefixlen 64 vhid 130 advskew 0 pass parool"

Vlanide kasutamine

cloned_interfaces="vlan41"
ifconfig_vlan41="inet vhid 1 advskew 200 pass parool 193.40.0.13/26 vlan 41 vlandev igb0"

Mõningad CARPi käsud

ifconfig vlan40 vhid 1 state <master/backup>

Lõpetuseks

Nagu eelnenust näha, on klastri osaliste seadistamisel ainus erinevus võrguliidese eth0 IP aadressis, mis on igal klastri osalisel oma. Virtuaalse liidese eth0:ucarp IP on alati ühine. Kindlasti tuleb tähele panna, et kõigil ühes klastris olevatel arvutitel oleks sama klastri ID ja parool (password). Kui samas võrgus on soov käivitada mitu klastrit, siis peab erinevatel klastritel olema erinev ID ja soovitavalt ka parool, muidu võib tekkida suur segadus.

Kui kõik on õigesti seadistatud ja klastri osalised käivitatud, siis peab ühes arvutis (sel hetkel master) lisaks tavalistele võrguseadmetele ilmuma seade eth0:ucarp

 eth0:ucarp Link encap:Ethernet  HWaddr 70:01:68:01:00:51  
         inet addr:192.168.10.48  Bcast:192.168.10.255  Mask:255.255.255.255
         UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1

Testimiseks võib selle arvuti välja lülitada, peale mida mõne sekundi möödumisel peab sama seade ja IP aadress ilmuma teises klastriosalises.