{"id":82113,"date":"2020-05-19T13:42:51","date_gmt":"2020-05-19T11:42:51","guid":{"rendered":"https:\/\/prohoster.info\/blog\/administrirovanie\/orchestrator-i-vip-kak-ha-reshenie-dlya-klastera-mysql"},"modified":"2020-05-19T13:42:51","modified_gmt":"2020-05-19T11:42:51","slug":"orchestrator-i-vip-kak-ha-reshenie-dlya-klastera-mysql","status":"publish","type":"post","link":"https:\/\/prohoster.info\/de\/blog\/administrirovanie\/orchestrator-i-vip-kak-ha-reshenie-dlya-klastera-mysql","title":{"rendered":"Orchestrator und VIP als HA-L\u00f6sung f\u00fcr das MySQL-Cluster","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Bei Sitimobil verwenden wir eine MySQL-Datenbank als prim\u00e4ren Speicher f\u00fcr dauerhafte Daten. Wir haben mehrere Datenbankcluster f\u00fcr verschiedene Dienste und Zwecke.<\/p>\n<p>Die st\u00e4ndige Verf\u00fcgbarkeit des Masters ist ein kritischer Indikator f\u00fcr die Funktionsf\u00e4higkeit des gesamten Systems und seiner einzelnen Teile. Die automatische Wiederherstellung des Clusters im Falle eines Masterausfalls reduziert die Reaktionszeit auf Vorf\u00e4lle und die Ausfallzeit des Systems erheblich. In diesem Artikel werde ich das Schema zur Gew\u00e4hrleistung der hohen Verf\u00fcgbarkeit (HA) eines MySQL-Clusters basierend auf <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/github\/orchestrator\">MySQL Orchestrator<\/a><\/noindex> und virtuellen IP-Adressen (VIP) erl\u00e4utern.<\/p>\n<p><img decoding=\"async\" alt=\"Orchestrator und VIP als HA-L\u00f6sung f\u00fcr das MySQL-Cluster\" src=\"\/wp-content\/uploads\/2020\/05\/a76ef93caee0fc13d2afb12c25a25531.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h1>HA-L\u00f6sung auf Basis von VIP<\/h1>\n<p>\nZun\u00e4chst gebe ich einen kurzen \u00dcberblick \u00fcber unsere Datenspeicherl\u00f6sung.<\/p>\n<p>Wir verwenden ein klassisches Replikationsschema mit einem Master, der schreibf\u00e4hig ist, und mehreren Replikaten, die nur f\u00fcr Lesezwecke genutzt werden. Der Cluster kann einen Zwischensmaster enthalten \u2013 einen Knoten, der gleichzeitig als Replikat und Master f\u00fcr andere dient. Kunden greifen \u00fcber HAProxy auf die Replikate zu, was eine gleichm\u00e4\u00dfige Lastverteilung und einfache Skalierbarkeit erm\u00f6glicht. Der Einsatz von HAProxy hat historische Gr\u00fcnde, und wir befinden uns derzeit in der Migration zu ProxySQL.<\/p>\n<p>Die Replikation erfolgt im halb-synchronen Modus basierend auf <code>GTID<\/code>. Das bedeutet, dass mindestens ein Replikat die Transaktion im Protokoll speichern muss, bevor sie als erfolgreich angesehen wird. Dieser Replikationsmodus gew\u00e4hrleistet einen optimalen Ausgleich zwischen Leistung und Datensicherheit im Falle eines Ausfalls des Hauptknotens. Im Wesentlichen werden alle \u00c4nderungen vom Master an die Replikate mithilfe von <code>Row Based Replication (RBR)<\/code>, jedoch k\u00f6nnen einige Knoten ein <code>gemischtes binlog-Format haben.<\/code>.<\/p>\n<p>Der Orchestrator aktualisiert regelm\u00e4\u00dfig den Status der Cluster-Topologie, analysiert die erhaltenen Informationen und kann im Falle von Problemen den automatischen Wiederherstellungsprozess starten. Die Verantwortung f\u00fcr den Prozess liegt beim Entwickler, da dieser auf verschiedene Arten umgesetzt werden kann: basierend auf VIP, DNS, unter Verwendung von Dienstentdeckungsdiensten oder selbstgeschriebenen Mechanismen. <\/p>\n<p>Eine der einfachen M\u00f6glichkeiten, einen Master bei einem Ausfall wiederherzustellen, besteht darin, flie\u00dfende VIP-Adressen zu verwenden.<\/p>\n<p>Folgendes sollten Sie \u00fcber diese L\u00f6sung wissen, bevor Sie fortfahren:<\/p>\n<ul>\n<li>VIP ist eine IP-Adresse, die nicht an ein bestimmtes physisches Netzwerk-Interface gebunden ist. Wenn ein Knoten ausf\u00e4llt oder Wartungsarbeiten erforderlich sind, k\u00f6nnen wir die VIP schnell auf eine andere Ressource umschalten, um die Ausfallzeit zu minimieren.\n<\/li>\n<li>Das Freigeben und Zuweisen einer virtuellen IP-Adresse sind kosteng\u00fcnstige und schnelle Vorg\u00e4nge.\n<\/li>\n<li>Um mit VIP zu arbeiten, ben\u00f6tigen Sie Zugriff auf den Server \u00fcber SSH oder die Verwendung spezieller Dienstprogramme, wie zum Beispiel <code>keepalived<\/code>.\n<\/li>\n<\/ul>\n<p>\nBetrachten wir m\u00f6gliche Probleme mit unserem Master und illustrieren, wie der Mechanismus der automatischen Wiederherstellung funktionieren sollte.<\/p>\n<h4>Die Netzwerkverbindung zum Master ist verloren gegangen oder es gibt ein Problem auf Hardware-Ebene, wodurch der Server nicht erreichbar ist.<\/h4>\n<p><\/p>\n<ol>\n<li>Der Orchestrator aktualisiert die Cluster-Topologie, jede Replik meldet die Nichtverf\u00fcgbarkeit des Masters. Der Orchestrator startet den Prozess zur Auswahl einer Replik, die als neuer Master geeignet ist, und beginnt mit der Wiederherstellung.\n<\/li>\n<li>Wir versuchen, die VIP vom alten Master zu entfernen \u2013 ohne Erfolg.\n<\/li>\n<li>Die Replik wechselt die Rolle zum Master. Die Topologie wird neu aufgebaut.\n<\/li>\n<li>Wir f\u00fcgen ein neues Netzwerkinterface mit VIP hinzu. Da das Entfernen der VIP nicht gelungen ist, starten wir im Hintergrund regelm\u00e4\u00dfig Anfragen. <b>gratuitous ARP<\/b>. Dieser Anfrage-\/Antworttyp erm\u00f6glicht es, die IP- und MAC-Adresstabelle auf den angeschlossenen Switches zu aktualisieren und informiert so \u00fcber den Umzug unserer VIP. Dies minimiert die Wahrscheinlichkeit eines <code>split brain<\/code> bei der R\u00fcckkehr des alten Masters. \n<\/li>\n<li>Alle neuen Verbindungen werden sofort auf den neuen Master umgeleitet. Alte Verbindungen enden erfolglos, wiederholte Anfragen an die Datenbank auf Anwendungsebene erfolgen.\n<\/li>\n<\/ol>\n<p><\/p>\n<h4>Der Server arbeitet im normalen Betrieb, es gab einen Ausfall auf DBMS-Ebene.<\/h4>\n<p>\nDer Algorithmus entspricht dem vorherigen Fall: Aktualisierung der Topologie und Start des Wiederherstellungsprozesses. Da der Server verf\u00fcgbar ist, geben wir erfolgreich die VIP auf dem alten Master frei, \u00fcbertragen sie auf den neuen und senden mehrere ARP-Anfragen. Eine m\u00f6gliche R\u00fcckkehr des alten Masters sollte den wiederhergestellten Cluster und die Funktionalit\u00e4t der Anwendung nicht beeintr\u00e4chtigen.<\/p>\n<h4>Weitere Probleme<\/h4>\n<p>\nAusf\u00e4lle von Repliken oder Zwischen-Mastern <em>f\u00fchren nicht<\/em> zu automatischen Handlungen und erfordern manuelles Eingreifen.<\/p>\n<p>Das virtuelle Netzwerk-Interface wird stets tempor\u00e4r hinzugef\u00fcgt, das hei\u00dft, nach einem Serverneustart wird die VIP automatisch nicht neu zugewiesen. Jede Datenbankinstanz wird standardm\u00e4\u00dfig im Nur-Lese-Modus gestartet, der Orchestrator schaltet den neuen Master automatisch auf Schreibzugriff um und versucht, <code>read only<\/code> auf dem alten Master festzulegen. Diese Ma\u00dfnahmen zielen darauf ab, die Wahrscheinlichkeit zu verringern. <code>split brain<\/code>.<\/p>\n<p>W\u00e4hrend des Wiederherstellungsprozesses k\u00f6nnen Probleme auftreten, die ebenfalls \u00fcber die UI des Orchestrators benachrichtigt werden sollten, zus\u00e4tzlich zu den Standard\u00fcberwachungsmethoden. Wir haben die REST API erweitert, um diese M\u00f6glichkeit hinzuzuf\u00fcgen (<noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/openark\/orchestrator\/pull\/1088\">PR<\/a><\/noindex> wird derzeit gepr\u00fcft).<\/p>\n<p>Das allgemeine Schema der HA-L\u00f6sung ist unten dargestellt.<\/p>\n<p><img decoding=\"async\" alt=\"Orchestrator und VIP als HA-L\u00f6sung f\u00fcr das MySQL-Cluster\" src=\"\/wp-content\/uploads\/2020\/05\/485dbbc8f2b1a7595f5fa4f36ad92f7e.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<\/p>\n<h1>Auswahl eines neuen Masters<\/h1>\n<p>\nDer Orchestrator ist intelligent genug und bem\u00fcht sich, <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/openark\/orchestrator\/blob\/5126b849ae4f655e1cbe0fbddfa0d7299674f712\/go\/inst\/instance_utils.go#L112\">das am besten geeignete Replica auszuw\u00e4hlen<\/a><\/noindex> als neuen Master gem\u00e4\u00df den folgenden Kriterien:<\/p>\n<ul>\n<li>Verz\u00f6gerung der Replica zum Master;\n<\/li>\n<li>MySQL-Version des Masters und der Replica;\n<\/li>\n<li>Replikationstyp (RBR, SBR oder gemischt);\n<\/li>\n<li>Standort in einem oder verschiedenen Rechenzentren;\n<\/li>\n<li>die Existenz <code>errant GTID<\/code> \u2014 Transaktionen, die auf der Replica ausgef\u00fchrt wurden und auf dem Master fehlen;\n<\/li>\n<li>benutzerdefinierte Auswahlregeln werden ebenfalls ber\u00fccksichtigt.\n<\/li>\n<\/ul>\n<p>\nNicht jede Replica ist ein idealer Kandidat f\u00fcr die Rolle des Masters. Beispielsweise kann eine Replica zur Datensicherung verwendet werden, oder der Server hat eine schw\u00e4chere Hardware-Konfiguration. Der Orchestrator <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/openark\/orchestrator\/blob\/master\/docs\/topology-recovery.md#adding-promotion-rules\">unterst\u00fctzt<\/a><\/noindex> manuelle Regeln, mit denen Sie Ihre Pr\u00e4ferenzen f\u00fcr die Kandidatenauswahl von den bevorzugtesten bis zu den ignorierten anpassen k\u00f6nnen.<\/p>\n<h1>Reaktions- und Wiederherstellungszeit<\/h1>\n<p>\nIm Falle eines Vorfalls ist es wichtig, die Ausfallzeit des Systems zu minimieren. Daher betrachten wir die MySQL-Parameter, die die Erstellung und Aktualisierung der Cluster-Topologie durch den Orchestrator beeinflussen:<\/p>\n<ul>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/dev.mysql.com\/doc\/refman\/5.7\/en\/replication-options-slave.html#sysvar_slave_net_timeout\"><code>slave_net_timeout<\/code><\/a><\/noindex> \u2014 die Anzahl an Sekunden, in denen eine Replik darauf wartet, neue Daten oder ein Heartbeat-Signal vom Master zu empfangen, bevor die Verbindung als verloren betrachtet wird und eine Neukonfiguration erfolgt. Je geringer der Wert, desto schneller kann die Replik feststellen, dass die Verbindung zum Master unterbrochen ist. Wir setzen diesen Wert auf 5 Sekunden.\n<\/li>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/dev.mysql.com\/doc\/refman\/5.7\/en\/change-master-to.html\"><code>MASTER_CONNECT_RETRY<\/code><\/a><\/noindex> \u2014 die Anzahl an Sekunden zwischen den Versuchen zur Wiederverbindung. Bei Netzwerkproblemen erm\u00f6glicht ein niedrigerer Wert dieser Parameter, sich schnell wieder zu verbinden und einen Wiederherstellungsprozess des Clusters zu vermeiden. Der empfohlene Wert betr\u00e4gt 1 Sekunde.\n<\/li>\n<li><code>MASTER_RETRY_COUNT<\/code> \u2014 die maximale Anzahl an Wiederverbindungsversuchen. \n<\/li>\n<li><code>MASTER_HEARTBEAT_PERIOD<\/code> \u2014 das Intervall in Sekunden, nach dem der Master ein Heartbeat-Signal sendet. Standardm\u00e4\u00dfig betr\u00e4gt es die H\u00e4lfte des Wertes <code>slave_net_timeout<\/code>.\n<\/li>\n<\/ul>\n<p>\nParameter des Orchestrators:<\/p>\n<ul>\n<li><code>DelayMasterPromotionIfSQLThreadNotUpToDate<\/code> \u2014 wenn es gleich ist <code>true<\/code>, wird die Rolle des Masters nicht auf die Kandidaten-Replik angewendet, bis der SQL-Thread der Replik alle nicht angewandten Transaktionen aus dem Relay Log ausgef\u00fchrt hat. Wir nutzen diese Option, um in Situationen mit Verz\u00f6gerungen bei allen Kandidaten-Replikationen Transaktionen nicht zu verlieren.\n<\/li>\n<li><code>InstancePollSeconds<\/code> \u2014 Frequenz der Erstellung und Aktualisierung der Topologie.\n<\/li>\n<li><code>RecoveryPollSeconds<\/code> \u2014 Frequenz der Topologieanalyse. Bei Feststellung eines Problems wird die Wiederherstellung der Topologie gestartet. Dies ist<noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/github\/orchestrator\/blob\/548265494b3107ca2581d6ccee059e062a759b77\/go\/config\/config.go#L45\"> eine Konstante<\/a><\/noindex>, die 1 Sekunde betr\u00e4gt.\n<\/li>\n<\/ul>\n<p>\nJeder Knoten im Cluster wird einmal pro <code>InstancePollSeconds<\/code> Sekunde vom Orchestrator abgefragt. Bei Feststellung eines Problems wird der Status des Clusters zwangsweise<noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/github\/orchestrator\/blob\/548265494b3107ca2581d6ccee059e062a759b77\/go\/logic\/topology_recovery.go#L1409\"> aktualisiert<\/a><\/noindex>, und es wird dann eine endg\u00fcltige Entscheidung \u00fcber die Durchf\u00fchrung der Wiederherstellung getroffen. Durch das Experimentieren mit verschiedenen Parametern der Datenbank und des Orchestrators konnten wir die Reaktions- und Wiederherstellungszeiten auf bis zu 30 Sekunden senken.<\/p>\n<h1>Teststand<\/h1>\n<p>\nWir haben mit der Entwicklung einer lokalen <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/ParshinPavel\/mysql-ha-sandbox\">Testumgebung<\/a><\/noindex> begonnen und diese anschlie\u00dfend in Test- und Produktionsumgebungen implementiert. Die lokale Umgebung ist vollst\u00e4ndig automatisiert und basiert auf Docker, was es erm\u00f6glicht, mit der Konfiguration des Orchestrators und des Netzwerks zu experimentieren, das Cluster von 2-3 Servern auf mehrere Dutzend zu skalieren und \u00dcbungen in einer sicheren Umgebung durchzuf\u00fchren. <\/p>\n<p>W\u00e4hrend der \u00dcbungen w\u00e4hlen wir eine der Methoden zur Emulation eines Problems: Sofortige Abschaltung des Masters mithilfe von <code>kill -9<\/code>, sanftes Beenden des Prozesses und Herunterfahren des Servers (<code>docker-compose stop<\/code>), Netzwerkprobleme simulieren mit <code>iptables -j REJECT<\/code> oder <code>iptables -j DROP<\/code>. Wir erwarten folgende Ergebnisse:<\/p>\n<ul>\n<li>der Orchestrator erkennt Probleme mit dem Master und aktualisiert die Topologie innerhalb von 10 Sekunden;\n<\/li>\n<li>die Wiederherstellungsprozedur wird automatisch gestartet: die Netzwerkkonfiguration \u00e4ndert sich, die Rolle des Masters wechselt zu einem Replikat, die Topologie wird neu aufgebaut;\n<\/li>\n<li>der neue Master wird f\u00fcr Schreibvorg\u00e4nge verf\u00fcgbar sein, aktive Replikate gehen w\u00e4hrend des Umbaus nicht verloren;\n<\/li>\n<li>Daten werden im neuen Master gespeichert und repliziert;\n<\/li>\n<li>die gesamte Wiederherstellungszeit betr\u00e4gt nicht mehr als 30 Sekunden.\n<\/li>\n<\/ul>\n<p>\nWie Sie wissen, kann sich das System in Test- und Produktionsumgebungen aufgrund unterschiedlicher Hardware- und Netzwerkkonfigurationen, Unterschiede in synthetischer und realer Belastung usw. unterschiedlich verhalten. Daher f\u00fchren wir regelm\u00e4\u00dfig \u00dcbungen unter realen Bedingungen durch, um zu \u00fcberpr\u00fcfen, wie sich das System beim Verlust der Netzwerkkonnektivit\u00e4t oder bei der Degeneration einzelner Komponenten verh\u00e4lt. Zuk\u00fcnftig m\u00f6chten wir eine identische Infrastruktur f\u00fcr beide Umgebungen aufbauen und deren Tests automatisieren.<\/p>\n<h1>Fazit<\/h1>\n<p>\nDie Funktionsf\u00e4higkeit des Hauptknotens des Speichersystems ist eine der zentralen Aufgaben des SRE-Teams und des Betriebs. Die Implementierung eines Orchestrators und einer HA-L\u00f6sung basierend auf VIP hat folgende Ergebnisse erzielt:<\/p>\n<ul>\n<li>zuverl\u00e4ssige Erkennung von Problemen in der Cluster-Topologie;\n<\/li>\n<li>automatisierte und schnelle Reaktion auf Vorf\u00e4lle im Zusammenhang mit dem Master, was die Ausfallzeit des Systems reduziert.\n<\/li>\n<\/ul>\n<p>\nAllerdings hat die L\u00f6sung ihre Einschr\u00e4nkungen und Nachteile:<\/p>\n<ul>\n<li>Die Skalierung der HA-Architektur \u00fcber mehrere Rechenzentren erfordert ein einheitliches L2-Netzwerk zwischen ihnen;\n<\/li>\n<li>Bevor wir VIP auf dem neuen Master zuweisen, m\u00fcssen wir es auf dem alten freigeben. Der Prozess ist sequenziell, was die Wiederherstellungszeit verl\u00e4ngert;\n<\/li>\n<li>Die Freigabe von VIP erfordert SSH-Zugriff auf den Server oder einen anderen Weg, um Remote-Prozeduren aufzurufen. Da der Server oder die DB Probleme hat, die den Wiederherstellungsprozess verursacht haben, k\u00f6nnen wir nicht sicher sein, dass die Freigabe von VIP erfolgreich ist. Das k\u00f6nnte zu zwei Servern mit derselben virtuellen IP-Adresse und damit zu Problemen f\u00fchren. <code>split brain<\/code>.\n<\/li>\n<\/ul>\n<p>\nUm dies zu vermeiden <code>split brain<\/code>, kann die Methode verwendet werden <noindex><a rel=\"nofollow\" href=\"https:\/\/en.wikipedia.org\/wiki\/STONITH\">STONITH<\/a><\/noindex> (\u201eShoot The Other Node In The Head\u201c), das problematische Nodes vollst\u00e4ndig isoliert oder deaktiviert. Es gibt auch andere Methoden zur Realisierung der hohen Verf\u00fcgbarkeit eines Clusters: eine Kombination aus VIP und DNS, Dienstentdeckung und Proxy-Services, synchrone Replikation sowie andere Methoden, die sowohl Vor- als auch Nachteile haben.<\/p>\n<p>Ich habe \u00fcber unseren Ansatz zur Schaffung eines ausfallsicheren MySQL-Clusters gesprochen. Er ist einfach umzusetzen und bietet ein akzeptables Ma\u00df an Zuverl\u00e4ssigkeit unter den aktuellen Bedingungen. Mit der Weiterentwicklung des gesamten Systems und insbesondere der Infrastruktur wird sich dieser Ansatz zweifellos weiterentwickeln.<br \/>\n<br \/>Quelle: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/citymobil\/blog\/491044\/\">habr.com<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0412 \u0421\u0438\u0442\u0438\u043c\u043e\u0431\u0438\u043b \u043c\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c \u0431\u0430\u0437\u0443 \u0434\u0430\u043d\u043d\u044b\u0445 MySQL \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u0433\u043e \u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449\u0430 \u043f\u043e\u0441\u0442\u043e\u044f\u043d\u043d\u044b\u0445 \u0434\u0430\u043d\u043d\u044b\u0445. \u0423 \u043d\u0430\u0441 \u0435\u0441\u0442\u044c \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u043e\u0432 \u0431\u0430\u0437 \u0434\u0430\u043d\u043d\u044b\u0445 \u043f\u043e\u0434 \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u0435 \u0441\u0435\u0440\u0432\u0438\u0441\u044b \u0438 \u0446\u0435\u043b\u0438. \u041f\u043e\u0441\u0442\u043e\u044f\u043d\u043d\u0430\u044f \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u043e\u0441\u0442\u044c \u043c\u0430\u0441\u0442\u0435\u0440\u0430 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043a\u0440\u0438\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u043c \u043f\u043e\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u0435\u043c \u0440\u0430\u0431\u043e\u0442\u043e\u0441\u043f\u043e\u0441\u043e\u0431\u043d\u043e\u0441\u0442\u0438 \u0432\u0441\u0435\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0438 \u0435\u0435 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0445 \u0447\u0430\u0441\u0442\u0435\u0439. \u0410\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0435 \u0432\u043e\u0441\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435 \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0430 \u0432 \u0441\u043b\u0443\u0447\u0430\u0435 \u043e\u0442\u043a\u0430\u0437\u0430 \u043c\u0430\u0441\u0442\u0435\u0440\u0430 \u0441\u0438\u043b\u044c\u043d\u043e \u0441\u043d\u0438\u0436\u0430\u0435\u0442 \u0432\u0440\u0435\u043c\u044f \u0440\u0435\u0430\u0433\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u043d\u0430 \u0438\u043d\u0446\u0438\u0434\u0435\u043d\u0442 \u0438 \u0432\u0440\u0435\u043c\u044f \u043f\u0440\u043e\u0441\u0442\u043e\u044f \u0441\u0438\u0441\u0442\u0435\u043c\u044b. [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":82114,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-82113","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 4.9.10 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u0412 \u0421\u0438\u0442\u0438\u043c\u043e\u0431\u0438\u043b \u043c\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c \u0431\u0430\u0437\u0443 \u0434\u0430\u043d\u043d\u044b\u0445 MySQL \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u0433\u043e \u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449\u0430 \u043f\u043e\u0441\u0442\u043e\u044f\u043d\u043d\u044b\u0445 \u0434\u0430\u043d\u043d\u044b\u0445. \u0423 \u043d\u0430\u0441 \u0435\u0441\u0442\u044c \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u043e\u0432 \u0431\u0430\u0437 \u0434\u0430\u043d\u043d\u044b\u0445 \u043f\u043e\u0434 \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u0435 \u0441\u0435\u0440\u0432\u0438\u0441\u044b \u0438 \u0446\u0435\u043b\u0438. \u041f\u043e\u0441\u0442\u043e\u044f\u043d\u043d\u0430\u044f \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u043e\u0441\u0442\u044c \u043c\u0430\u0441\u0442\u0435\u0440\u0430 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043a\u0440\u0438\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u043c \u043f\u043e\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u0435\u043c \u0440\u0430\u0431\u043e\u0442\u043e\u0441\u043f\u043e\u0441\u043e\u0431\u043d\u043e\u0441\u0442\u0438 \u0432\u0441\u0435\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0438 \u0435\u0435 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0445 \u0447\u0430\u0441\u0442\u0435\u0439. \u0410\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0435 \u0432\u043e\u0441\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435 \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0430 \u0432 \u0441\u043b\u0443\u0447\u0430\u0435 \u043e\u0442\u043a\u0430\u0437\u0430 \u043c\u0430\u0441\u0442\u0435\u0440\u0430 \u0441\u0438\u043b\u044c\u043d\u043e \u0441\u043d\u0438\u0436\u0430\u0435\u0442 \u0432\u0440\u0435\u043c\u044f \u0440\u0435\u0430\u0433\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u043d\u0430 \u0438\u043d\u0446\u0438\u0434\u0435\u043d\u0442 \u0438 \u0432\u0440\u0435\u043c\u044f \u043f\u0440\u043e\u0441\u0442\u043e\u044f \u0441\u0438\u0441\u0442\u0435\u043c\u044b.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/de\/blog\/administrirovanie\/orchestrator-i-vip-kak-ha-reshenie-dlya-klastera-mysql\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 4.9.10\" \/>\n\t\t<meta property=\"og:locale\" content=\"de_DE\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47Orchestrator \u0438 VIP \u043a\u0430\u043a HA-\u0440\u0435\u0448\u0435\u043d\u0438\u0435 \u0434\u043b\u044f \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0430 MySQL | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u0412 \u0421\u0438\u0442\u0438\u043c\u043e\u0431\u0438\u043b \u043c\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c \u0431\u0430\u0437\u0443 \u0434\u0430\u043d\u043d\u044b\u0445 MySQL \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u0433\u043e \u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449\u0430 \u043f\u043e\u0441\u0442\u043e\u044f\u043d\u043d\u044b\u0445 \u0434\u0430\u043d\u043d\u044b\u0445. \u0423 \u043d\u0430\u0441 \u0435\u0441\u0442\u044c \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u043e\u0432 \u0431\u0430\u0437 \u0434\u0430\u043d\u043d\u044b\u0445 \u043f\u043e\u0434 \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u0435 \u0441\u0435\u0440\u0432\u0438\u0441\u044b \u0438 \u0446\u0435\u043b\u0438. \u041f\u043e\u0441\u0442\u043e\u044f\u043d\u043d\u0430\u044f \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u043e\u0441\u0442\u044c \u043c\u0430\u0441\u0442\u0435\u0440\u0430 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043a\u0440\u0438\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u043c \u043f\u043e\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u0435\u043c \u0440\u0430\u0431\u043e\u0442\u043e\u0441\u043f\u043e\u0441\u043e\u0431\u043d\u043e\u0441\u0442\u0438 \u0432\u0441\u0435\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0438 \u0435\u0435 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0445 \u0447\u0430\u0441\u0442\u0435\u0439. \u0410\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0435 \u0432\u043e\u0441\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435 \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0430 \u0432 \u0441\u043b\u0443\u0447\u0430\u0435 \u043e\u0442\u043a\u0430\u0437\u0430 \u043c\u0430\u0441\u0442\u0435\u0440\u0430 \u0441\u0438\u043b\u044c\u043d\u043e \u0441\u043d\u0438\u0436\u0430\u0435\u0442 \u0432\u0440\u0435\u043c\u044f \u0440\u0435\u0430\u0433\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u043d\u0430 \u0438\u043d\u0446\u0438\u0434\u0435\u043d\u0442 \u0438 \u0432\u0440\u0435\u043c\u044f \u043f\u0440\u043e\u0441\u0442\u043e\u044f \u0441\u0438\u0441\u0442\u0435\u043c\u044b.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/de\/blog\/administrirovanie\/orchestrator-i-vip-kak-ha-reshenie-dlya-klastera-mysql\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2020-05-19T11:42:51+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-05-19T11:42:51+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Orchestrator und VIP als HA-L\u00f6sung f\u00fcr den MySQL-Cluster | ProHoster","description":"Bei SitiMobil verwenden wir die MySQL-Datenbank als prim\u00e4ren Speicher f\u00fcr dauerhafte Daten. Wir haben mehrere Datenbankcluster f\u00fcr verschiedene Dienste und Zwecke. Die st\u00e4ndige Verf\u00fcgbarkeit des Masters ist ein kritischer Indikator f\u00fcr die Funktionalit\u00e4t des gesamten Systems und seiner einzelnen Komponenten. Die automatische Wiederherstellung des Clusters im Falle eines Masterausfalls verringert die Reaktionszeit bei Vorf\u00e4llen und die Ausfallzeit des Systems erheblich.","canonical_url":"https:\/\/prohoster.info\/de\/blog\/administrirovanie\/orchestrator-i-vip-kak-ha-reshenie-dlya-klastera-mysql","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"de_DE","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47Orchestrator \u0438 VIP \u043a\u0430\u043a HA-\u0440\u0435\u0448\u0435\u043d\u0438\u0435 \u0434\u043b\u044f \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0430 MySQL | ProHoster","og:description":"\u0412 \u0421\u0438\u0442\u0438\u043c\u043e\u0431\u0438\u043b \u043c\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c \u0431\u0430\u0437\u0443 \u0434\u0430\u043d\u043d\u044b\u0445 MySQL \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u0433\u043e \u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449\u0430 \u043f\u043e\u0441\u0442\u043e\u044f\u043d\u043d\u044b\u0445 \u0434\u0430\u043d\u043d\u044b\u0445. \u0423 \u043d\u0430\u0441 \u0435\u0441\u0442\u044c \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u043e\u0432 \u0431\u0430\u0437 \u0434\u0430\u043d\u043d\u044b\u0445 \u043f\u043e\u0434 \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u0435 \u0441\u0435\u0440\u0432\u0438\u0441\u044b \u0438 \u0446\u0435\u043b\u0438. \u041f\u043e\u0441\u0442\u043e\u044f\u043d\u043d\u0430\u044f \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u043e\u0441\u0442\u044c \u043c\u0430\u0441\u0442\u0435\u0440\u0430 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043a\u0440\u0438\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u043c \u043f\u043e\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u0435\u043c \u0440\u0430\u0431\u043e\u0442\u043e\u0441\u043f\u043e\u0441\u043e\u0431\u043d\u043e\u0441\u0442\u0438 \u0432\u0441\u0435\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0438 \u0435\u0435 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0445 \u0447\u0430\u0441\u0442\u0435\u0439. \u0410\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0435 \u0432\u043e\u0441\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435 \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0430 \u0432 \u0441\u043b\u0443\u0447\u0430\u0435 \u043e\u0442\u043a\u0430\u0437\u0430 \u043c\u0430\u0441\u0442\u0435\u0440\u0430 \u0441\u0438\u043b\u044c\u043d\u043e \u0441\u043d\u0438\u0436\u0430\u0435\u0442 \u0432\u0440\u0435\u043c\u044f \u0440\u0435\u0430\u0433\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u043d\u0430 \u0438\u043d\u0446\u0438\u0434\u0435\u043d\u0442 \u0438 \u0432\u0440\u0435\u043c\u044f \u043f\u0440\u043e\u0441\u0442\u043e\u044f \u0441\u0438\u0441\u0442\u0435\u043c\u044b.","og:url":"https:\/\/prohoster.info\/de\/blog\/administrirovanie\/orchestrator-i-vip-kak-ha-reshenie-dlya-klastera-mysql","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2020-05-19T11:42:51+00:00","article:modified_time":"2020-05-19T11:42:51+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"82113","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":null,"breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-02-28 15:44:23","updated":"2022-09-28 00:08:45"},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/posts\/82113","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/comments?post=82113"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/posts\/82113\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/media\/82114"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/media?parent=82113"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/categories?post=82113"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/tags?post=82113"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}