{"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\/sv\/blog\/administrirovanie\/klaster-iz-dvuh-uzlov-dyavol-v-detalyah","title":{"rendered":"Ett kluster med tv\u00e5 noder \u2013 dj\u00e4vulen ligger i detaljerna","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Hej, Habr! Jag presenterar \u00f6vers\u00e4ttningen av artikeln <noindex><a rel=\"nofollow\" href=\"http:\/\/blog.clusterlabs.org\/blog\/2018\/two-node-problems\">\u00abTv\u00e5 noder \u2013 Dj\u00e4vulen ligger i detaljerna\u00bb<\/a><\/noindex> f\u00f6rfattaren Andrew Beekhof.<\/p>\n<p>M\u00e5nga m\u00e4nniskor f\u00f6redrar kluster som best\u00e5r av tv\u00e5 noder, eftersom de verkar konceptuellt enklare, dessutom \u00e4r de 33% billigare \u00e4n deras tre-nods syskon. \u00c4ven om det \u00e4r fullt m\u00f6jligt att bygga ett bra kluster med tv\u00e5 noder, skapar en s\u00e5dan konfiguration i m\u00e5nga fall en m\u00e4ngd oklara problem p\u00e5 grund av o\u00f6verv\u00e4gda scenarier.<br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><br \/>\nDet f\u00f6rsta steget i att skapa vilket h\u00f6g tillg\u00e4nglighetssystem som helst \u00e4r att identifiera och f\u00f6rs\u00f6ka \u00e5tg\u00e4rda enskilda felpunkter, ofta f\u00f6rkortat till <i>SPoF<\/i> (single point of failure).<\/p>\n<p>Det \u00e4r viktigt att ha i \u00e5tanke att det i n\u00e5got system \u00e4r om\u00f6jligt att eliminera alla potentiella driftavbrott. Detta beror \u00e5tminstone p\u00e5 att typisk f\u00f6r att skydda mot risker \u00e4r att inf\u00f6ra viss redundans, vilket leder till \u00f6kad systemkomplexitet och nya felpunkter. D\u00e4rf\u00f6r g\u00f6r vi fr\u00e5n b\u00f6rjan en kompromiss och fokuserar p\u00e5 h\u00e4ndelser kopplade till enskilda felpunkter, snarare \u00e4n p\u00e5 kedjor av relaterade och d\u00e4rmed allt mindre sannolika h\u00e4ndelser.<\/p>\n<p>Med h\u00e4nsyn till kompromisserna letar vi inte bara efter SPoF, utan balanserar ocks\u00e5 risker och konsekvenser, vilket inneb\u00e4r att slutsatsen om vad som \u00e4r kritiskt och vad som inte \u00e4r det kan variera f\u00f6r varje distribution.<\/p>\n<blockquote><p>Inte alla beh\u00f6ver alternativa el-leverant\u00f6rer med oberoende kraftledningar. \u00c4ven om paranoia har l\u00f6nat sig \u00e5tminstone f\u00f6r en kund, n\u00e4r deras \u00f6vervakning uppt\u00e4ckte en trasig transformer. Kunden ringde f\u00f6r att f\u00f6rs\u00f6ka varna energibolaget tills den trasiga transformern exploderade.<\/p><\/blockquote>\n<p>\nEn naturlig utg\u00e5ngspunkt \u00e4r att ha mer \u00e4n en nod i systemet. Men innan systemet kan flytta tj\u00e4nster till den \u00f6verlevande noden efter ett fel, m\u00e5ste det generellt sett s\u00e4kerst\u00e4llas att de flyttade tj\u00e4nsterna inte \u00e4r aktiva p\u00e5 n\u00e5got annat st\u00e4lle.<\/p>\n<p>Ett tv\u00e5noders kluster har inga nackdelar om b\u00e5da noderna i h\u00e4ndelse av ett avbrott hanterar samma statiska webbplats. Men allt \u00e4ndras om b\u00e5da sidorna oberoende hanterar en gemensam k\u00f6 av uppgifter eller erbjuder icke-synkroniserad skriv\u00e5tkomst till en replikerad databas eller ett gemensamt filsystem.<\/p>\n<p>D\u00e4rf\u00f6r, f\u00f6r att f\u00f6rhindra dataskador till f\u00f6ljd av ett nodes misslyckande \u2013 f\u00f6rlitar vi oss p\u00e5 det som kallas <i>\u00bbavgr\u00e4nsning\u00ab<\/i> (fencing).<\/p>\n<h2>Principen f\u00f6r avgr\u00e4nsning<\/h2>\n<p>\nVid basen av avgr\u00e4nsningsprincipen ligger fr\u00e5gan: kan en konkurrerande nod orsaka dataskador? Om dataskador \u00e4r ett troligt scenario \u2013 \u00e4r en bra l\u00f6sning att isolera noden fr\u00e5n b\u00e5de inkommande f\u00f6rfr\u00e5gningar och permanent lagring. Den mest anv\u00e4nda metoden f\u00f6r avgr\u00e4nsning \u00e4r att st\u00e4nga av defekta noder.<\/p>\n<p>Det finns tv\u00e5 kategorier av avgr\u00e4nsningsmetoder som jag kommer att kalla <i>direkta<\/i> och <i>indirekta<\/i>, men de kan ocks\u00e5 kallas <i>aktiva<\/i> och <i>passiva<\/i>. Direkta metoder omfattar \u00e5tg\u00e4rder fr\u00e5n kvarst\u00e5ende likv\u00e4rdiga noder, s\u00e5som interaktion med en IPMI-enhet (Intelligent Platform Management Interface \u2013 gr\u00e4nssnitt f\u00f6r fj\u00e4rr\u00f6vervakning och hantering av en servers fysiska tillst\u00e5nd) eller iLO (en serverhanteringsmekanism i fr\u00e5nvaro av fysisk \u00e5tkomst), medan indirekta metoder f\u00f6rlitar sig p\u00e5 den misslyckade noden att p\u00e5 n\u00e5got s\u00e4tt k\u00e4nna igen att den \u00e4r i ett oh\u00e4lsosamt tillst\u00e5nd (eller \u00e5tminstone hindrar andra noder fr\u00e5n att \u00e5terh\u00e4mta sig) och signalera <noindex><a rel=\"nofollow\" href=\"https:\/\/en.wikipedia.org\/wiki\/Watchdog_timer\">hardware watchdog<\/a><\/noindex> om behovet av att st\u00e4nga av den misslyckade noden.<\/p>\n<p>Kvorum hj\u00e4lper vid anv\u00e4ndning av b\u00e5de direkta och indirekta metoder.<\/p>\n<h3>Direkt avgr\u00e4nsning<\/h3>\n<p>\nVid direkt avgr\u00e4nsning kan vi anv\u00e4nda kvorum f\u00f6r att f\u00f6rhindra avgr\u00e4nsningskappningar i h\u00e4ndelse av n\u00e4tverksfel.<\/p>\n<p>Med kvorumkonceptet har systemet tillr\u00e4cklig information (\u00e4ven utan att vara anslutet till sina partners) f\u00f6r att noder automatiskt ska veta om de ska initiera avgr\u00e4nsning och \/ eller \u00e5terst\u00e4llning.<\/p>\n<p>Utan kvorum antar b\u00e5da sidor av n\u00e4tverksuppdelningen r\u00e4ttvist att den andra sidan \u00e4r d\u00f6d och kommer att str\u00e4va efter att avgr\u00e4nsa den andra. I v\u00e4rsta fall lyckas b\u00e5da sidor att st\u00e4nga av hela klustret. Ett alternativt scenario \u2013 deathmatch, en o\u00e4ndlig cykel av noder som dyker upp, som inte ser sina grannar, omstartar dem och initierar \u00e5terst\u00e4llningar bara f\u00f6r att starta om n\u00e4r deras granne f\u00f6ljer samma logik.<\/p>\n<p>Problemet med att s\u00e4rskilja best\u00e5r i att de mest anv\u00e4nda enheterna ofta blir otillg\u00e4ngliga p\u00e5 grund av samma felh\u00e4ndelser som vi vill \u00e5terh\u00e4mta oss fr\u00e5n. De flesta IPMI- och iLO-kort \u00e4r installerade p\u00e5 de v\u00e4rdar de \u00f6vervakar och anv\u00e4nder som standard samma n\u00e4tverk, vilket g\u00f6r att de m\u00e5linriktade noderna tror att de andra noderna \u00e4r offline.<\/p>\n<p>Tyv\u00e4rr beaktas s\u00e4llan egenskaperna hos IPMI- och iLo-enheter vid k\u00f6p av utrustning.<\/p>\n<h3>Indirekt s\u00e4rskiljande<\/h3>\n<p>\nKvorum \u00e4r ocks\u00e5 viktigt f\u00f6r att hantera indirekta s\u00e4rskiljanden; om allt g\u00f6rs korrekt kan kvorumet l\u00e5ta \u00f6verlevande anta att de f\u00f6rlorade noderna efter en viss tid g\u00e5r in i ett s\u00e4kert tillst\u00e5nd.<\/p>\n<p>Med denna inst\u00e4llning \u00e5terst\u00e4lls h\u00e5rdvaru\u00f6vervakningens timer var N:e sekund, om kvorumet inte har f\u00f6rlorats. Om timern (vanligtvis n\u00e5got multipel av N) g\u00e5r ut, g\u00f6r enheten en o\u00f6nskad avst\u00e4ngning (inte shutdown).<\/p>\n<p>Denna metod \u00e4r mycket effektiv, men utan kvorum f\u00f6r att styra den, finns det inte tillr\u00e4ckligt med information inom klustret. Det \u00e4r inte l\u00e4tt att avg\u00f6ra skillnaden mellan att n\u00e4tverket st\u00e4ngs av och att en partnernod har fallerat. Anledningen till att detta \u00e4r viktigt \u00e4r att om du inte kan s\u00e4rskilja de tv\u00e5 fallen, tvingas du v\u00e4lja samma beteendem\u00f6nster i b\u00e5da fallen.<\/p>\n<p>Problemet med att v\u00e4lja ett enda l\u00e4ge \u00e4r att det inte finns n\u00e5got handlingss\u00e4tt som maximalt \u00f6kar tillg\u00e4ngligheten och f\u00f6rhindrar dataloss.<\/p>\n<ul>\n<li>Om du beslutar att anta att partnernoden \u00e4r aktiv, men det faktiskt har intr\u00e4ffat ett fel, kommer klustret att avbryta tj\u00e4nster i on\u00f6dan som borde ha varit aktiva f\u00f6r att kompensera f\u00f6r f\u00f6rlusten av tj\u00e4nster fr\u00e5n den fallna partnernoden.<\/li>\n<li>Om du beslutar att anta att noden inte fungerar, men det faktiskt bara var ett n\u00e4tverksfel och den fj\u00e4rrnodet fungerar, d\u00e5 i b\u00e4sta fall m\u00e5ste du r\u00e4kna med att g\u00f6ra en manuell synkronisering av de resulterande datam\u00e4ngderna i framtiden.<\/li>\n<\/ul>\n<p>\nOavsett vilken heuristik du anv\u00e4nder, \u00e4r det enkelt att \u00e5stadkomma ett fel som antingen f\u00e5r b\u00e5da sidor att fungera eller f\u00e5r klustret att st\u00e4nga av de \u00f6verlevande noderna. Att inte anv\u00e4nda kvorum ber\u00f6var faktiskt klustret ett av de m\u00e4ktigaste verktygen i dess arsenal.<\/p>\n<p>Om det inte finns n\u00e5got annat alternativ, \u00e4r den b\u00e4sta metoden att offra tillg\u00e4nglighet (h\u00e4r refererar f\u00f6rfattaren till CAP-teoremet). H\u00f6g tillg\u00e4nglighet av korrupt data hj\u00e4lper ingen, och att manuellt kontrollera olika datam\u00e4ngder \u00e4r inte heller trevligt.<\/p>\n<h2>Kvorum<\/h2>\n<p>\nKvorum l\u00e5ter bra, eller hur?<\/p>\n<p>Den enda nackdelen \u00e4r att f\u00f6r att ha det i en kluster med N medlemmar, m\u00e5ste du ha en anslutning kvar mellan N \/ 2 + 1 av dina noder. Detta \u00e4r om\u00f6jligt i en kluster med tv\u00e5 noder efter att en nod har misslyckats.<\/p>\n<p>Vad som s\u00e5 sm\u00e5ningom leder oss till det fundamentala problemet med tv\u00e5 noder:<br \/>\nkvorum \u00e4r meningsl\u00f6st i kluster med tv\u00e5 noder, och utan det \u00e4r det om\u00f6jligt att p\u00e5litligt avg\u00f6ra en handlingsplan som maximerar tillg\u00e4ngligheten och f\u00f6rhindrar dataloss.<br \/>\n\u00c4ven i ett system med tv\u00e5 noder, anslutna med korskablar, \u00e4r det om\u00f6jligt att definitivt s\u00e4rskilja mellan n\u00e4tverksavbrott och ett misslyckande av den andra noden. Avbrott av ena \u00e4nden (vars sannolikhet visserligen \u00e4r proportionell mot avst\u00e5ndet mellan noder) skulle vara tillr\u00e4ckligt f\u00f6r att motbevisa varje antagande om att kanalens funktionalitet \u00e4r lika med h\u00e4lsan hos partnernoden.<\/p>\n<h3>F\u00e5 tv\u00e5noderklustret att fungera<\/h3>\n<p>\nIbland kan kunden inte eller vill inte k\u00f6pa en tredje nod, och vi m\u00e5ste leta efter ett alternativ.<\/p>\n<h4>Alternativ 1 - Dubbel metod f\u00f6r avskiljning<\/h4>\n<p>\nEn iLO- eller IPMI-enhet f\u00f6r noden \u00e4r en punkt f\u00f6r fel, eftersom de \u00f6verlevande, vid misslyckande, inte kan anv\u00e4nda den f\u00f6r att s\u00e4tta noden i ett s\u00e4kert tillst\u00e5nd. I ett kluster med 3 eller fler noder kan vi mildra detta genom att r\u00e4kna kvorum och anv\u00e4nda en h\u00e5rdvaru\u00f6vervakare (en mekanism f\u00f6r indirekt avskiljning, som diskuterats tidigare). I fallet med tv\u00e5 noder m\u00e5ste vi i st\u00e4llet anv\u00e4nda n\u00e4tverksp\u00f6ningsanordningar (power distribution units eller PDUs).<\/p>\n<p>Efter ett misslyckande f\u00f6rs\u00f6ker den \u00f6verlevande f\u00f6rst att kontakta den prim\u00e4ra avskiljningsanordningen (inbyggd iLO eller IPMI). Om det lyckas, forts\u00e4tter \u00e5terst\u00e4llningen som vanligt. Endast i fallet med misslyckande av enheten iLO \/ IPMI sker kontakt med PDU, och om det \u00e4r framg\u00e5ngsrikt kan \u00e5terst\u00e4llningen forts\u00e4tta.<\/p>\n<p>Se f\u00f6rs\u00e4kra er om att placera PDU p\u00e5 ett n\u00e4tverk som skiljer sig fr\u00e5n trafiken f\u00f6r klustret, annars kan ett enstaka n\u00e4tverksfel blockera tillg\u00e5ngen b\u00e5de till avst\u00e4ngningsenheterna och till \u00e5terst\u00e4llningen av tj\u00e4nster.<\/p>\n<p>H\u00e4r kan ni fr\u00e5ga er \u2013 \u00e4r inte PDU-enheten en enda felpunkt? Svaret \u00e4r \u2013 naturligtvis \u00e4r den det.<\/p>\n<p>Om denna risk \u00e4r betydande f\u00f6r er \u2013 ni \u00e4r inte ensamma: anslut b\u00e5da noder till tv\u00e5 PDU:er och ange klusterprogramvaran att anv\u00e4nda b\u00e5da vid p\u00e5- och avst\u00e4ngning av noder. Nu f\u00f6rblir klustret aktivt om en PDU d\u00f6r, och f\u00f6r att blockera \u00e5terst\u00e4llning kr\u00e4vs en andra felpunkt, antingen fr\u00e5n den andra PDU:en eller IPMI-enheten.<\/p>\n<h4>Alternativ 2 \u2013 Tills\u00e4tt en skiljedomare<\/h4>\n<p>\nI vissa scenarier, \u00e4ven om metoden f\u00f6r dubbel avst\u00e4ngning tekniskt \u00e4r m\u00f6jlig, \u00e4r den politiskt komplicerad. M\u00e5nga f\u00f6retag f\u00f6redrar att ha en tydlig \u00e5tskillnad mellan administrat\u00f6rer och applikations\u00e4gare, och s\u00e4kerhetsmedvetna n\u00e4tverksadministrat\u00f6rer \u00e4r inte alltid entusiastiska n\u00e4r det kommer till att ge n\u00e5gon som helst \u00e5tkomst till PDU.<\/p>\n<p>I detta fall \u00e4r det rekommenderade alternativet att skapa en neutral tredje part som kan komplettera kvorumber\u00e4kningen.<\/p>\n<p>Vid fel ska noden kunna se sin partners eller skiljedomsarens signal f\u00f6r att \u00e5terst\u00e4lla tj\u00e4nster. Skiljedomaren inkluderar ocks\u00e5 en funktionen f\u00f6r att bryta anslutningen, om b\u00e5da noderna kan se skiljedomaren men inte varandra.<\/p>\n<p>Detta alternativ b\u00f6r anv\u00e4ndas tillsammans med en indirekt avst\u00e4ngningsmetod, till exempel en h\u00e5rdvaru-watchdog-timer som \u00e4r inst\u00e4lld p\u00e5 att st\u00e4nga av maskinen om den mister anslutningen till sin partnernod och skiljedomaren. P\u00e5 s\u00e5 s\u00e4tt kan \u00f6verlevande med tillr\u00e4cklig s\u00e4kerhet f\u00f6ruts\u00e4ga att deras partnernod kommer att vara i ett s\u00e4kert tillst\u00e5nd efter att h\u00e5rdvaru-watchdog-timern har l\u00f6pt ut.<\/p>\n<p>Det praktiska skillnaden mellan en skiljedomare och en tredje nod \u00e4r att skiljedomaren kr\u00e4ver betydligt mindre resurser f\u00f6r att fungera och kan potentiellt betj\u00e4na mer \u00e4n ett kluster.<\/p>\n<h4>Alternativ 3 \u2013 Den m\u00e4nskliga faktorn<\/h4>\n<p>\nDen sista metoden handlar om att de \u00f6verlevande forts\u00e4tter att utf\u00f6ra eventuella tj\u00e4nster de redan har k\u00f6rt, men inte starta n\u00e5gra nya, f\u00f6rr\u00e4n antingen problemet l\u00f6ser sig sj\u00e4lvt (n\u00e4tverks\u00e5terst\u00e4llning, omstart av nod) eller n\u00e5gon tar ansvar f\u00f6r att manuellt bekr\u00e4fta att den andra sidan \u00e4r d\u00f6d.<\/p>\n<h4>Bonusalternativ<\/h4>\n<p>\nHar jag redan n\u00e4mnt att du kan l\u00e4gga till en tredje nod?<\/p>\n<h2>Tv\u00e5 rack<\/h2>\n<p>\nF\u00f6r argumentets skull, l\u00e5t oss anta att jag \u00f6vertygade dig om f\u00f6rdelarna med en tredje nod, nu m\u00e5ste vi \u00f6verv\u00e4ga den fysiska placeringen av noderna. Om de \u00e4r placerade (och f\u00e5r str\u00f6m) i samma rack, utg\u00f6r det ocks\u00e5 ett SPoF, och en s\u00e5dan som inte kan l\u00f6sas genom att l\u00e4gga till ett andra rack.<\/p>\n<p>Om detta \u00e4r \u00f6verraskande, t\u00e4nk p\u00e5 vad som skulle h\u00e4nda om racken med tv\u00e5 noder g\u00e5r ner, och hur den \u00f6verlevande noden skulle s\u00e4rskilja detta fall och n\u00e4tverksfelet.<\/p>\n<p>Det korta svaret: det \u00e4r om\u00f6jligt, och vi har \u00e5terigen att hantera alla problem som \u00e4r involverade med tv\u00e5 noder. Antingen \u00f6verlever:<\/p>\n<ul>\n<li>ignorerar kvorum och f\u00f6rs\u00f6ker felaktigt initiera \u00e5terst\u00e4llning under n\u00e4tverksavbrott (m\u00f6jligheten till avbrott \u00e4r en separat historia och beror p\u00e5 huruvida PDU:n \u00e4r involverad och om de delar str\u00f6m med n\u00e5got av racken), eller<\/li>\n<li>respekterar kvorum och st\u00e4nger sig sj\u00e4lv f\u00f6r tidigt n\u00e4r dess partnernod misslyckas.<\/li>\n<\/ul>\n<p>\nI vilket fall som helst, tv\u00e5 rack \u00e4r inte b\u00e4ttre \u00e4n ett, och noderna m\u00e5ste antingen f\u00e5 oberoende str\u00f6mk\u00e4llor eller spridas \u00f6ver tre (eller fler, beroende p\u00e5 hur m\u00e5nga noder du har) rack.<\/p>\n<h3>Tv\u00e5 datacenter<\/h3>\n<p>\nVid det h\u00e4r laget kan l\u00e4sare som inte l\u00e4ngre \u00e4r ben\u00e4gna att ta risker \u00f6verv\u00e4ga katastrof\u00e5terst\u00e4llning. Vad h\u00e4nder n\u00e4r en asteroid tr\u00e4ffar ett datacenter med v\u00e5ra tre noder distribuerade \u00f6ver tre olika rack? Uppenbarligen d\u00e5liga saker, men beroende p\u00e5 dina behov kan till\u00e4gg av ett andra datacenter vara otillr\u00e4ckligt.<\/p>\n<p>Om allt g\u00f6rs korrekt, ger det andra datacentret dig (och detta \u00e4r rimligt) en aktuell och konsekvent kopia av dina tj\u00e4nster och deras data. Men precis som i scenarier med tv\u00e5 noder och tv\u00e5 rack, har systemet inte tillr\u00e4ckligt med information f\u00f6r att s\u00e4kerst\u00e4lla maximal tillg\u00e4nglighet och f\u00f6rhindra skador (eller avvikelser i datam\u00e4ngder). \u00c4ven med tre noder (eller rack) l\u00e4mnar deras f\u00f6rdelning \u00f6ver endast tv\u00e5 datacenter systemet of\u00f6rm\u00f6get att p\u00e5litligt fatta r\u00e4tt beslut vid en h\u00e4ndelse (nu mycket mer sannolikt) som b\u00e5da sidor inte kan koppla till.<\/p>\n<p>Detta betyder inte att en l\u00f6sning med tv\u00e5 datacenter aldrig \u00e4r l\u00e4mplig. F\u00f6retag vill ofta att n\u00e5gon ska vara medveten innan man vidtar en extraordin\u00e4r \u00e5tg\u00e4rd f\u00f6r att \u00f6verg\u00e5 till ett reservdatacenter. T\u00e4nk bara p\u00e5 att om du vill automatisera ett fel beh\u00f6ver du antingen ett tredje datacenter s\u00e5 att kvorum \u00e4r meningsfullt (direkt eller genom en domare), eller s\u00e5 m\u00e5ste du hitta ett s\u00e4tt att p\u00e5litligt st\u00e4nga av hela datacentret.<br \/>\n<br \/>K\u00e4lla: <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.4 - 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\/sv\/blog\/administrirovanie\/klaster-iz-dvuh-uzlov-dyavol-v-detalyah\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.4\" \/>\n\t\t<meta property=\"og:locale\" content=\"sv_SE\" \/>\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\/sv\/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\udd47Klustret med tv\u00e5 noder \u2013 dj\u00e4vulen ligger i detaljerna | ProHoster","description":"Hej, Habr!","canonical_url":"https:\/\/prohoster.info\/sv\/blog\/administrirovanie\/klaster-iz-dvuh-uzlov-dyavol-v-detalyah","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"sv_SE","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\/sv\/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\/sv\/wp-json\/wp\/v2\/posts\/75726","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/comments?post=75726"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/posts\/75726\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/media?parent=75726"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/categories?post=75726"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/tags?post=75726"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}