Verfahren Entwicklung

Apache bietet eine hochverfügbare Load Balance

Apache - In st alla tion unter cent os 7 und automatis cher Start Kee pali ved Inst alla tion Tut orial Inst alla tion Das oben gen annte Tut orial wurde auf beiden Mas chinen inst alli ert [...]

Artikel Ver zeich nis

Apache unter Cent OS 7 inst alli ert und automatis ch gest artet

Kee pali ved Inst alla tion Tut ori als

Inst alla tion Das obi ge Tut orial inst alli ert Apache und Kee pali ved auf beiden Mas chinen .

Kee pali ved für die Konf igur ation der ersten Mas chine

Das Pro fil laut et wie folgt :

Be arbeiten /et c / kee pali ved / kee pali ved . con f

# vi /et c/kee pali ved/kee pali ved . con f : Fü gen Sie Folg endes hin zu

! Konf igur ations date i für Kee pali ved

global _ def {
Noti fication _ Email {
admin@example.com
}
Noti fication _ Email _ vonadmin@example.com
sm tp _ server127.0.0.1
sm tp _ connect _ time out 30
router _ id lin ux 01
}

vr r p _ inst ance VI _ 1 { # Ein Beispiel defini eren
Staat liches Ba cku ps # Set zen Sie das Bac kup ein und ste u ern Sie dann über die Pri orit ät , wel ches Ger ät als prim är er hoben wird .
Sch nitt stelle eth 0
virtual _ ro uter _ id 51
Pri orit ät 100
Nop re emp t Diese Par am eter werden bei der Wieder her stellung mit ho her Pri orit ät eing est ellt .
Ad vert _ int 1 # kann automatis ch über nom men werden
A uth enti zit ät {
aut h _ type PAS S
aut h _ pass 11 11
}
Virtual _ ip add ress
10.0.0.199 dev eth 0 Label eth 0 : 0 # Hier wird das Label verwendet , um eth 0 : 0 zu akti vi eren .
}
}

Virtual _ Server10.0.0.19980 { Hier ist die Defin ition von LV S .
delay _ loop 6
L b _ Al go
l b _ kind DR
nat _ mas ke255.255.255.0
TCP - Protokoll

Real _ Server10.0.0.19180 { Ein er davon ist ein lokal er Web ser vice .
Ge wi chts 1
TCP _ CH EC K
connect _ time out 3
}
}
Real _ Server10.0.0.19280 { Ein weit erer Web ser vice
Ge wi chts 1
TCP _ CH EC K
connect _ time out 3
}
}
}
Die Kee pali ved - D atei en für die zwe ite Mas chine sind wie folgt :

Be arbeiten /et c / kee pali ved / kee pali ved . con f

# vi /et c/kee pali ved/kee pali ved . con f : Fü gen Sie Folg endes hin zu

! Konf igur ations date i für Kee pali ved

global _ def {
Noti fication _ Email {
admin@example.com
}
Noti fication _ Email _ vonadmin@example.com
sm tp _ server127.0.0.1
sm tp _ connect _ time out 30
router _ id lin ux 02
}

vr r p _ inst ance VI _ 1 { # Ein Beispiel defini eren
Staat liches Ba cku ps # Set zen Sie das Bac kup ein und ste u ern Sie dann über die Pri orit ät , wel ches Ger ät als prim är er hoben wird .
Sch nitt stelle eth 0
virtual _ ro uter _ id 51
Pri orit ät 15
Ad vert _ int 1 # kann automatis ch über nom men werden
A uth enti zit ät {
aut h _ type PAS S
aut h _ pass 11 11
}
Virtual _ ip add ress
10.0.0.199 dev eth 0 Label eth 0 : 0 # Hier wird das Label verwendet , um eth 0 : 0 zu akti vi eren .
}
}

Virtual _ Server10.0.0.19980 { Hier ist die Defin ition von LV S .
delay _ loop 6
L b _ Al go
l b _ kind DR
nat _ mas ke255.255.255.0
TCP - Protokoll

Real _ Server10.0.0.19180 { Ein er davon ist ein lokal er Web ser vice .
Ge wi chts 1
TCP _ CH EC K
connect _ time out 3
}
}
Real _ Server10.0.0.19280 { Ein weit erer Web ser vice
Ge wi chts 1
TCP _ CH EC K
connect _ time out 3
}
}
}
Na chd em die Kee pali ved - Kon figur ations date i geändert wurde , beginnen Sie mit der Änderung der Apache - St andard se ite vi / opt / Apache / Apache -2. 4. 29 / ht do cs / index . ht ml , sol ange der Inhalt der beiden Standard date ien nicht ident isch ist .

Start - R ück sch lei fe - Ad resse für das Ger ät

Wie wir alle wissen , wenn manL v SDer dr - M odus muss die Rück sch lei fe - Ad resse auf dem real ser ver starten , so dass der Auf bau der Last ver teilung von zwei Mas chinen , natürlich müssen Sie die entsprech ende Rück sch lei fe - Ad resse auf dem lok alen Computer starten , um die gew ün s chte Funk tion zu erreichen , das Skri pt ist wie folgt : (Die folgenden beiden Sk rip te sind urspr üng lich von Mos qu ito , Mos qu ito Website Ad resse http ://www . wenzi zone . cn)
# vi / us r/lo cal/bin/start lo

#!/ bin / sh

VIP = 10. 0. 0. 199

Der Fall „$1"
Stoppen)
# schließen lo: 0 Schnittstelle

echo $"Lo: 0 Schnittstelle schließen "
/ sbin / route del - host $VIP dev lo: 0
/ sbin / ifconfig lo: 0 ab
echo „0" > /proc/sys/net/ipv4/conf/all/arp_announce
echo „0" > /proc/sys/net/ipv4/conf/all/arp_ignore
echo "0 " > /proc/sys/net/ipv4/conf/lo/arp_announce
echo „0" > /proc/sys/net/ipv4/conf/lo/arp_ignore
;;
Start (
# Start lo: 0 Schnittstelle

echo $"Start lo: 0 Interface"
/ sbin / ifconfig lo: 0 $VIP / 32 broadcast $VIP up
/sbin/route add - host $VIP dev lo: 0
echo "2 " > /proc/sys/net/ipv4/conf/all/arp_announce
echo „1" > /proc/sys/net/ipv4/conf/all/arp_ignore
echo "2 " > /proc/sys/net/ipv4/conf/lo/arp_announce
echo "1 " > /proc/sys/net/ipv4/conf/lo/arp_ignore
;;
*)
echo $"Nutzung: $0 (start)| Stoppen)
Ausfahrt 1
;;
ESAC

Aber da Keepalived nicht wie Heartbeat lDirectord hat, um den Start und das Stoppen der Loop-Adresse zu steuern, müssen wir künstlich entscheiden, auf welchem Computer die Loop-Adresse gestartet werden sollte, so dass Mosquito das folgende Skript geschrieben hat:

# vi / usr / local / bin / check _ interface

#!/ bin / bash
#
Autor: Mosquitoes
#
# Das Skript erklärt:
Dieses Skript bestimmt, ob der aktuelle Server Master ist.
# Wenn der aktuelle Server nicht Master ist, wird die Rückschleife-Adresse gestartet.
# Andernfalls beenden Sie die Rückschleife-Adresse
#
# VIP _ interface Bitte selbst einstellen, dies ist die VIP-Schnittstelle.
# lo _ interface Bitte selbst einstellen, ist eine Rückschleife-Adresse Schnittstelle

VIP_interface = " eth0:0 ′′
lo_interface = „lo:0"

I = 10

während [$i! =] [0]
Do
/ sbin / ifconfig| grep $VIP _ interface &> / dev / null
Retval = $?
Wenn [! $retval -eq 0];
/ sbin / ifconfig| grep $lo _ interface &> / dev / null
Retval = $?
Wenn [! $retval -eq 0];
/ usr / local / bin / startlo start
fi
Mehr
/ sbin / ifconfig| grep $lo _ interface &> / dev / null
Retval = $?
wenn [$retval - eq 0]; dann
/ usr / local / bin / startlo stop
fi
fi
I = 10
Schlafen 10
Done

Nachdem beide Maschinen zwei neue Skripte erstellt haben, ist alles bereit für den Test.

Zuerst müssen alle erforderlichen Skripte mit ausführbaren Rechten festgelegt werden. Entsprechende Dienstleistungen starten

A. Apache wird nicht gestartet.
# / usr / local / bin / check _ interface
C, # service keepalived start
Wenn keine Fehler gemeldet werden, ist der Dienst gestartet, das Keepalived-Protokoll ist in / var / log / messages gespeichert, wenn es Fehler gibt, überprüfen Sie bitte selbst

Test 1: Testen der Lastverteilung im aktuellen Zustand

Methode: Öffnen Sie den IE-Browser, geben Sie http://192.168.211.110 ein, und verwenden Sie Ctrl + F5 zum erneuten Aktualisieren, um den Inhalt der Webseite zwischen Linux01 und Linux02 zu sehen.

Test 2: Beenden von linux01 Keeppalive, Testen Sie den Load Balancing-Zustand

Methode:

A, /etc/init.d/keeppalived stop
Warten Sie dann ein paar Sekunden, um zu sehen, dass die lo: 0 - Adresse auf Linux01 gestartet wurde und dass die lo: 0 - Adresse auf Linux02 gestoppt wurde.

Öffnen Sie den IE-Browser, geben Sie http://192.168.211.110 ein und benutzen Sie Ctrl + F5 zum erneuten Aktualisieren, um den Inhalt der Webseite zwischen Linux01 und Linux02 zu wechseln.

Test 3: Öffnen Sie keeppalived auf Linux01 und beobachten Sie, ob Linux01 zurück zu master wechselt

Methode: Starten Sie das Keepalived-Programm, verwenden Sie ifconfig, um zu beobachten, dass die eth0: 0 - Schnittstelle auf linux01 gestartet wurde, während die lo: 0 - Schnittstelle auf linux02 gestoppt wurde, während die lo: 0 - Schnittstelle gestartet wurde.

Apache Dual-Computer High Availability Load Balancing Tutorial wurde geschrieben, was Fragen können Sie unten einen Kommentar zu diskutieren.