PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Server mit zwei Netzwerkkarten dns installieren



Seiten : [1] 2

gnoovy
12.07.06, 10:55
hi leutz,


folgendes Problem: Ich möchte ein Linux-HA-Cluster einrichten. Das Cluster an sich funktioniert wudnerbar. Es stehen jeweils zwei Server mit zwei Nics zur Verfügung. Eine Nic ist jeweils am Switch angeschlossen, die andere NIC ist mit dem anderen Server mittels CrossoverKabel verbunden, denn darüber wird der heartbeat kontrolliert. Fällt Node1 aus, soll automatisch Node2 übernehmen. Jetzt möchte ich nun auf dem Node1 einen DNS-Server einrichten. Bei Linux-HA ist es allerdings so, dass man eine IP-Adresse festlegen soll, über dass alle Dienste laufen, egal welche IP ich wirklich irgendeiner NIC zugeordnet habe. Wie kann ich nun dem DNS-Server mitteilen, dass er auf einer bestimmten IP laufen soll? Kann ich mittels Datenabgleich bei einem dyndns-server die Journal-Dateien einfach auf Node2 kopieren, sodass er bei einer eventuellen Übernahme auch gleich alle vorhandenen Client-Einträge parat hat?


Besten Thanks


greetz
gnoovy

gnoovy
12.07.06, 14:00
hi leutz,


ok das problem ist jetzt gelöst

node1

eth0: 192.168.100.1
eth1: 192.168.100.2

clusteradresse: 192.168.100.253


node2:

eth0: 192.168.100.3
eth1: 192.168.100.4

clusteradresse: 192.168.100.253


Beide Nodes kommunizieren über eth1 und nehmen entweder beim Erstbetrieb (node1) oder bei Ausfaff (node2) die IP-Adresse 192.168.100.253 an. Allerdings wenn ich jetzt einen ping mache, etwa ping dom1 pingt er mir mit der 192.168.100.1, nicht mit 192.168.100.253. Wenn Node2 übernimmt, geht dieser ping gar nicht. Wie kann ich es jetzt noch einstellen, dass er mir egal bei welchem Node immer auf 192.168.100.253 pingt??

bla!zilla
12.07.06, 14:35
eth0 ist dein Produktivnetz und eth1 für den Heartbeat? Wenn ja, nimm bitte für den Heartbeat ein anderes Netz. Die IPs für das Heartbeat-Netz müssen nicht im DNS hinterlegt sein.

gnoovy
13.07.06, 00:26
aber is ja eigendlich egal, oder????


aber wie konfiguriere ich jetzt genau richtig? auch zur obrigen Frage???

gnoovy
13.07.06, 01:38
aber irgendwie weiss ich jetzt trotzdem nicht, wie ich den DNS-Server richtig konfigurieren soll und wie ich die Daten richtig von node1 auf node2 aktualisieren kann und /oder umgekehrt. Das alles soll mal dyndns werden. Das heisst es kommen automatisiert irgendwelche Windows-Clients hinzu. Wie können diese Daten auf Node2 aktualisiert werden, wenn Node1 ausfällt?

gnoovy
22.07.06, 13:35
also soweit funktioniert alles. Allerdings ein Problem bleibt nocht. Wenn Node2 übernehmen soll, unter anderem auch Samba, dann klappt das eigendlich alles problemlos. Kopiere von Node1 auf Node2 die /etc/passwd /etc/shadow /etc/samba und /var/cache/samba. Auf Node2 kann ich mich nach der Umstellung perfekt einloggen. Die Batchdatei wird herforragend abgearbeitet, usw. Wenn Node1 wieder übernehemen soll, dann werden oben genannte Kopieraktionen eben von Node2 auf Node1 gemacht. Anmelden klappt dann auf Node1 auch problemlos. Mittels Netwerkumgebung kann ich dann auch weiterhin (windows xp sp1) auf meine Daten zugreifen. Allerdings verweigert er mir die Verarbeitung der Batchdatei. Er sagt, dass entweder die Informationen vom Domänencontroller nicht gelesen werden können, oder das der Zugriff verweigert wird. Nach einem Neustart des Clients funktioniert es wieder. Was kann das sein??

bla!zilla
22.07.06, 14:04
aber is ja eigendlich egal, oder????


aber wie konfiguriere ich jetzt genau richtig? auch zur obrigen Frage???

Nein, ist nicht egal. Zwei Interfaces im gleichen IP Subnetz gibt nur Probleme. Zudem ist das Heartbeat Netz nicht public, braucht daher keine Einträge im DNS. Hey, ich dachte du baust ein Cluster, da gilt KISS - Keep it small and simple. ;)

gnoovy
22.07.06, 14:22
hi leutz,

jo habe alles nochmals umkonfiguriert das IP-Subnetz von heartbeat ist jetzt 192.168.1.0. die hab ich auch nicht im DNS drinne. Habe jetzt Node1 eth0 die 192.168.100.1 und Node2 eth0 die 192.168.100.2 gegeben. Im DNS habe ich Node 1 (dom1) mit der clusteradresse 192.168.100.253 hinterlegt. Node2 (Dom2) mit der IP-Adresse 192.168.100.2. Wenn Node1 ausfällt, übernimmt ja automatisch Node2. Gebe ich jetzt ping dom1 ein, gibt er mir auch hier wunderbar 192.168.100.253 aus. Bei ping Dom2 logischerweise die 192.168.100.2. Also dürfte doch soweit alles funktionieren oder??? Aber weisst du auch schon ne Lösung zur Sambaproblematik??

bla!zilla
22.07.06, 14:49
Dein Test ist nur so korrekt:

1. Ping Node1
2. Ping Node2
3. Ping Cluster
4. Failover des Clusters von Node1 auf Node2
5. Ping Node1
6. Ping Node2
7. Ping Cluster

Wenn das alles korrekt durchgelaufen ist, scheint alles okay zu sein. Du kannst vor dem Failover des Clusters ja mal die MAC Adresse, der zur IP-Adresse des Clusters gehört, im ARP Table aufschreiben. Dann das Clustern schwenken und erneut das Cluster anpingen. Dann wieder die MAC Adresse im ARP Table prüfen. Dort sollte nun die MAC Adresse von Node 2 stehen.

Bezüglich Samba habe ich mich keine Gedanken gemacht.

gnoovy
22.07.06, 15:14
hi leutz,


also test ergab folgende Werte:


ping dom1 ergab 192.168.100.253 (Clusteradresse)
ping dom2 ergab 192.168.100.2
ping 192.168.100.253 war positiv

Mac-Adresse von 192.168.100.253 ist gleiche wie die von 192.168.100.1

Failover:

ping dom1 ergab 192.168.100.253 (Clusteradresse)
ping dom2 ergab 192.168.100.2
ping 192.168.100.253 war positiv

Mac-Adresse von 192.168.100.253 ist gleiche wie die von 192.168.100.2

dyndns aktualisierungen klappen auch einwandfrei. Kopiere natürlich mittels ssh und rsync die Daten immer hin und her, um Änderungen egal auf welchem Node immer aktuell zu halten, und somit natürlich auch redundant. DHCP funktioniert auch einwandfrei. Allerdings sagt er mir hier immer, dass halt entweder 192.168.100.1 oder 192.168.100.2 DHCP-Server sind und nicht 192.168.100.253. Kann man das noch irgendwo einstellen. Bei dyndns konnte ich schließlich auch einstellen, dass er mir auf der ip 192.168.100.253 laucht. Wüsstest du dann noch mit Samba an wehn ich mich da wenden könnte. Oder meinst des is normal, dass er bei der Umstellung von Node auf Node1 rumzickt. Den wenn der Client neugestartet wird, funktioniert ja alles wieder. Also denke ich mal, dass des Clientbedingt ist. Momentan ist halt ein Windows XP SP1 - Client in der Testumgebung integriert.

bla!zilla
22.07.06, 16:18
wenn der Cluster den Failover vollzogen hat, welche MAC Adresse steht an dem Client im ARP Table? Die vom alten, oder vom aktuellen Node?

gnoovy
22.07.06, 16:48
hi leutz,


also hab dies halt mittels ifconfig überprüft. Dort ist dann die Mac-Adresse jeweils die vom aktuellen Node, der gerade die Aufgaben übernehmen soll.

bla!zilla
23.07.06, 15:21
Nicht ifconfig, der Befehl bei Windows lautet "arp -a". Da müsste, nach dem Failover, für die IP-Adresse des Clusters die MAC-Adresse vom Node2 (wenn Node1 vorher das Cluster gehalten hat) stehen. Steht da die MAC von Node1, dann ist das dein Problem - Windows aktualisiert den ARP Table nicht.

gnoovy
23.07.06, 16:20
hi leutz,


also in der Tat habe ich dort merkwürdiges erfahren:

Folgende Konfig ist in meinem Cluster

Node1
Name : Dom1
eth0: 192.168.100.1
eth1: 192.168.1.1

Node2
Name: Dom2
eth0: 192.168.100.2
eth1: 192.168.1.2

Clusteradresse des Heartbeat-Clusters: 192.168.100.253

Wenn Node1 am Start ist, steht bei WinXP mittels arp-a die Clusteradresse und die MAC-Adresse von eth0. Wenn Node2 am Start ist, steht nach dem Ab-Anmelden die Clusteradresse und die MAC-Adresse von eth0 von Node2. Wird jetzt wieder Node1 am Start gebracht, dann steht nach dem Ab-Anmelden die IP-Adresse 192.168.100.1 und die MAC-Adresse dazu drinne, inclusive die Clusteradresse und ebenfalls die gleiche MAC-Adresse, also eth0. Soll heißen, obiger Eintrag ist eigendlich Falsch. Nur warum kommt er und könnte das der Fehler sein??? Wenn ja wie korrigieren

Pingu
23.07.06, 16:32
Hi,

ich selber habe zwar noch kein HA im Einsatz. Aber ich sehe bei Deine Konfiguration ein kleines Problem: Du hast jeweils eth0 für das Netz und eth1 für den Heartbeat. Was passiert wenn Du einen Fehler nur auf eth0 hast, zum Beispiel ist das Routing auf dem aktiven Server für eth0 fehlerhaft oder eth0 hat gar einen Hardwarefehler? Das Heartbeat dagegen funktioniert auf eth1 weiter. Dann ist der aktive Server nicht mehr erreichbar und der redundante Server denkt, der aktive wäre noch erreichbar.

Müßte daher die Überwachung nicht im selben, physikalischen Netz stattfinden?

Pingu

bla!zilla
23.07.06, 16:34
Der oft zitierte SPoF. Solche Dinge sollten von der Clustersoftware geprüft, abgefangen und ein Failover initiiert werden. Ob Heartbeat das tut? Keine Ahnung. :) Aber im Prinzip hast du Recht.

gnoovy
23.07.06, 16:41
stimmt das wäre ein Problem. Aber heartbeat ist auf dieser Lokik aufgebaut. Ich beispielsweise würde dann in der Produktivumgebung, wenn das jetzt mit Samba geklärt wird, sowieso mittels crontab von Node1 auf Node2 Sicherungen mittels ssh und rsync machen. Da ja rsync coolerweise bitweise aktualisieren kann, kannst du etwa alle 10 Minuten ne Sicherung auf Node2 machen. also Firmendaten, DNS-Ordner, Samba-Ordner, Passwd, Shadow, etc. Falls jetzt dein Problem auftreten würde, könnte ich als Admin einfach den zweiten Stecker ziehen, sodass Node1 komplett down ist und Node2 übernimmt. Wärend dessen könnte ich ja ganz locker ne neue Netzwerkkarte verbauen. Wäre Node1 wieder einsatzbereit, einfach diesen wieder reinhängen. Node2 erkennt das ja automatisch und Node1 übernimmt wieder alle Dienste. Diese sind ja in ner speziellen Datei eingetragen. Dort habe ich auch etwa nen Script hinterlegt, dass vor allen Diensten steht. Dieses Script wird also als erstes aufgerufen. Dort stehen auch rsync-sicherungen drinne. Soll heißen, dass er mir befor irgendwelche Dienste gestartet werden, er mir erst alle Sicherungen, also genau anderes herum wie oben beschrieben bei Node1 nach Node2, durchführt. Sind alle aktuellen Daten wieder auf Node1 werden die Dienste gestartet.

bla!zilla
23.07.06, 16:53
Lass das mit Rsync und schau dir mal DRBD an. Vom Konzept her deutlich besser.

gnoovy
23.07.06, 17:01
hi leutz,


jo mag besser sein, habe aber jetzt schon alles so aufgebaut und will des jetzt so eigendlich schon auch lösen, das wurmt mich so he.. Wüsstest du jetzt vielleicht noch, wie man das mit Samba in den Griff bekommen könnte. Dieses DRBD ist glaube ich ne Art Softwarespeigelung, gelle? War da auch mal auf der Seite, aber mit dem ganzen Englisch ist mir das echt a bisserl zu kompliziert?? :o :rolleyes: :cool:

bla!zilla
23.07.06, 17:08
Ja was habe ich denn oben geschrieben? Du musst erstmal prüfen ob der Client die MAC nach dem Failover korrekt über einen neuen ARP Request bekommt. Danach holst du mal den Packetsniffer raus und schaust dir mal den Verkehr an. Die von dir genannten Fehlermeldungen deuten auf ein Problem mit dem Netzwerk oder der Namensauflösung hin. Aber ohne das man sich das mal mit einem Sniffer angesehen hat, wird´s schwer.

DRBD stellt Blockdevices dar, die über ein Netzwerk synchron gehalten werden. Eignet sich für Cluster deutlich besser als rsync. Wenn du es richtig machen willst, hättest du eh ein Shared-Storage gebraucht. Aber kommt halt immer auf den Usecase an.

gnoovy
23.07.06, 17:44
das mit dem arp hab ich doch geschrieben. Wenn du sagst falsche Namensauflösung, soll ich dir mal meine DNS-Config posten??? Gut mit Sniffern kenne ich mich leider net aus shit. Also was er halt in seinem Arp-Cache stehen hat habe ich weiter oben, soll ich noch irgendwas posten??

bla!zilla
23.07.06, 18:09
Wenn Node1 am Start ist, steht bei WinXP mittels arp-a die Clusteradresse und die MAC-Adresse von eth0. Wenn Node2 am Start ist, steht nach dem Ab-Anmelden die Clusteradresse und die MAC-Adresse von eth0 von Node2. Wird jetzt wieder Node1 am Start gebracht, dann steht nach dem Ab-Anmelden die IP-Adresse 192.168.100.1 und die MAC-Adresse dazu drinne, inclusive die Clusteradresse und ebenfalls die gleiche MAC-Adresse, also eth0. Soll heißen, obiger Eintrag ist eigendlich Falsch. Nur warum kommt er und könnte das der Fehler sein??? Wenn ja wie korrigieren


Sorry, aber das ist zu verwirrend geschrieben. Verstehe ich das richtig:

Die MAC-Adresse, die im ARP Table für die IP-Adresse vom Cluster steht, ist vor dem Failover die von Node1, und nach dem Failover von Node2. Korrekt? Aber du musst dich am Client Ab- und wieder anmelden, richtig?

Bitte schreibe sowas strukturierter, ich habe keine Lust ständig nachzufragen.

gnoovy
23.07.06, 18:23
hi leutz,

ok sorry is aber auch a bisserl blöd zum schreiben.

Also nochmal:

Folgende Konfig ist in meinem Cluster

Node1
Name : Dom1
eth0: 192.168.100.1
eth1: 192.168.1.1

Node2
Name: Dom2
eth0: 192.168.100.2
eth1: 192.168.1.2

Clusteradresse des Heartbeat-Clusters: 192.168.100.253


Node1 ist aktiv:

Winxp arp-a

192.168.100.253 <MAC-Adresse>

Die MAC-Adresse ist bei der Clusteradresse also genau die gleiche, wie bei eth0 von Node1.

Node1 fällt aus
Node2 ist aktiv

Winxp arp-a

192.168.100.253 <MAC-Adresse>

Jetzt hat die Clusteradresse die MAC-Adresse von eth0 von Node2 bekommen, davor war es ja eth0 von Node1.

Node1 wird wieder aktiv.
Node1 ist aktiv

Winxp arp-a

192.168.100.1 <MAC-Adresse>
192.168.100.253 <MAC-Adresse>

Jetzt wird der Clusteradresse wieder die MAC-Adresse von eth0 Node1 gegeben. Allerdings wird jetzt auch die Original IP-Adresse von Node1 aufgelistet, also hier die 192.168.100.1. Da ja dies eth0 ist, stehen jetzt bei beiden IP-Adressen die gleichen MAC-Adressen, verstanden? Weiss jetzt halt net, ob dass das Problem ist. Mit dem An-Abmelden hab ich einfach mal so gemacht zum testen.

bla!zilla
23.07.06, 19:48
Das sieht doch alles gut aus. Ist das Verhalten der Windows Maschine das gleiche wenn du dich nicht ab- und abmeldest?

gnoovy
23.07.06, 20:09
hi leutz,


interessante Sache. Habe deine Frage mal getestet. also folgendes Szenario hab ich jetzt mal durchgeführt.

Node1 ist kativ

Per WindowsXP an Node1 angemeldet. Batchdatei wurde ja ohne Verwunderung ausgeführt. Gemapptes Laufwerk vorhanden. Zugriff ja ebenfalls problemlos.

Hinweis: WinXP wurde nicht Ab-Angemeldet, sondern die ganze Zeit über, egal welcher Node aktiv ist oder nicht, in der Domäne belassen

Node1 defekt Node2 aktiv

Auf gemapptes Laufwerk kann weiterhin perfekt zugegriffen werden, obwohl ja jetzt Node2 dahintersteckt

Node1 ist wieder da Node2 inaktiv

Kann ebenfalls ohne Probleme auf gemapptes Laufwerk zugreifen. Scherzeshalber über Netzwerkumgebung die Batchdatei nochmals ausgeführt. Diesmal gabs keine Probleme mit dem erneuten verbinden. Muss irgendwie mit dem Ab- Anmelden zusammenhängen, was meinst du??

bla!zilla
24.07.06, 08:27
Ich kenne deine Login-Skript nicht. Aber langsam blicke ich bei dir nicht mehr durch. Wann hast du jetzt die Probleme? Ich dachte wenn du dich nicht ab- und anmeldest fällt der Client auf die Nase?

gnoovy
24.07.06, 13:00
hi bla!zilla


ne genau anders herum :) Als ich mich immer Ab-Angemeldet hatte, da kamen die Probleme. Also an Node1 angemeldet, da funktionierte ja noch alles super. Dann Abgemeldet. Node2 wird nun aktiv. Wieder Angemeldet. Alles funktioniert wieder problemlos. Wieder Abgemeldet. Node1 ist wieder aktiv. Erst jetzt kommen die Probleme. Also dass die Batchdatei kein Laufwerksmapping mehr machen kann. Per Netzwerkumgebung kann ich ja einwandfrei auf die Daten zugreifen. Versuche ich aber auch manuell Ordner auf dem Server zu verbinden gehtvauch nicht. Erst nach einem Neustart des Clients. Bei dem Test als ich den Client nie Ab-Angemeldet hatte hatte immer alles ordnungsgemäß funktioniert.

Batchdatei sieht ungefähr wie folgt aus:

@echo off

echo ***Laufwerke loeschen***

net use * /d /Y

echo ***Laufwerke verbinden***

net use l: \\dom1\daten1


Wenn die Probleme auftreten kann ich ja wie gesagt auch über die Netzwerkumgebung daten1 nicht mappen. Wenn ich jetzt allerdings anstatt dom1 die clusteradresse eingebe funktionierts wieder. Falls ich in der Batchdatei nicht dom1, sondern 192.168.100.253 eingebe, kann ich genau anderes herum in der Dos-Box mittels dom1 ne Verbindung machen. Ungefähr verstanden??? Is irgendwie voll kompliziert die Sache, bitte nicht sauer sein...

bla!zilla
24.07.06, 13:16
Hi,

dann pack mal den Packetsniffer aus und schau dir mal den Netzwerkverkehr an. Ohne genaue Analyse kann ich auch nicht mehr sagen.

gnoovy
25.07.06, 15:56
hi bla!zilla


also habe ja wieder das Testzenario mit dem Ab-anmelden gemacht. Und wie gesagt, wenn Node1 ja wieder am Start ist, kommt ja der Fehler mit dem Laufwerksmapping. also folgendes habe ich mal mit nem Sniffer abgefangen. Habe es mal als Screenshots beigefügt. Hoffe es hilft weiter.

bla!zilla
25.07.06, 16:05
Nein, hilft nicht weiter. :) Da muss man sich schon mehr als nur drei Pakete angucken.