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 🙂