4 über kreuz verbundene Server machen Probleme, Ping geht mal, mal nicht?!
... bei Vollverfügbarkeitslüsung mit Datacore und Xen
Hallo,
ich habe zur Zeit mit einem großen Problem zu kämpfen. Eventuell hat das gar nichts mit dem Problem zu tun, aber hier trotzdem kurz zur Ausgangslage:
Ich habe 2 Fujitsu TX300 S6 Server mit 2 x 250 GB SATA HDDs die im RAID-1 laufen und 4 x 450 GB SAS HDDs die im RAID-5 laufen. Auf dem RAID-1 ist je ein Windows Server 2008 Standart englisch in 64 Bit installiert und da drauf läuft dann eine Datacore SANmelody. Diese virtualisiert das RAID-5 und erzeugt eine SAN, die dann wieder den XenServern zur Verfügung gestellt wird.
Zusätzlich gibt es 2 Fujitsu TX200 S5 auf dennen je ein XenServer 5.5.0 läuft, welche dann die Datacore SAN bekommen sollen. Auf dieser SAN liegen dann die Dateien der virtuellen Maschinen. Die SAN ist dann also über iSCSI an die Xen Server angebunden.
Um auch einen abgerauchten Datacore oder Xen abfangen zu können ist die Verkabelung doppelt ausgeführt. Einmal über kreuz zum jeweiligen anderen Server (also von Datacore1 zu Xen2 und von Datacore2 zu Xen1) und einmal auf die gleiche Seite (von Datacore1 zu Xen1 und von Datacore2 zu Xen2). Zusätzlich kommt für alle Server noch eine Netzwerkverbindung für das Management dazu (XenCenter für die Xen und Remote Desktop für die Datacore Server). Bei den Datacore Servern kommt noch eine weitere Verbindung zum anderen Datacore Server für die Syncronisierung dazu. Die Verbindungen laufen direkt von Server zu Server. Nur die jeweilige Managementverbindung hängt an einem Switch, der wiederrum am LAN hängt. Außerdem ist am Switch noch ein Notebook zur Verwaltung angeschlossen. Hier noch eine kurze Grafik wie das ganze aufgebaut ist (Das "PCI Slot 6" bedeutet so viel wie "Die Netzwerkkarte, die in PCI Slot 6 eingebaut ist):
Nachdem ich alles verkabelt, die IPs vergeben und mehrfach überprüft habe wollte ich durch Pingen versuchen, die richtige Funktion zu testen. Das funktioniert auch gut, wenn entweder nur die Verbindungen von Datacore1 oder Datacore2 verbunden sind. Sobald aber beide mit beiden XenServern verbunden sind, bekomme ich beim pingen nur noch "Request timed out." oder "Destination host unreachable." zu lesen. Dabei ist egal ob ich vom Xen zum Datacore pinge oder andersrum. Auch ist immer unterschiedlich, welche Verbindung dann noch geht.
Manchmal gehen noch beide von Datacore1 aber von Datacore2 keine mehr (oder andersrum) und manchmal geht je Datacore Server noch eine Verbindung. Die Mirror Verbindung zwischen den Datacore Servern und die Management Verbindungen funktionieren außerdem noch weiterhin ohne Probleme. Zeit ist überall mit nem NTP Server abgeglichen, andere Netzwerkkabel hab ich schon getestet (sind ok), Hosts Datei je Datacore Server erstellt und Netzwerkkarten habe ich anders belegt, aber ohne Erfolg. Gateway und DNS gibt es keinen, IP v6 ist ausgeschalten.
Woran können diese seltsamen Probleme stammen? Irgend ein spezielles Problem oder eine allgemeine Kleinigkeit die ich übersehen habe? Bitte um schnelle Hilfe, ich weiß echt nicht mehr weiter...
Grüße
Chris
Hallo,
ich habe zur Zeit mit einem großen Problem zu kämpfen. Eventuell hat das gar nichts mit dem Problem zu tun, aber hier trotzdem kurz zur Ausgangslage:
Ich habe 2 Fujitsu TX300 S6 Server mit 2 x 250 GB SATA HDDs die im RAID-1 laufen und 4 x 450 GB SAS HDDs die im RAID-5 laufen. Auf dem RAID-1 ist je ein Windows Server 2008 Standart englisch in 64 Bit installiert und da drauf läuft dann eine Datacore SANmelody. Diese virtualisiert das RAID-5 und erzeugt eine SAN, die dann wieder den XenServern zur Verfügung gestellt wird.
Zusätzlich gibt es 2 Fujitsu TX200 S5 auf dennen je ein XenServer 5.5.0 läuft, welche dann die Datacore SAN bekommen sollen. Auf dieser SAN liegen dann die Dateien der virtuellen Maschinen. Die SAN ist dann also über iSCSI an die Xen Server angebunden.
Um auch einen abgerauchten Datacore oder Xen abfangen zu können ist die Verkabelung doppelt ausgeführt. Einmal über kreuz zum jeweiligen anderen Server (also von Datacore1 zu Xen2 und von Datacore2 zu Xen1) und einmal auf die gleiche Seite (von Datacore1 zu Xen1 und von Datacore2 zu Xen2). Zusätzlich kommt für alle Server noch eine Netzwerkverbindung für das Management dazu (XenCenter für die Xen und Remote Desktop für die Datacore Server). Bei den Datacore Servern kommt noch eine weitere Verbindung zum anderen Datacore Server für die Syncronisierung dazu. Die Verbindungen laufen direkt von Server zu Server. Nur die jeweilige Managementverbindung hängt an einem Switch, der wiederrum am LAN hängt. Außerdem ist am Switch noch ein Notebook zur Verwaltung angeschlossen. Hier noch eine kurze Grafik wie das ganze aufgebaut ist (Das "PCI Slot 6" bedeutet so viel wie "Die Netzwerkkarte, die in PCI Slot 6 eingebaut ist):
Nachdem ich alles verkabelt, die IPs vergeben und mehrfach überprüft habe wollte ich durch Pingen versuchen, die richtige Funktion zu testen. Das funktioniert auch gut, wenn entweder nur die Verbindungen von Datacore1 oder Datacore2 verbunden sind. Sobald aber beide mit beiden XenServern verbunden sind, bekomme ich beim pingen nur noch "Request timed out." oder "Destination host unreachable." zu lesen. Dabei ist egal ob ich vom Xen zum Datacore pinge oder andersrum. Auch ist immer unterschiedlich, welche Verbindung dann noch geht.
Manchmal gehen noch beide von Datacore1 aber von Datacore2 keine mehr (oder andersrum) und manchmal geht je Datacore Server noch eine Verbindung. Die Mirror Verbindung zwischen den Datacore Servern und die Management Verbindungen funktionieren außerdem noch weiterhin ohne Probleme. Zeit ist überall mit nem NTP Server abgeglichen, andere Netzwerkkabel hab ich schon getestet (sind ok), Hosts Datei je Datacore Server erstellt und Netzwerkkarten habe ich anders belegt, aber ohne Erfolg. Gateway und DNS gibt es keinen, IP v6 ist ausgeschalten.
Woran können diese seltsamen Probleme stammen? Irgend ein spezielles Problem oder eine allgemeine Kleinigkeit die ich übersehen habe? Bitte um schnelle Hilfe, ich weiß echt nicht mehr weiter...
Grüße
Chris
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 132723
Url: https://administrator.de/contentid/132723
Ausgedruckt am: 22.11.2024 um 06:11 Uhr
10 Kommentare
Neuester Kommentar
Wenn ich mir so deine Inter-Server-Verbindungen anschaue würde es mich wundern, wenn da überhaupt was funktioniert
Du hast keine Rücksicht auf Subnets genommen!
Jede direkt an einem Server angeschlossene Netzwerkkarte muss in einem anderen Subnetz liegen (wenn nicht noch Bonding benutzt wird).
Heißt:
Datacore1 int7: 172.16.1.1/30
XsenServer1 int6/2: 172.16.1.2/30
Datacore1 int6: 172.16.1.5/30
Xenserver2 int6/1: 172.16.1.6/30
usw.
Du hast keine Rücksicht auf Subnets genommen!
Jede direkt an einem Server angeschlossene Netzwerkkarte muss in einem anderen Subnetz liegen (wenn nicht noch Bonding benutzt wird).
Heißt:
Datacore1 int7: 172.16.1.1/30
XsenServer1 int6/2: 172.16.1.2/30
Datacore1 int6: 172.16.1.5/30
Xenserver2 int6/1: 172.16.1.6/30
usw.
Moin,
und nur bei einer Netzwerkkarte / Server ein Standardgateway festlegen. Am Besten immer bei der 192.168.1.x - Netzwerkkarte.
Was ich mich gerade: Warum du das Ganze nicht über 2 Switche regelst. Dann könntest du die Netzwerkkarten je Server als Team (LB oder/und HA) konfigurieren und somit hat jeder Server nur 1 IP-Adresse und du müsstest dich nicht so verkopfen. Die Bandbreite würde die Selbe bleiben wie bisher und falls eine Erweiterung ansteht, ist diese so einfacher.
BTW: Sollte trotzdem funktionieren aber im Fehlerfall haste ne Herausforderung!
Grüße,
Dani
und nur bei einer Netzwerkkarte / Server ein Standardgateway festlegen. Am Besten immer bei der 192.168.1.x - Netzwerkkarte.
Was ich mich gerade: Warum du das Ganze nicht über 2 Switche regelst. Dann könntest du die Netzwerkkarten je Server als Team (LB oder/und HA) konfigurieren und somit hat jeder Server nur 1 IP-Adresse und du müsstest dich nicht so verkopfen. Die Bandbreite würde die Selbe bleiben wie bisher und falls eine Erweiterung ansteht, ist diese so einfacher.
BTW: Sollte trotzdem funktionieren aber im Fehlerfall haste ne Herausforderung!
Grüße,
Dani
Zitat von @Orikson:
Allerdings ist mir das auch neu, dass die dann komplett eigene Subnetze benötigen.
Woher soll der Server denn wissen über welchen Port er welches Gerät erreichen kann.Allerdings ist mir das auch neu, dass die dann komplett eigene Subnetze benötigen.
Windows hat da keine Switching-Funktion die eine Tabelle mit MAC-Adressen den Anschlüssen zuweist.
Dies entscheidet Windows aufgrund von IP und SM.
Stefan
@Dani
Er bräuchte ja nichtmal 2 Switches es würde auch mit einem gehen wenn er die 3 NICs im Teaming bzw. 802.3ad Trunking zusammenfügt. Von der Bandbreite her gesehen und im Hinblick auf die iSCSI Performance ist das in jedem Falle besser als das o.a. Konzept mit den IP Einzelnetzen. Vor allen Dingen skaliert das besser wie du bereits richtig angemerkt hast.
Mit einem VLAN fähigen Switch könnte man sogar diese Trunks und das Management Netz insgesamt nur auf einen Switch nehmen aber aus Redundanz sind dann schon 2 besser..keine Frage.
Er bräuchte ja nichtmal 2 Switches es würde auch mit einem gehen wenn er die 3 NICs im Teaming bzw. 802.3ad Trunking zusammenfügt. Von der Bandbreite her gesehen und im Hinblick auf die iSCSI Performance ist das in jedem Falle besser als das o.a. Konzept mit den IP Einzelnetzen. Vor allen Dingen skaliert das besser wie du bereits richtig angemerkt hast.
Mit einem VLAN fähigen Switch könnte man sogar diese Trunks und das Management Netz insgesamt nur auf einen Switch nehmen aber aus Redundanz sind dann schon 2 besser..keine Frage.
@aqui
Vllt. sucht er später gerne Netzwerkfehler in er einer VM-Umgebung...
@Orikson
Die Anwendung sieht es nicht, ob es n Trunk ist oder nicht. Auch wenn es 2 Sekunden eine Unterbrechung gibt, merkt es die Anwendung auch nicht. Denn TCP/IP büggelt den Fehler aus ohne das die Anwendung das merkt.
Aber was sage ich da...wir betreiben so einige 100ert Anwendungen.
Vllt. sucht er später gerne Netzwerkfehler in er einer VM-Umgebung...
@Orikson
Die Anwendung sieht es nicht, ob es n Trunk ist oder nicht. Auch wenn es 2 Sekunden eine Unterbrechung gibt, merkt es die Anwendung auch nicht. Denn TCP/IP büggelt den Fehler aus ohne das die Anwendung das merkt.
Aber was sage ich da...wir betreiben so einige 100ert Anwendungen.