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.