{"id":75726,"date":"2020-03-28T07:42:08","date_gmt":"2020-03-28T05:42:08","guid":{"rendered":"https:\/\/prohoster.info\/blog\/administrirovanie\/klaster-iz-dvuh-uzlov-dyavol-v-detalyah"},"modified":"2020-03-28T07:42:08","modified_gmt":"2020-03-28T05:42:08","slug":"klaster-iz-dvuh-uzlov-dyavol-v-detalyah","status":"publish","type":"post","link":"https:\/\/prohoster.info\/pl\/blog\/administrirovanie\/klaster-iz-dvuh-uzlov-dyavol-v-detalyah","title":{"rendered":"Klaster z dw\u00f3ch w\u0119z\u0142\u00f3w \u2013 diabe\u0142 tkwi w szczeg\u00f3\u0142ach","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Cze\u015b\u0107, Habr! Przedstawiam wam t\u0142umaczenie artyku\u0142u <noindex><a rel=\"nofollow\" href=\"http:\/\/blog.clusterlabs.org\/blog\/2018\/two-node-problems\">\u00abDwa w\u0119z\u0142y \u2014 Diabe\u0142 tkwi w szczeg\u00f3\u0142ach\u00bb<\/a><\/noindex> autora Andrew Beekhof.<\/p>\n<p>Wielu ludzi preferuje klastry sk\u0142adaj\u0105ce si\u0119 z dw\u00f3ch w\u0119z\u0142\u00f3w, poniewa\u017c wydaj\u0105 si\u0119 koncepcyjnie prostsze, a tak\u017ce ta\u0144sze o 33% ni\u017c ich trzyw\u0119z\u0142owe odpowiedniki. Cho\u0107 mo\u017cna zbudowa\u0107 dobry klaster z dw\u00f3ch w\u0119z\u0142\u00f3w, w wi\u0119kszo\u015bci przypadk\u00f3w, z powodu nieprzewidzianych scenariuszy, taka konfiguracja mo\u017ce prowadzi\u0107 do wielu nieoczywistych problem\u00f3w.<br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><br \/>\nPierwszym krokiem do stworzenia ka\u017cdej systemu wysokiej dost\u0119pno\u015bci jest identyfikacja i pr\u00f3ba usuni\u0119cia pojedynczych punkt\u00f3w awarii, cz\u0119sto skr\u00f3towo nazywanych <i>SPoF<\/i> (single point of failure).<\/p>\n<p>Nale\u017cy pami\u0119ta\u0107, \u017ce w ka\u017cdym systemie niemo\u017cliwe jest wyeliminowanie wszystkich mo\u017cliwych ryzyk przestoj\u00f3w. Wynika to cho\u0107by z faktu, \u017ce typow\u0105 ochron\u0105 przed ryzykiem jest wprowadzenie pewnej redundancji, co prowadzi do wzrostu z\u0142o\u017cono\u015bci systemu i pojawienia si\u0119 nowych punkt\u00f3w awarii. Dlatego od pocz\u0105tku dokonujemy kompromisu i koncentrujemy si\u0119 na zdarzeniach zwi\u0105zanych z pojedynczymi punktami awarii, a nie na \u0142a\u0144cuchach zwi\u0105zanych i, co za tym idzie, coraz mniej prawdopodobnych zdarzeniach.<\/p>\n<p>Bior\u0105c pod uwag\u0119 kompromisy, nie tylko szukamy SPoF, ale tak\u017ce r\u00f3wnowa\u017cymy ryzyka i konsekwencje, w rezultacie wnioski dotycz\u0105ce tego, co jest krytyczne, a co nie, mog\u0105 si\u0119 r\u00f3\u017cni\u0107 dla ka\u017cdego wdro\u017cenia.<\/p>\n<blockquote><p>Nie wszystkim potrzebni s\u0105 alternatywni dostawcy energii z niezale\u017cnymi liniami przesy\u0142owymi. Cho\u0107 paranoja si\u0119 op\u0142aci\u0142a przynajmniej dla jednego klienta, kiedy ich monitoring wykry\u0142 uszkodzony transformator. Klient dzwoni\u0142, pr\u00f3buj\u0105c ostrzec firm\u0119 energetyczn\u0105, a\u017c do momentu, gdy uszkodzony transformator wybuch\u0142.<\/p><\/blockquote>\n<p>\nNaturalnym punktem wyj\u015bcia jest posiadanie w systemie wi\u0119cej ni\u017c jednego w\u0119z\u0142a. Jednak zanim system b\u0119dzie m\u00f3g\u0142 przenie\u015b\u0107 us\u0142ugi na pozostaj\u0105cy przy \u017cyciu w\u0119ze\u0142 po awarii, w og\u00f3lnym przypadku nale\u017cy upewni\u0107 si\u0119, \u017ce przenoszone us\u0142ugi nie s\u0105 aktywne w innym miejscu.<\/p>\n<p>Dwa w\u0119z\u0142y klastra nie maj\u0105 wad, je\u015bli w wyniku awarii oba w\u0119z\u0142y obs\u0142uguj\u0105 t\u0119 sam\u0105 statyczn\u0105 stron\u0119 internetow\u0105. Jednak wszystko zmienia si\u0119, gdy obie strony niezale\u017cnie zarz\u0105dzaj\u0105 wsp\u00f3ln\u0105 kolejk\u0105 zada\u0144 lub zapewniaj\u0105 niekoordynowany dost\u0119p do zapisu do replikowanej bazy danych lub wsp\u00f3lnego systemu plik\u00f3w.<\/p>\n<p>Dlatego, aby zapobiec uszkodzeniu danych w wyniku awarii jednego z w\u0119z\u0142\u00f3w \u2013 polegamy na tym, co nazywa si\u0119 <i>\u201eodgrodzeniem\u201d<\/i> (fencing).<\/p>\n<h2>Zasada odgrodzenia<\/h2>\n<p>\nPodstaw\u0105 zasady odgrodzenia jest pytanie: czy konkurencyjny w\u0119ze\u0142 mo\u017ce spowodowa\u0107 uszkodzenie danych? Je\u015bli uszkodzenie danych jest prawdopodobnym scenariuszem \u2013 dobrym rozwi\u0105zaniem b\u0119dzie izolacja w\u0119z\u0142a zar\u00f3wno od przychodz\u0105cych zapyta\u0144, jak i od trwa\u0142ego sk\u0142adowania. Najpowszechniejszym podej\u015bciem do odgrodzenia jest wy\u0142\u0105czenie uszkodzonych w\u0119z\u0142\u00f3w.<\/p>\n<p>Istniej\u0105 dwie kategorie metod odgrodzenia, kt\u00f3re nazwa\u0142bym <i>bezpo\u015brednimi<\/i> i <i>po\u015brednimi<\/i>, ale w r\u00f3wnym stopniu mo\u017cna je nazwa\u0107 <i>aktywnymi<\/i> i <i>biernymi<\/i>. Metody bezpo\u015brednie obejmuj\u0105 dzia\u0142ania ze strony przetrwa\u0142ych w\u0119z\u0142\u00f3w peers, takie jak interakcja z urz\u0105dzeniem IPMI (Intelligent Platform Management Interface \u2013 interfejs do zdalnego monitorowania i zarz\u0105dzania fizycznym stanem serwera) lub iLO (mechanizm zarz\u0105dzania serwerami w warunkach braku dost\u0119pu fizycznego do nich), podczas gdy metody po\u015brednie polegaj\u0105 na tym, \u017ce uszkodzony w\u0119ze\u0142 w jaki\u015b spos\u00f3b rozpoznaje, \u017ce znajduje si\u0119 w z\u0142ym stanie (lub przynajmniej przeszkadza innym cz\u0142onkom w powrocie do sprawno\u015bci) i sygnalizuje <noindex><a rel=\"nofollow\" href=\"https:\/\/en.wikipedia.org\/wiki\/Watchdog_timer\">hardware watchdog<\/a><\/noindex> konieczno\u015b\u0107 wy\u0142\u0105czenia uszkodzonego w\u0119z\u0142a.<\/p>\n<p>Kworum pomaga w przypadku stosowania zar\u00f3wno metod bezpo\u015brednich, jak i po\u015brednich.<\/p>\n<h3>Bezpo\u015brednie odgrodzenie<\/h3>\n<p>\nW przypadku bezpo\u015bredniego odgrodzenia mo\u017cemy wykorzysta\u0107 kworum, aby zapobiec wy\u015bcigom odgrodzeniowym w przypadku awarii sieci.<\/p>\n<p>Maj\u0105c koncepcj\u0119 kworum, w systemie dost\u0119pne s\u0105 wystarczaj\u0105ce informacje (nawet bez po\u0142\u0105czenia ze swoimi partnerami), aby w\u0119z\u0142y automatycznie wiedzia\u0142y, czy powinny inicjowa\u0107 odgrodzenie i\/lub przywracanie.<\/p>\n<p>Bez kworum obie strony podzia\u0142u sieci s\u0142usznie zak\u0142adaj\u0105, \u017ce druga strona jest martwa, i b\u0119d\u0105 d\u0105\u017cy\u0107 do odgrodzenia drugiej. W najgorszym przypadku obie strony s\u0105 w stanie wy\u0142\u0105czy\u0107 ca\u0142y klaster. Alternatywnym scenariuszem jest deathmatch, niesko\u0144czona p\u0119tla w\u0119z\u0142\u00f3w, kt\u00f3re si\u0119 pojawiaj\u0105, nie widz\u0105 swoich partner\u00f3w, ponownie uruchamiaj\u0105 je i inicjuj\u0105 przywracanie, tylko po to, aby zrestartowa\u0107, gdy ich partner przechodzi przez t\u0119 sam\u0105 logik\u0119.<\/p>\n<p>Problem of fencing lies in the fact that the most commonly used devices become unavailable due to the same failure events we want to target for recovery. Most IPMI and iLO cards are installed on the hosts they control and, by default, use the same network, causing the target nodes to think that other nodes are offline.<\/p>\n<p>Unfortunately, the specifics of IPMI and iLO device operations are rarely considered at the time of equipment purchase.<\/p>\n<h3>Indirect fencing<\/h3>\n<p>\nQuorum is also important for managing indirect fencing; if done correctly, quorum can allow the survivors to assume that the lost nodes will transition to a safe state after a certain period.<\/p>\n<p>In this setup, the hardware watchdog timer resets every N seconds if quorum is not lost. If the timer (usually several multiples of N) expires, the device performs an ungraceful power off (not shutdown).<\/p>\n<p>This approach is very effective, but without quorum for its management, there is insufficient information within the cluster. It is not easy to distinguish between a network disconnection and a partner node failure. The reason this matters is that without the ability to differentiate between the two cases, you are forced to choose the same mode of behavior in both cases.<\/p>\n<p>The problem with choosing one mode is that there is no course of action that maximizes availability and prevents data loss.<\/p>\n<ul>\n<li>If you decide to assume that the partner node is active, but it has actually failed, the cluster unnecessarily stops services that should have been running to compensate for the loss of the failed partner node's services.<\/li>\n<li>If you decide to assume that the node is not working, but it was just a network failure and the remote node is actually functioning, then at best, you are committing to some future manual reconciliation of the resulting data sets.<\/li>\n<\/ul>\n<p>\nRegardless of which heuristic you use, it is trivial to create a failure that either forces both sides to work or causes the cluster to shut down the surviving nodes. Not using quorum really deprives the cluster of one of its most powerful tools.<\/p>\n<p>Je\u015bli nie ma innej alternatywy, najlepszym podej\u015bciem b\u0119dzie po\u015bwi\u0119cenie dost\u0119pno\u015bci (autor odnosi si\u0119 tutaj do teorii CAP). Wysoka dost\u0119pno\u015b\u0107 uszkodzonych danych nikomu nie pomaga, a r\u0119czne por\u00f3wnywanie r\u00f3\u017cnych zestaw\u00f3w danych r\u00f3wnie\u017c nie jest przyjemne.<\/p>\n<h2>Kworam<\/h2>\n<p>\nKworam brzmi \u015bwietnie, prawda?<\/p>\n<p>Jedyn\u0105 wad\u0105 jest to, \u017ce aby mie\u0107 go w klastrze z N cz\u0142onkami, musisz utrzyma\u0107 po\u0142\u0105czenie mi\u0119dzy N \/ 2 + 1 z twoich w\u0119z\u0142\u00f3w. Co jest niemo\u017cliwe w klastrze z dwoma w\u0119z\u0142ami po awarii jednego z nich.<\/p>\n<p>To prowadzi nas do zasadniczego problemu z dwoma w\u0119z\u0142ami:<br \/>\nkworam nie ma sensu w klastrach dwuw\u0119z\u0142owych, a bez niego nie mo\u017cna wiarygodnie okre\u015bli\u0107 kursu dzia\u0142a\u0144, kt\u00f3ry maksymalizuje dost\u0119pno\u015b\u0107 i zapobiega utracie danych.<br \/>\nNawet w systemie z dwoma w\u0119z\u0142ami po\u0142\u0105czonymi kablem cross, nie mo\u017cna ostatecznie rozr\u00f3\u017cni\u0107 mi\u0119dzy awari\u0105 sieci a awari\u0105 drugiego w\u0119z\u0142a. Od\u0142\u0105czenie jednego ko\u0144ca (czyje wyst\u0105pienie jest zdecydowanie proporcjonalne do odleg\u0142o\u015bci mi\u0119dzy w\u0119z\u0142ami) wystarczy, aby obali\u0107 wszelkie za\u0142o\u017cenia, \u017ce funkcjonalno\u015b\u0107 kana\u0142u jest r\u00f3wna zdrowiu w\u0119z\u0142a-partnera.<\/p>\n<h3>W\u0142\u0105czamy klaster z dw\u00f3ch w\u0119z\u0142\u00f3w<\/h3>\n<p>\nCzasami klient nie mo\u017ce lub nie chce zakupi\u0107 trzeciego w\u0119z\u0142a, a my musimy szuka\u0107 alternatywy.<\/p>\n<h4>Opcja 1 \u2014 Metoda dublowania<\/h4>\n<p>\nUrz\u0105dzenie iLO lub IPMI w\u0119z\u0142a stanowi punkt awarii, poniewa\u017c w przypadku awarii pozostali \u017cywi nie mog\u0105 go u\u017cy\u0107 do wyprowadzenia w\u0119z\u0142a w bezpieczny stan. W klastrze z 3 lub wi\u0119cej w\u0119z\u0142ami mo\u017cemy z\u0142agodzi\u0107 to, obliczaj\u0105c kworam i u\u017cywaj\u0105c hardware watchdog (mechanizm po\u015bredniego od\u0142\u0105czania, jak om\u00f3wiono wcze\u015bniej). W przypadku dw\u00f3ch w\u0119z\u0142\u00f3w musimy zamiast tego u\u017cywa\u0107 prze\u0142\u0105cznik\u00f3w zasilania (power distribution units lub PDUs).<\/p>\n<p>Po awarii prze\u017cy\u0142y w\u0119z\u0142y najpierw pr\u00f3buj\u0105 skontaktowa\u0107 si\u0119 z g\u0142\u00f3wnym urz\u0105dzeniem od\u0142\u0105czaj\u0105cym (wbudowanym iLO lub IPMI). Je\u015bli im si\u0119 uda, przywracanie trwa jak zwykle. Tylko w przypadku awarii urz\u0105dzenia iLO \/ IPMI nast\u0119puje kontakt z PDU, je\u015bli kontakt si\u0119 powiedzie, przywracanie mo\u017ce by\u0107 kontynuowane.<\/p>\n<p>Koniecznie umie\u015b\u0107 PDU w innym sieci ni\u017c ruch klastra, w przeciwnym razie awaria jednego z po\u0142\u0105cze\u0144 zablokuje dost\u0119p do urz\u0105dze\u0144 segmentacyjnych oraz zablokuje odzyskiwanie us\u0142ug.<\/p>\n<p>Mo\u017cesz zapyta\u0107 \u2013 czy urz\u0105dzenie PDU nie jest jedynym punktem awarii? Odpowied\u017a brzmi \u2013 oczywi\u015bcie, \u017ce jest.<\/p>\n<p>Je\u015bli to ryzyko jest dla Ciebie istotne \u2013 nie jeste\u015b sam: pod\u0142\u0105cz oba w\u0119z\u0142y do dw\u00f3ch PDU i skonfiguruj oprogramowanie klastra, aby u\u017cywa\u0142o obu podczas w\u0142\u0105czania i wy\u0142\u0105czania w\u0119z\u0142\u00f3w. Teraz klaster pozostaje aktywny, je\u015bli jeden PDU zawiedzie, a do zablokowania odzyskania potrzebna b\u0119dzie kolejna awaria \u2013 albo innego PDU, albo urz\u0105dzenia IPMI.<\/p>\n<h4>Opcja 2 \u2013 Dodanie arbitra<\/h4>\n<p>\nW pewnych scenariuszach, chocia\u017c technicznie mo\u017cliwy jest spos\u00f3b podw\u00f3jnego segmentowania, jest on politycznie skomplikowany. Wiele firm preferuje okre\u015blony podzia\u0142 mi\u0119dzy administratorami a w\u0142a\u015bcicielami aplikacji, a sieciowi administratorzy dbaj\u0105cy o bezpiecze\u0144stwo nie zawsze s\u0105 entuzjastycznie nastawieni do przekazywania komukolwiek danych dost\u0119pu do PDU.<\/p>\n<p>W takim przypadku zalecan\u0105 alternatyw\u0105 jest stworzenie neutralnej strony trzeciej, kt\u00f3ra mo\u017ce uzupe\u0142ni\u0107 obliczenie kworum.<\/p>\n<p>W przypadku awarii w\u0119ze\u0142 powinien mie\u0107 mo\u017cliwo\u015b\u0107 dostrzegania eteru swojego partnera lub arbitra, aby odzyska\u0107 us\u0142ugi. Arbiter r\u00f3wnie\u017c zawiera funkcj\u0119 roz\u0142\u0105czenia, je\u015bli oba w\u0119z\u0142y mog\u0105 widzie\u0107 arbitra, ale nie widz\u0105 si\u0119 nawzajem.<\/p>\n<p>Ta opcja powinna by\u0107 u\u017cywana w parze z po\u015bredni\u0105 metod\u0105 segmentacji, tak\u0105 jak sprz\u0119towy zegar monitoruj\u0105cy, kt\u00f3ry jest skonfigurowany na wy\u0142\u0105czenie maszyny, je\u015bli traci po\u0142\u0105czenie ze swoim w\u0119z\u0142em-partnerem i arbitrem. W ten spos\u00f3b prze\u017cywaj\u0105cy mo\u017ce z wystarczaj\u0105c\u0105 pewno\u015bci\u0105 za\u0142o\u017cy\u0107, \u017ce jego w\u0119ze\u0142-partner b\u0119dzie w bezpiecznym stanie po up\u0142ywie czasu sprz\u0119towego zegara monitoruj\u0105cego.<\/p>\n<p>Praktyczna r\u00f3\u017cnica mi\u0119dzy arbitrem a trzecim w\u0119z\u0142em polega na tym, \u017ce arbiter wymaga znacznie mniej zasob\u00f3w do swojej pracy i potencjalnie mo\u017ce obs\u0142ugiwa\u0107 wi\u0119cej ni\u017c jeden klaster.<\/p>\n<h4>Opcja 3 \u2013 Czynnik ludzki<\/h4>\n<p>\nOstatnie podej\u015bcie polega na tym, aby przetrwali kontynuowali wykonywanie wszelkich us\u0142ug, kt\u00f3re ju\u017c \u015bwiadcz\u0105, ale nie uruchamiali nowych, dop\u00f3ki problem nie rozwi\u0105\u017ce si\u0119 sam (przywr\u00f3cenie sieci, ponowne uruchomienie w\u0119z\u0142a), albo cz\u0142owiek nie we\u017amie na siebie odpowiedzialno\u015bci za r\u0119czne potwierdzenie, \u017ce druga strona jest martwa.<\/p>\n<h4>Opcja bonusowa<\/h4>\n<p>\nCzy ju\u017c m\u00f3wi\u0142em, \u017ce mo\u017cesz doda\u0107 trzeci w\u0119ze\u0142?<\/p>\n<h2>Dwie szafy serwerowe<\/h2>\n<p>\nDla argumentu za\u0142\u00f3\u017cmy, \u017ce przekona\u0142em ci\u0119 do zalet trzeciego w\u0119z\u0142a, teraz musimy rozwa\u017cy\u0107 fizyczne rozmieszczenie w\u0119z\u0142\u00f3w. Je\u015bli s\u0105 umieszczone (i zasilane) w tej samej szafie, stanowi to r\u00f3wnie\u017c SPoF, a to, co nie mo\u017ce by\u0107 rozwi\u0105zane przez dodanie drugiej szafy.<\/p>\n<p>Je\u015bli to jest zaskakuj\u0105ce, pomy\u015bl, co si\u0119 stanie, gdy szafa z dwoma w\u0119z\u0142ami ulegnie awarii, a jak przetrwa\u0142y w\u0119ze\u0142 b\u0119dzie rozr\u00f3\u017cnia\u0142 ten przypadek i awari\u0119 sieci.<\/p>\n<p>Kr\u00f3tka odpowied\u017a: to niemo\u017cliwe i ponownie mamy do czynienia z wszystkimi problemami w przypadku dw\u00f3ch w\u0119z\u0142\u00f3w. Albo przetrwa\u0142y:<\/p>\n<ul>\n<li>ignoruje kworum i niepoprawnie pr\u00f3buje zainicjowa\u0107 przywracanie podczas zak\u0142\u00f3ce\u0144 w pracy sieci (mo\u017cliwo\u015b\u0107 zako\u0144czenia od\u0142\u0105czenia to osobna historia i zale\u017cy od zaanga\u017cowania PDU oraz tego, czy dziel\u0105 one moc z kt\u00f3rakolwiek z szaf), albo<\/li>\n<li>szanuje kworum i przedwcze\u015bnie od\u0142\u0105cza si\u0119, gdy jego partner w\u0119ze\u0142 zawodzi<\/li>\n<\/ul>\n<p>\nW ka\u017cdym przypadku dwie szafy serwerowe nie s\u0105 lepsze ni\u017c jedna i w\u0119z\u0142y musz\u0105 mie\u0107 albo niezale\u017cne \u017ar\u00f3d\u0142a zasilania, albo by\u0107 roz\u0142o\u017cone na trzy (lub wi\u0119cej, w zale\u017cno\u015bci od tego, ile masz w\u0119z\u0142\u00f3w) szafy.<\/p>\n<h3>Dwa centra danych<\/h3>\n<p>\nNa tym etapie czytelnicy, kt\u00f3rzy ju\u017c nie s\u0105 sk\u0142onni do ryzyka, mog\u0105 pomy\u015ble\u0107 o odzyskiwaniu po awarii. Co si\u0119 stanie, gdy asteroida uderzy w jedno centrum danych z naszymi trzema w\u0119z\u0142ami, roz\u0142o\u017conymi na trzech r\u00f3\u017cnych szafach? Oczywi\u015bcie, \u017ce z\u0142e rzeczy, ale w zale\u017cno\u015bci od twoich potrzeb dodanie drugiego centrum danych mo\u017ce by\u0107 niewystarczaj\u0105ce.<\/p>\n<p>Je\u015bli wszystko zosta\u0142o zrobione prawid\u0142owo, drugie centrum danych dostarcza Ci (i to rozs\u0105dne) aktualn\u0105 i sp\u00f3jn\u0105 kopi\u0119 Twoich us\u0142ug i ich danych. Jednak, podobnie jak w przypadku scenariuszy z dwoma w\u0119z\u0142ami i dwoma stojakami, w systemie brakuje wystarczaj\u0105cych informacji, aby zapewni\u0107 maksymaln\u0105 dost\u0119pno\u015b\u0107 i zapobiec uszkodzeniu (lub rozbie\u017cno\u015bci zestaw\u00f3w danych). Nawet przy trzech w\u0119z\u0142ach (lub stojakach) ich rozk\u0142ad tylko w dw\u00f3ch centrach danych sprawia, \u017ce system nie jest w stanie wiarygodnie podj\u0105\u0107 w\u0142a\u015bciwej decyzji w przypadku (teraz znacznie bardziej prawdopodobnego) zdarzenia, kt\u00f3re obie strony nie mog\u0105 powi\u0105za\u0107.<\/p>\n<p>To nie oznacza, \u017ce rozwi\u0105zanie z dwoma centrami danych nigdy nie jest odpowiednie. Firmy cz\u0119sto chc\u0105, aby osoba by\u0142a \u015bwiadoma, zanim podejmie nadzwyczajny krok w kierunku przej\u015bcia na zapasowe centrum danych. Po prostu miej na uwadze, \u017ce je\u015bli chcesz zautomatyzowa\u0107 awari\u0119, b\u0119dziesz potrzebowa\u0107 trzeciego centrum danych, aby kworum mia\u0142o sens (bezpo\u015brednio lub przez arbitra), albo musisz znale\u017a\u0107 spos\u00f3b na niezawodne wy\u0142\u0105czenie ca\u0142ego centrum danych.<br \/>\n<br \/>\u0179r\u00f3d\u0142o: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/494264\/\">habr.com<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041f\u0440\u0438\u0432\u0435\u0442, \u0425\u0430\u0431\u0440! \u041f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u044e \u0432\u0430\u0448\u0435\u043c\u0443 \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u044e \u043f\u0435\u0440\u0435\u0432\u043e\u0434 \u0441\u0442\u0430\u0442\u044c\u0438 \u00abTwo Nodes \u2014 The Devil is in the Details\u00bb \u0430\u0432\u0442\u043e\u0440\u0430 Andrew Beekhof. \u041c\u043d\u043e\u0433\u0438\u0435 \u043b\u044e\u0434\u0438 \u043f\u0440\u0435\u0434\u043f\u043e\u0447\u0438\u0442\u0430\u044e\u0442 \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u044b \u0441\u043e\u0441\u0442\u043e\u044f\u0449\u0438\u0435 \u0438\u0437 \u0434\u0432\u0443\u0445 \u0443\u0437\u043b\u043e\u0432, \u043f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e \u043e\u043d\u0438 \u043a\u0430\u0436\u0443\u0442\u0441\u044f \u043a\u043e\u043d\u0446\u0435\u043f\u0442\u0443\u0430\u043b\u044c\u043d\u043e \u0431\u043e\u043b\u0435\u0435 \u043f\u0440\u043e\u0441\u0442\u044b\u043c\u0438, \u043a\u0440\u043e\u043c\u0435 \u0442\u043e\u0433\u043e \u0435\u0449\u0435 \u0438 \u043d\u0430 33% \u0431\u043e\u043b\u0435\u0435 \u0434\u0435\u0448\u0435\u0432\u044b\u043c\u0438 \u0447\u0435\u043c \u0438\u0445 \u0442\u0440\u0435\u0445-\u0443\u0437\u043b\u043e\u0432\u044b\u0435 \u0441\u043e\u0431\u0440\u0430\u0442\u044c\u044f. \u0425\u043e\u0442\u044f \u0432\u043f\u043e\u043b\u043d\u0435 \u0440\u0435\u0430\u043b\u044c\u043d\u043e \u0441\u043e\u0431\u0440\u0430\u0442\u044c \u0445\u043e\u0440\u043e\u0448\u0438\u0439 \u043a\u043b\u0430\u0441\u0442\u0435\u0440 \u0438\u0437 \u0434\u0432\u0443\u0445 \u0443\u0437\u043b\u043e\u0432, [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-75726","post","type-post","status-publish","format-standard","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.1.1 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u041f\u0440\u0438\u0432\u0435\u0442, \u0425\u0430\u0431\u0440!\" \/>\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\/pl\/blog\/administrirovanie\/klaster-iz-dvuh-uzlov-dyavol-v-detalyah\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.1.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"pl_PL\" \/>\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\udd47\u041a\u043b\u0430\u0441\u0442\u0435\u0440 \u0438\u0437 \u0434\u0432\u0443\u0445 \u0443\u0437\u043b\u043e\u0432 \u2013 \u0434\u044c\u044f\u0432\u043e\u043b \u0432 \u0434\u0435\u0442\u0430\u043b\u044f\u0445 | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041f\u0440\u0438\u0432\u0435\u0442, \u0425\u0430\u0431\u0440!\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/pl\/blog\/administrirovanie\/klaster-iz-dvuh-uzlov-dyavol-v-detalyah\" \/>\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-03-28T05:42:08+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-03-28T05:42:08+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\udd47Klaster z dw\u00f3ch w\u0119z\u0142\u00f3w \u2013 diabe\u0142 tkwi w szczeg\u00f3\u0142ach | ProHoster","description":"Cze\u015b\u0107, Habr!","canonical_url":"https:\/\/prohoster.info\/pl\/blog\/administrirovanie\/klaster-iz-dvuh-uzlov-dyavol-v-detalyah","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"pl_PL","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\udd47\u041a\u043b\u0430\u0441\u0442\u0435\u0440 \u0438\u0437 \u0434\u0432\u0443\u0445 \u0443\u0437\u043b\u043e\u0432 \u2013 \u0434\u044c\u044f\u0432\u043e\u043b \u0432 \u0434\u0435\u0442\u0430\u043b\u044f\u0445 | ProHoster","og:description":"\u041f\u0440\u0438\u0432\u0435\u0442, \u0425\u0430\u0431\u0440!","og:url":"https:\/\/prohoster.info\/pl\/blog\/administrirovanie\/klaster-iz-dvuh-uzlov-dyavol-v-detalyah","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-03-28T05:42:08+00:00","article:modified_time":"2020-03-28T05:42:08+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"75726","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 17:50:33","updated":"2022-10-03 21:32:17","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/posts\/75726","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/comments?post=75726"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/posts\/75726\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/media?parent=75726"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/categories?post=75726"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/tags?post=75726"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}