High Availibility med Ucarp og Debian (Hsrp/Vrp/Carp)

Singlepoint of failures er en driftsmands største mareridt, derfor er der som bekendt flere forskellige måder hvorpå man kan sikre sig mod et altødelæggende takeout. En af de bedre af dem er ved hjælp af en delt-virtuel ip, det fungere ved at to servere f.eks. .1 og .2 tilsammen deler .3 og aftaler indbyrdes hvem der skal svare for ip adressen på et givent tidspunkt.

I Debian er det endda ret nemt at sætte op, i dette eksempel bruger jeg flg. antagelser:

gluster1 : 10.0.0.10
gluster2 : 10.0.0.11
gluster : 10.0.0.13

Både gluster1 og gluster2 er nyinstallerede debian maskiner, ucarp installeret:

root@gluster1:~# apt-get install ucarp
root@gluster2:~# apt-get install ucarp

og /etc/network/interfaces skal se således ud, med den eneste forskel at ip adressen skal rettes i linie 11:

o This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
allow-hotplug eth0
iface eth0 inet static
        address 10.0.0.10
        netmask 255.0.0.0
        gateway 10.0.0.1
        dns-nameservers 8.8.8.8

        ucarp-vid 3
        ucarp-vip 10.0.0.13
        ucarp-password foobar1982
        ucarp-advskew 0
        ucarp-advbase 1
        ucarp-master yes
        iface eth0:ucarp inet static
        address 10.0.0.13
        netmask 255.255.255.255

Genstart begge maskiner, og kør en ifconfig. Master-maskinen, og dermed den som pt. svarer på requests, er den som har flg. entry:

eth0:ucarp Link encap:Ethernet  HWaddr 7e:be:c6:4b:fb:4e
          inet addr:10.0.0.13  Bcast:10.255.255.255  Mask:255.255.255.255
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          Interrupt:8

Start nu en ping til 10.0.0.13 og riv netkablet ud af den maskine, det skulle nu gerne se lidt ala det her:

Mikkels-MacBook-Pro:~ mike$ ping 10.0.0.13
PING 10.0.0.13 (10.0.0.13): 56 data bytes
64 bytes from 10.0.0.13: icmp_seq=0 ttl=56 time=18.906 ms
64 bytes from 10.0.0.13: icmp_seq=1 ttl=56 time=21.460 ms
Request timeout for icmp_seq 2
Request timeout for icmp_seq 3
64 bytes from 10.0.0.13: icmp_seq=4 ttl=56 time=18.851 ms
64 bytes from 10.0.0.13: icmp_seq=5 ttl=56 time=20.590 ms
64 bytes from 10.0.0.13: icmp_seq=6 ttl=56 time=19.179 ms
^C
--- 10.0.0.13 ping statistics ---
8 packets transmitted, 5 packets received, 37.5% packet loss
round-trip min/avg/max/stddev = 18.851/19.797/21.460/1.045 ms

Og hvis du følger det op med at lave en ifconfig på den anden maskine vil du se at den nu er blevet master 🙂

Nu mangler du bare at installere din foretrukne service på begge maskiner 🙂

Dette indlæg blev udgivet i Knowledge Base, Linux, Networking, Old Base. Bogmærk permalinket.

Skriv et svar