als basis hab ich einen lenny per netinstall +
installiertapt-get install sudo vim postfix rsync openssh-server heartbeat ldirectord sysv-rc-conf minicom rcconf rkhunter chkrootkit
Ich möchte 2 LB's laufen lassen wovon jeder der beiden einen Pool an IP Adressen bedient.
lb1 und lb2
Sollte 1er der beiden LB's ausfallen so soll der andere den Pool an IP Adressen übernehmen.
also ww01 oder www02 entsprechend aktiviert werden
Im Prinzip laufen beide für sich schon nur das übernehmen geht nicht ?
wie bekomme ich es hin das wenn der eine ausfällt der andere die Arbeit macht.
verbunden sind sie per nullmodemkabel
Irgendwo fehlt da noch etwas und ich finde es nicht
Abgesehen von der Netzwerkkonfiguration bin ich folgendermaßen vorgegangen
Code: Alles auswählen
echo "1" > /proc/sys/net/ipv4/ip_forward
debugfile /var/log/ha-debug
logfile /var/log/ha-log
logfacility local0
keepalive 2
deadtime 10
udpport 694
baud 19200
serial /dev/ttyS0
bcast eth0
auto_failback on
node lbcisxx01
node lbcisxx02
debug 1
crm yes
Sagt mir das sich beide sehen und online sindsudo crm_mon -i2
einen User habe ich auch hinzugebaut der später änderungen an 2 Konfigurationsdateien vornehmen können soll
kann er auchuseradd -u 107 -g daemon -c 'High Availability Daemon' -d /etc/ha.d/conf had
chown -R had /etc/ha.d/conf
damit der user auch auf die quasi schwestermaschine zugreifen kann würden schlüssel ausgetauscht damit ein zugriff ohne passwd auf das ~ möglich ist um kopieren zu konnen etc ... geht auch
hab ich so gemacht
Meine haresources schut so ausssh-keygen -t dsa
no passwd
scp id_dsa.pub 10.23.5.212:/etc/ha.d/conf/.ssh/authorized_keys2
meine www01 sieht so auslb1 IPaddr::10.1.9.87 ldirectord::www01
lb2 IPaddr::10.1.9.110 ldirectord::www02
die www02checktimeout = 5
checkinterval = 2
autoreload = yes
quiescent = yes
callback = "/etc/ha.d/resource.d/putcfg"
virtual = 10.1.9.87:80
protocol = tcp
scheduler = wlc
checktype = connect
service = http
real = 12.23.1.87:80 gate 100
real = 12.23.2.87:80 gate 100
in der putcfg steht folgendeschecktimeout = 5
checkinterval = 2
autoreload = yes
quiescent = yes
callback = "/etc/ha.d/resource.d/putcfg"
virtual = 10.1.9.87:80
protocol = tcp
scheduler = wlc
checktype = connect
service = http
real = 12.23.1.110:80 gate 100
real = 12.23.2.110:80 gate 100
Ich habe derzeit 2 webserver 10.1.9.87 und 10.1.9.110 die ich wie folgt eingetragen habe#!/bin/sh
chown had.daemon /etc/ha.d/conf/$1
su - had -c "scp -p -q /etc/ha.d/conf/$1 lbcisxx01:/etc/ha.d/conf"
exit $?
sudo ipvsadm -A -t 10.1.9.87:80
sudo ipvsadm -a -t 10.1.9.87:80 -r 12.23.1.87:80 -g -w 100
sudo ipvsadm -a -t 10.1.9.87:80 -r 12.23.2.87:80 -g -w 100
sudo /etc/ha.d/resource.d/IPaddr 10.1.9.87 start
später kommen noch mehr webdienste dazu dazu habe ich auch ein script gefummelt wo mir die ganze tipperei etwas erleichtertsudo ipvsadm -A -t 10.1.9.110:80
sudo ipvsadm -a -t 10..9.87:80 -r 12.23.1.110:80 -g -w 100
sudo ipvsadm -a -t 10.1.9.87:80 -r 12.23.2.110:80 -g -w 100
sudo /etc/ha.d/resource.d/IPaddr 10.1.9.110 start
das script schaut so aus (besser geht immer) und muss per sudo gestartet werden
Code: Alles auswählen
#! /bin/sh
clear
echo Wurde der einzutragende Dienst bereits in /etc/ha.d/haresources eingetragen ?
echo Der neue Dienst muss ebenso in /etc/ha.d/config www01 oder in /etc/ha.d/config www02 eingetragen werden !!
echo Bitte die XLAN IP-Adresse "XLANIPADR" des neuen Dienstes angeben !!
echo Wurde geprüft das diese auch verfügbar ist ?
echo -n "XLANIPADR "
read XLANIPADR
echo
echo Bitte den EXTRENEN Port des neuen Dienstes angeben z.b 80 oder www etc
echo -n "PORTEXT "
read PORTEXT
echo
echo Bitte den INTERNEN Port des neuen Dienstes angeben z.b 80 oder www etc
echo Als Standard gilt PORTEXT = PORTINT
echo -n "PORTINT "
read PORTINT
echo
echo Bitte die 2 DLAN IP-Adressen des neuen Dienstes angeben
echo wie z.b 12.23.1.0 und 12.23.2.0.
echo -n "DLANIPADR1 "
read DLANIPADR1
echo -n "DLANIPADR2 "
read DLANIPADR2
PATHSTART=/etc/ha.d/resource.d/IPaddr
/sbin/ipvsadm -A -t $XLANIPADR:$PORTEXT
echo Externer XLAN Anschluss eingerichtet
/sbin/ipvsadm -a -t $XLANIPADR:$PORTEXT -r $DLANIPADR1:$PORTINT -g -w 100
echo Balancing und Weiterleitung auf 1 eingerichtet
/sbin/ipvsadm -a -t $XLANIPADR:$PORTEXT -r $DLANIPADR2:$PORTINT -g -w 100
echo Balancing und Weiterleitung auf 2 eingerichtet
#Aktivieren der Virtuellen XLAN IP Adresse
echo Die Externe IP wird aufgeschaltet
$PATHSTART $XLANIPADR start
echo Eintrag erfolgreich ?
/sbin/ipvsadm -l
echo Wenn hier die 2 Weiterleitungen der 1 u 2 zu erkennen sind sind die Einstellungen OK
echo Sollte eine Fehlermeldung auftretten bitte SOFORT Prüfen !!!
echo Freischalten in der FW nicht vergessen !!
Code: Alles auswählen
#! /bin/sh
PATHSTOP=/etc/ha.d/resource.d/IPaddr
clear
echo Diese Script muss als root oder per sudo gestartet werden
echo Bitte die XLAN IP-Adresse des zu entfernenden Dienstes angeben
echo Bitte sehr sorgfältig sein und Verwechslungen unbedingt ausschliessen
echo -n "XLANIPADR "
read XLANIPADR
echo Der Port kann bezogen werden durch
echo "ipvsadm -l | grep XLANIPADR"
echo Es werden dadurch die Balancing Einstellungen des ganzen Hosts gelöscht
echo Nicht sicher ? lieber nochmal Prüfen !! wenn weg dann weg !!!!
echo -n "PORTEXT "
read PORTEXT
ipvsadm -D -t $XLANIPADR:$PORTEXT
echo Virtuelles Interface IP und Balancing für die angegebene IP Adresse wurde ausgetragen !!!
echo Virtuelles Interface wird beendet
sudo $PATHSTOP XLANIPADR stop
echo Keine Fehler aufgetretten ?
echo Fertig
Gruß u danke