Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

MySQL-Cluster - Zwei SQL-Server, eine Anwendung - Wie sagt man der Anwendung, welcher Server gerade der Master ist?

Frage Netzwerke Cluster

Mitglied: Yukari

Yukari (Level 1) - Jetzt verbinden

02.12.2009 um 12:29 Uhr, 5014 Aufrufe, 3 Kommentare

Ich habe vor kurzem mit HIlfe von MySQL-Cluster einen HA-Cluster für meine Datenbank umsetzen können. Es funktioniert auch alles gut soweit, aber jetzt hapert es bei der Verbindung mit den Anwendungs-Servern.

Der Cluster ist folgendermaßen aufgebaut:

sql- & data-server 1 --> mysqld, ndbd --> 192.168.0.1
sql- & data-server 2 --> mysqld, ndbd --> 192.168.0.2
management-server --> ndb_mgmd, ndb_mgm --> 192.168.0.3


Das Problem ist, dass ich der Anwendung eine IP geben muss unter welcher sie die Datenbank finden kann. Verwende ich die IP des ersten SQL-Servers, geht auch alles gut solange dieser der Master ist. Im Falle eines Failover hat das aber logischerweise einen großen Haken. Denn dann ist plötzlich der zweite Server der Master. Die Anwendung versucht natürlich weiterhin auf den ersten Server zuzugreifen, was ja nicht funktionieren kann. Trage ich dann die IP des zweiten Servers manuell in der Anwendung ein, funktioniert zwar alles wieder einwandfrei, aber das ist logischerweise keine wirkliche Lösung.

Meine erste Idee war, einfach einen DNS zu verwenden und beiden Servern den selben Alias zu geben und nur diesen in der Anwendung einzutragen. Dabei taucht aber ein ähnliches Problem auf. Woher weiß der DNS welcher Server gerade der Master ist?

Ich hoffe jemand von euch kann mir bei diesem Problem weiterhelfen oder hat vielleicht eine andere Idee, wie man es lösen könnte.
Ich wäre auf jeden Fall sehr dankbar dafür.

Grüße,
Yukari
Mitglied: maretz
02.12.2009 um 15:51 Uhr
Moin,

du hast da leider nur die halbe Arbeit getan.

Deine Anwendung SOLL gar nicht auf einen der Nodes zugreiffen. Wenn du das machst dann wird das natürlich nur dann gehen wenn dieser auch vorhanden ist. Und wenn der dann ordentlich unter Feuer steht langweilt sich sein Kollege immernoch.

Schalte davor mal nen Load-Balancer -> und deine Anwendung geht immer auf die IP vom LB. Das nutze ich auch in einer Testumgebung - und das läuft super. In dem Moment intressiert dich auch nicht wer hier Master ist und wer nicht - der Mgmt-Srv. sollte automatisch dafür sorgen das die Datenbestände immer gleich sind.

Und wenn du es dann noch ganz schön machen möchtest dann nimmst du auf dem LB noch nen Heartbeat drauf und machst DA den Eintrag das beim Ausfall des LB-1 der LB-n zum Master wird (inkl. übernahme der IP usw.).

Und: Nicht vergessen: Was passiert wenn dein Mgmt-Server ausfällt?
Bitte warten ..
Mitglied: Yukari
02.12.2009 um 16:17 Uhr
Zitat von maretz:

Deine Anwendung SOLL gar nicht auf einen der Nodes zugreiffen. Wenn
du das machst dann wird das natürlich nur dann gehen wenn dieser
auch vorhanden ist.

Genau das ist ja mein Problem.

Schalte davor mal nen Load-Balancer -> und deine Anwendung geht
immer auf die IP vom LB. Das nutze ich auch in einer Testumgebung -
und das läuft super.

Hm, das wäre natürlich auch eine Option. Die Frage ist nur, wie ich das umsetzen kann. Die Anwendungs-Server habe ich bereits mit Hilfe des Windows NLB-Managers verbunden. Die SQL-Server laufen aber unter Linux, da der MySQL-Cluster nicht für Windows empfohlen wird.
Bei Linux habe ich aber wiederum gar keine Ahnung, wie ich da ein Loadbalancing erreichen kann.
Klar, es gibt Hardware-Lösungen, aber im Moment muss ich mich erstmal auf Software-Lösungen beschränken. Hast du da vielleicht einen Tipp für mich?

>In dem Moment intressiert dich auch nicht
wer hier Master ist und wer nicht - der Mgmt-Srv. sollte automatisch
dafür sorgen das die Datenbestände immer gleich sind.

Wenn ich das richtig beobachtet habe, kümmert sich der Management-Server garnicht darum. Den brauche ich eigentlich nur am Anfang um die Verbindung zwischen den beiden SQL-Servern herzustellen. Wenn die einmal laufen, kann ich den Management-Server eigentlich auch aus- oder einschalten wie ich lustig bin. Die Datenbanken sind dann immernoch synchron. Ein Ausfall ist also nicht sofort gravierend, sondern nur dann falls gleichzeitig einer der SQL-Server ausfällt. Der kann die Verbindung zum Cluster dann soweit ich weiß nur wieder herstellen, wenn der Management-Server da ist.

Und wenn du es dann noch ganz schön machen möchtest dann
nimmst du auf dem LB noch nen Heartbeat drauf und machst DA den
Eintrag das beim Ausfall des LB-1 der LB-n zum Master wird (inkl.
übernahme der IP usw.).

Es gibt beim Loadbalancing einen Master? Ich kenne mich damit noch nicht so gut aus, da ich bisher wie gesagt nur eine Lösung mit Windows probiert hatte für die Anwendungsserver. Ich habe dabei noch nicht alle Situationen getestet, aber wenn ich das richtig sehe, sind die Hosts da relativ gleichwertig.
Wenn ich sie konfiguriert habe, ist es bisher egal gewesen ob nur einer da ist anfangs und den anderen erst später hochfahre. Sobald beide da sind und eine Netzwerkverbindung haben scheinen die die Verbindung automatisch herzustellen. Eine Art Master konnte ich dabei nicht erkennen.

Und: Nicht vergessen: Was passiert wenn dein Mgmt-Server
ausfällt?

Siehe weiter oben.
Bitte warten ..
Mitglied: Yukari
07.12.2009 um 15:41 Uhr
Ist zwar nicht gelöst, aber hat sich mittlerweile erledigt ^^ da ich auf Windows umsteigen muss (Anweisung von oben)
Bitte warten ..
Neuester Wissensbeitrag
Windows 10

Powershell 5 BSOD

(8)

Tipp von agowa338 zum Thema Windows 10 ...

Ähnliche Inhalte
Windows Server
Sql server 2012 cluster protokoll deaktivieren

Frage von Artjero zum Thema Windows Server ...

Windows Server
gelöst SQL-Server Datenbanksicherung inkl. Benutzerberechtigungen dafür? (4)

Frage von 1410640014 zum Thema Windows Server ...

Windows 10
gelöst Installationsproblem sql server 2014 auf windos 10 rechner (23)

Frage von jensgebken zum Thema Windows 10 ...

Heiß diskutierte Inhalte
Microsoft
Ordner mit LW-Buchstaben versehen und benennen (20)

Frage von Xaero1982 zum Thema Microsoft ...

Outlook & Mail
gelöst Outlook 2010 findet ost datei nicht (19)

Frage von Floh21 zum Thema Outlook & Mail ...

Windows Server
Server 2008R2 startet nicht mehr (Bad Patch 0xa) (18)

Frage von Haures zum Thema Windows Server ...

Netzwerkmanagement
gelöst Anregungen, kleiner Betrieb, IT-Umgebung (18)

Frage von Unwichtig zum Thema Netzwerkmanagement ...