{"id":2997,"date":"2026-10-15T10:35:32","date_gmt":"2026-10-15T08:35:32","guid":{"rendered":"https:\/\/www.sprintdatacenter.pl\/blog\/?p=2997"},"modified":"2026-10-15T10:35:32","modified_gmt":"2026-10-15T08:35:32","slug":"test-przelaczenia-awaryjnego-czy-drugi-serwer-naprawde","status":"publish","type":"post","link":"https:\/\/www.sprintdatacenter.pl\/blog\/test-przelaczenia-awaryjnego-czy-drugi-serwer-naprawde\/","title":{"rendered":"Test prze\u0142\u0105czenia awaryjnego: czy drugi serwer naprawd\u0119 przejmie ruch?"},"content":{"rendered":"<h1>Test prze\u0142\u0105czenia awaryjnego: czy drugi serwer naprawd\u0119 przejmie ruch?<\/h1>\n<p>Drugi serwer, replikacja bazy danych i adres IP, kt\u00f3ry w razie awarii przeskakuje na w\u0119ze\u0142 zapasowy \u2014 na schemacie architektura wysokiej dost\u0119pno\u015bci wygl\u0105da przekonuj\u0105co. Problem w tym, \u017ce schemat nie m\u00f3wi nic o tym, czy prze\u0142\u0105czenie zadzia\u0142a dzisiaj. Konfiguracja \u017cyje: kto\u015b aktualizuje system, dopisuje regu\u0142\u0119 zapory, odnawia certyfikat, zmienia has\u0142o do bazy. Je\u015bli te zmiany trafi\u0142y tylko na serwer g\u0142\u00f3wny, rezerwa przestaje by\u0107 rezerw\u0105, a firma dowiaduje si\u0119 o tym w najgorszym mo\u017cliwym momencie.<\/p>\n<nav class=\"sdc-toc\">\n<h2>Spis tre\u015bci<\/h2>\n<ul>\n<li><a href=\"#co-psuje-sie-w-rezerwie\">Co psuje si\u0119 w rezerwie, kt\u00f3rej nikt nie sprawdza<\/a><\/li>\n<li><a href=\"#jak-przygotowac-pierwszy-test\">Jak przygotowa\u0107 pierwszy test<\/a><\/li>\n<li><a href=\"#jak-przeprowadzic-test\">Jak przeprowadzi\u0107 test<\/a><\/li>\n<li><a href=\"#powrot-na-serwer-glowny-to\">Powr\u00f3t na serwer g\u0142\u00f3wny to osobny test<\/a><\/li>\n<li><a href=\"#co-zapisac-po-tescie\">Co zapisa\u0107 po te\u015bcie<\/a><\/li>\n<li><a href=\"#gdzie-konczy-sie-rola-data\">Gdzie ko\u0144czy si\u0119 rola data center<\/a><\/li>\n<li><a href=\"#podsumowanie\">Podsumowanie<\/a><\/li>\n<li><a href=\"#faq-najczesciej-zadawane-pytania-o\">FAQ \u2013 najcz\u0119\u015bciej zadawane pytania o test prze\u0142\u0105czenia awaryjnego<\/a><\/li>\n<\/ul>\n<\/nav>\n<p>Dlatego <strong>test prze\u0142\u0105czenia awaryjnego<\/strong> (failover test) jest dla klastra tym, czym test odtwarzania jest dla backupu. O tym, jak sprawdza\u0107 kopie zapasowe, pisali\u015bmy we wpisie <a href=\"https:\/\/www.sprintdatacenter.pl\/blog\/kiedy-ostatnio-odtwarzales-dane-z-kopii-zapasowej\/\">Kiedy ostatnio odtwarza\u0142e\u015b dane z kopii zapasowej?<\/a>. Dzi\u015b zajmiemy si\u0119 drug\u0105 po\u0142ow\u0105 tej samej uk\u0142adanki.<\/p>\n<h2 id=\"co-psuje-sie-w-rezerwie\">Co psuje si\u0119 w rezerwie, kt\u00f3rej nikt nie sprawdza<\/h2>\n<p>W\u0119ze\u0142 zapasowy przez wi\u0119kszo\u015b\u0107 czasu nic nie robi, wi\u0119c jego usterki s\u0105 niewidoczne. Najcz\u0119\u015bciej spotykane problemy wygl\u0105daj\u0105 tak:<\/p>\n<ul>\n<li><strong>Zatrzymana lub op\u00f3\u017aniona replikacja.<\/strong> Baza na serwerze zapasowym przesta\u0142a nad\u0105\u017ca\u0107, ale nikt nie monitorowa\u0142 op\u00f3\u017anienia. Po prze\u0142\u0105czeniu aplikacja startuje na danych sprzed wielu godzin.<\/li>\n<li><strong>Rozjechana konfiguracja.<\/strong> Nowa wersja aplikacji, zmienna \u015brodowiskowa albo regu\u0142a zapory zosta\u0142a wdro\u017cona tylko na w\u0119\u017ale g\u0142\u00f3wnym.<\/li>\n<li><strong>Wygas\u0142e certyfikaty i has\u0142a.<\/strong> Certyfikat odnowiono na serwerze, kt\u00f3ry obs\u0142uguje ruch, a na zapasowym le\u017cy stary.<\/li>\n<li><strong>Zale\u017cno\u015bci poza klastrem.<\/strong> Zapasowy serwer nie ma dost\u0119pu do zewn\u0119trznego API, bo partner dopuszcza ruch tylko z jednego adresu IP.<\/li>\n<li><strong>Mechanizm prze\u0142\u0105czenia, kt\u00f3ry nigdy nie zadzia\u0142a\u0142.<\/strong> Wirtualny adres IP, rekord DNS z d\u0142ugim TTL albo arbiter (quorum), kt\u00f3ry w praktyce nie podejmuje decyzji.<\/li>\n<\/ul>\n<p>Ka\u017cd\u0105 z tych usterek \u0142atwo naprawi\u0107, gdy si\u0119 o niej wie. Test s\u0142u\u017cy w\u0142a\u015bnie temu, \u017ceby si\u0119 dowiedzie\u0107.<\/p>\n<h2 id=\"jak-przygotowac-pierwszy-test\">Jak przygotowa\u0107 pierwszy test<\/h2>\n<p>Pierwszy test warto potraktowa\u0107 jak ma\u0142e wdro\u017cenie, a nie jak eksperyment.<\/p>\n<ol>\n<li><strong>Spisz oczekiwania.<\/strong> Ile czasu mo\u017ce trwa\u0107 prze\u0142\u0105czenie i ile danych firma mo\u017ce straci\u0107 \u2014 czyli docelowe RTO i RPO. Bez tego nie ocenisz, czy test si\u0119 uda\u0142. Teoretyczne podstawy tych poj\u0119\u0107 opisali\u015bmy we wpisie o <a href=\"https:\/\/www.sprintdatacenter.pl\/blog\/architektura-high-availability-oparta-na-dwoch-serwerach-dedykowanych-jak-zapewnic-9999-ciaglosci-dzialania-biznesu\/\">architekturze high availability na dw\u00f3ch serwerach dedykowanych<\/a>.<\/li>\n<li><strong>Wybierz okno serwisowe.<\/strong> Pierwszy test rzadko przebiega bezb\u0142\u0119dnie, wi\u0119c zaplanuj go poza godzinami szczytu i uprzed\u017a u\u017cytkownik\u00f3w. Jak ustali\u0107 takie okno, opisali\u015bmy w tek\u015bcie o <a href=\"https:\/\/www.sprintdatacenter.pl\/blog\/okna-serwisowe-jak-aktualizowac-serwer-nie-zatrzymujac-firmy\/\">oknach serwisowych<\/a>.<\/li>\n<li><strong>Zr\u00f3b \u015bwie\u017c\u0105 kopi\u0119 zapasow\u0105<\/strong> obu w\u0119z\u0142\u00f3w. Test ma sprawdza\u0107 prze\u0142\u0105czenie, a nie odwag\u0119 zespo\u0142u.<\/li>\n<li><strong>Przygotuj plan wycofania.<\/strong> Zapisz, kto i w jaki spos\u00f3b przywraca stan wyj\u015bciowy, je\u015bli co\u015b p\u00f3jdzie \u017ale.<\/li>\n<li><strong>Ustal, kto obserwuje co.<\/strong> Jedna osoba wywo\u0142uje awari\u0119, druga patrzy na monitoring, trzecia sprawdza aplikacj\u0119 z perspektywy u\u017cytkownika.<\/li>\n<\/ol>\n<h2 id=\"jak-przeprowadzic-test\">Jak przeprowadzi\u0107 test<\/h2>\n<p>Zacznij od scenariusza najbardziej kontrolowanego, a dopiero w kolejnych testach przechod\u017a do trudniejszych:<\/p>\n<ul>\n<li><strong>Prze\u0142\u0105czenie planowe<\/strong> \u2014 r\u0119czne przeniesienie roli g\u0142\u00f3wnej na drugi w\u0119ze\u0142 poleceniem klastra. Sprawdza, czy w\u0119ze\u0142 zapasowy w og\u00f3le potrafi obs\u0142u\u017cy\u0107 ruch.<\/li>\n<li><strong>Zatrzymanie us\u0142ugi<\/strong> \u2014 wy\u0142\u0105czenie bazy lub serwera aplikacji na w\u0119\u017ale g\u0142\u00f3wnym. Sprawdza, czy monitoring klastra wykrywa awari\u0119 sam.<\/li>\n<li><strong>Odci\u0119cie sieci lub zasilania w\u0119z\u0142a<\/strong> \u2014 najbli\u017csze prawdziwej awarii. W serwerze dedykowanym mo\u017cna to zrobi\u0107 przez zdaln\u0105 konsol\u0119 IPMI, bez fizycznej obecno\u015bci w serwerowni.<\/li>\n<\/ul>\n<p>Podczas testu mierz trzy rzeczy: <strong>czas od awarii do przywr\u00f3cenia us\u0142ugi<\/strong>, <strong>ilo\u015b\u0107 utraconych lub niezsynchronizowanych danych<\/strong> oraz <strong>to, czy aplikacja faktycznie dzia\u0142a<\/strong> \u2014 logowanie, zapis transakcji, wysy\u0142ka powiadomie\u0144. Odpowied\u017a serwera na pingi to jeszcze nie dzia\u0142aj\u0105cy system.<\/p>\n<h2 id=\"powrot-na-serwer-glowny-to\">Powr\u00f3t na serwer g\u0142\u00f3wny to osobny test<\/h2>\n<p>Wiele zespo\u0142\u00f3w ko\u0144czy test w chwili, gdy ruch przeszed\u0142 na w\u0119ze\u0142 zapasowy. Tymczasem powr\u00f3t (failback) bywa trudniejszy: dane zapisane na serwerze zapasowym musz\u0105 wr\u00f3ci\u0107 na g\u0142\u00f3wny, a replikacja musi ruszy\u0107 w przeciwnym kierunku. Je\u015bli tego nie prze\u0107wiczysz, po prawdziwej awarii mo\u017cesz utkn\u0105\u0107 na rezerwie na d\u0142ugie tygodnie, bez \u017cadnego zabezpieczenia.<\/p>\n<h2 id=\"co-zapisac-po-tescie\">Co zapisa\u0107 po te\u015bcie<\/h2>\n<p>Kr\u00f3tki protok\u00f3\u0142 z testu ma warto\u015b\u0107 nie tylko techniczn\u0105. Zawiera dat\u0119, scenariusz, zmierzony czas prze\u0142\u0105czenia, wykryte usterki i termin ich usuni\u0119cia. Taki dokument przydaje si\u0119 podczas audytu bezpiecze\u0144stwa, w rozmowie z zarz\u0105dem i przy przegl\u0105dzie planu ci\u0105g\u0142o\u015bci dzia\u0142ania. Kolejny test warto zaplanowa\u0107 od razu \u2014 szczeg\u00f3lnie po wi\u0119kszych zmianach w architekturze lub aplikacji.<\/p>\n<h2 id=\"gdzie-konczy-sie-rola-data\">Gdzie ko\u0144czy si\u0119 rola data center<\/h2>\n<p>Data center odpowiada za to, co dzieje si\u0119 pod Twoimi serwerami. W Sprint Data Center <a href=\"https:\/\/www.sprintdatacenter.pl\/kolokacja-serwerow-w-sdc\">kolokacja serwer\u00f3w<\/a> obejmuje dwutorowe zasilanie, UPS z agregatem pr\u0105dotw\u00f3rczym, redundantn\u0105 klimatyzacj\u0119 i \u0142\u0105cza dost\u0119powe od r\u00f3\u017cnych operator\u00f3w. To jednak warstwa infrastruktury. Czy Twoja aplikacja przejdzie na drugi w\u0119ze\u0142, zale\u017cy od konfiguracji klastra \u2014 i to w\u0142a\u015bnie sprawdza test prze\u0142\u0105czenia awaryjnego.<\/p>\n<h2 id=\"podsumowanie\">Podsumowanie<\/h2>\n<p>Rezerwa, kt\u00f3rej nikt nie przetestowa\u0142, jest za\u0142o\u017ceniem, a nie zabezpieczeniem. Zaplanuj test w oknie serwisowym, zmierz czas prze\u0142\u0105czenia i utrat\u0119 danych, prze\u0107wicz powr\u00f3t na serwer g\u0142\u00f3wny i zapisz wyniki. Je\u015bli budujesz klaster, <a href=\"https:\/\/www.sprintdatacenter.pl\/najtansze-serwery-dedykowane\/\">serwery dedykowane SDC<\/a> maj\u0105 wbudowan\u0105 konsol\u0119 zdalnego zarz\u0105dzania IPMI, kt\u00f3ra u\u0142atwia kontrolowane wy\u0142\u0105czanie w\u0119z\u0142\u00f3w podczas test\u00f3w. Je\u017celi wolisz odda\u0107 administracj\u0119 specjalistom, sprawd\u017a <a href=\"https:\/\/www.sprintdatacenter.pl\/pakiety-administracyjne\">pakiety administracyjne<\/a>, kt\u00f3re obejmuj\u0105 mi\u0119dzy innymi monitoring us\u0142ug i polityk\u0119 kopii zapasowych. Masz pytania o architektur\u0119 rezerwy? <a href=\"https:\/\/www.sprintdatacenter.pl\/kontakt\">Skontaktuj si\u0119 z nami<\/a>.<\/p>\n<h2 id=\"faq-najczesciej-zadawane-pytania-o\">FAQ \u2013 najcz\u0119\u015bciej zadawane pytania o test prze\u0142\u0105czenia awaryjnego<\/h2>\n<h3>Jak cz\u0119sto przeprowadza\u0107 test prze\u0142\u0105czenia awaryjnego?<\/h3>\n<p>Nie ma jednej regu\u0142y, ale test powinien odbywa\u0107 si\u0119 regularnie, wed\u0142ug ustalonego harmonogramu, oraz zawsze po wi\u0119kszych zmianach w architekturze, systemie operacyjnym lub aplikacji. Cz\u0119stotliwo\u015b\u0107 warto dopasowa\u0107 do tego, jak krytyczna jest us\u0142uga i jak cz\u0119sto zmienia si\u0119 jej konfiguracja.<\/p>\n<h3>Czy test prze\u0142\u0105czenia awaryjnego mo\u017ce spowodowa\u0107 przest\u00f3j?<\/h3>\n<p>Tak, zw\u0142aszcza pierwszy. Dlatego test planuje si\u0119 w oknie serwisowym, po wykonaniu \u015bwie\u017cej kopii zapasowej i z przygotowanym planem wycofania. Kr\u00f3tki, zaplanowany przest\u00f3j jest znacznie ta\u0144szy ni\u017c odkrycie usterki podczas prawdziwej awarii.<\/p>\n<h3>Czym r\u00f3\u017cni si\u0119 failover od failback?<\/h3>\n<p>Failover to przej\u0119cie ruchu przez w\u0119ze\u0142 zapasowy po awarii g\u0142\u00f3wnego. Failback to powr\u00f3t na serwer g\u0142\u00f3wny po jego naprawie, po\u0142\u0105czony z synchronizacj\u0105 danych zapisanych w mi\u0119dzyczasie. Oba procesy trzeba przetestowa\u0107 osobno, bo failback cz\u0119sto okazuje si\u0119 trudniejszy.<\/p>\n<h3>Czy redundantna infrastruktura data center zast\u0119puje drugi serwer?<\/h3>\n<p>Nie. Dwutorowe zasilanie i \u0142\u0105cza od r\u00f3\u017cnych operator\u00f3w chroni\u0105 przed awariami po stronie data center, ale nie przed usterk\u0105 samego serwera, systemu lub aplikacji. Przed nimi chroni dopiero drugi w\u0119ze\u0142, na przyk\u0142ad drugi <a href=\"https:\/\/www.sprintdatacenter.pl\/najtansze-serwery-dedykowane\/\">serwer dedykowany<\/a>, oraz regularnie sprawdzane prze\u0142\u0105czenie.<\/p>\n<p><script type=\"application\/ld+json\">{\"@context\": \"https:\/\/schema.org\", \"@type\": \"FAQPage\", \"mainEntity\": [{\"@type\": \"Question\", \"name\": \"Jak cz\u0119sto przeprowadza\u0107 test prze\u0142\u0105czenia awaryjnego?\", \"acceptedAnswer\": {\"@type\": \"Answer\", \"text\": \"Nie ma jednej regu\u0142y, ale test powinien odbywa\u0107 si\u0119 regularnie, wed\u0142ug ustalonego harmonogramu, oraz zawsze po wi\u0119kszych zmianach w architekturze, systemie operacyjnym lub aplikacji. Cz\u0119stotliwo\u015b\u0107 warto dopasowa\u0107 do tego, jak krytyczna jest us\u0142uga i jak cz\u0119sto zmienia si\u0119 jej konfiguracja.\"}}, {\"@type\": \"Question\", \"name\": \"Czy test prze\u0142\u0105czenia awaryjnego mo\u017ce spowodowa\u0107 przest\u00f3j?\", \"acceptedAnswer\": {\"@type\": \"Answer\", \"text\": \"Tak, zw\u0142aszcza pierwszy. Dlatego test planuje si\u0119 w oknie serwisowym, po wykonaniu \u015bwie\u017cej kopii zapasowej i z przygotowanym planem wycofania. Kr\u00f3tki, zaplanowany przest\u00f3j jest znacznie ta\u0144szy ni\u017c odkrycie usterki podczas prawdziwej awarii.\"}}, {\"@type\": \"Question\", \"name\": \"Czym r\u00f3\u017cni si\u0119 failover od failback?\", \"acceptedAnswer\": {\"@type\": \"Answer\", \"text\": \"Failover to przej\u0119cie ruchu przez w\u0119ze\u0142 zapasowy po awarii g\u0142\u00f3wnego. Failback to powr\u00f3t na serwer g\u0142\u00f3wny po jego naprawie, po\u0142\u0105czony z synchronizacj\u0105 danych zapisanych w mi\u0119dzyczasie. Oba procesy trzeba przetestowa\u0107 osobno, bo failback cz\u0119sto okazuje si\u0119 trudniejszy.\"}}, {\"@type\": \"Question\", \"name\": \"Czy redundantna infrastruktura data center zast\u0119puje drugi serwer?\", \"acceptedAnswer\": {\"@type\": \"Answer\", \"text\": \"Nie. Dwutorowe zasilanie i \u0142\u0105cza od r\u00f3\u017cnych operator\u00f3w chroni\u0105 przed awariami po stronie data center, ale nie przed usterk\u0105 samego serwera, systemu lub aplikacji. Przed nimi chroni dopiero drugi w\u0119ze\u0142, na przyk\u0142ad drugi serwer dedykowany, oraz regularnie sprawdzane prze\u0142\u0105czenie.\"}}]}<\/script><\/p>\n<hr class=\"ai-disclosure-rule\" \/>\n<p class=\"ai-disclosure\"><em>Artyku\u0142 powsta\u0142 z wykorzystaniem narz\u0119dzi sztucznej inteligencji (AI) pod nadzorem zespo\u0142u Sprint Data Center. Grafika ilustracyjna zosta\u0142a wygenerowana przez AI.<\/em><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Drugi serwer daje spok\u00f3j tylko wtedy, gdy prze\u0142\u0105czenie zosta\u0142o sprawdzone. Jak zaplanowa\u0107 test failover, co mierzy\u0107 i jak nie zrobi\u0107 awarii podczas testu.<\/p>\n","protected":false},"author":5,"featured_media":2995,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[103,6],"tags":[146,327,328,326,259],"class_list":["post-2997","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-serwer-dedykowany","category-informacje-o-uslugach-sdc","tag-ciaglosc-dzialania","tag-failover","tag-klaster","tag-test-przelaczenia-awaryjnego","tag-wysoka-dostepnosc"],"_links":{"self":[{"href":"https:\/\/www.sprintdatacenter.pl\/blog\/wp-json\/wp\/v2\/posts\/2997","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.sprintdatacenter.pl\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.sprintdatacenter.pl\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.sprintdatacenter.pl\/blog\/wp-json\/wp\/v2\/users\/5"}],"replies":[{"embeddable":true,"href":"https:\/\/www.sprintdatacenter.pl\/blog\/wp-json\/wp\/v2\/comments?post=2997"}],"version-history":[{"count":1,"href":"https:\/\/www.sprintdatacenter.pl\/blog\/wp-json\/wp\/v2\/posts\/2997\/revisions"}],"predecessor-version":[{"id":2998,"href":"https:\/\/www.sprintdatacenter.pl\/blog\/wp-json\/wp\/v2\/posts\/2997\/revisions\/2998"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.sprintdatacenter.pl\/blog\/wp-json\/wp\/v2\/media\/2995"}],"wp:attachment":[{"href":"https:\/\/www.sprintdatacenter.pl\/blog\/wp-json\/wp\/v2\/media?parent=2997"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.sprintdatacenter.pl\/blog\/wp-json\/wp\/v2\/categories?post=2997"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.sprintdatacenter.pl\/blog\/wp-json\/wp\/v2\/tags?post=2997"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}