Strona używa cookies (ciasteczek). Dowiedz się więcej o celu ich używania i zmianach ustawień. Korzystając ze strony wyrażasz zgodę na używanie cookies, zgodnie z aktualnymi ustawieniami przeglądarki.    X

SPOF — kilka słów o „Single point of failure"

Ostatnie tygodnie obfitowały w wiele atrakcji w moim życiu zawodowym - głównie z powodu kilku poważniejszych awarii, które dość mocno wymęczyły mnie zarówno fizycznie, jak i psychicznie. To jeden z tych momentów, gdy w organizmie z powodu niedospania, przemęczenia i braku magnezu w rozmowie o tym, że: "jaką to masz dobrą pracę - nie dość, że lubisz co robisz, to jeszcze ci za to płacą" budzą się demony i agresor w stosunku do rozmówcy. No ale nie o tym...
W ubiegłym tygodniu niby przewidywalna rzecz - część miasta bez prądu, bo ktoś postanowił ukarść przewody miedziane ze stacji transformatorowej (pożar i straty na ponad €10mln). Tu oczywiście awarie w firmach, mimo UPSów (a to główny firewall autoamgicznie podpięty poza zasilaniem awaryjnym i podobne). Potem wyjątkowo upiorna awaria w oddziale w UK, gdzie w kilka godzin trzeba było przygotować plan awaryjny, wsiąść w samolot o 7-mej rano i mając w bagażu głównym trochę gratów serwerowych coś poskładać naprędce.

Wszystko zaczęło się kilka tygodni wcześniej. Krótki opis sytuacji: firma, która praktycznie w kilka lat z 5 pracowników urosła do blisko 200-osobowego zespołu, całkiem solidne zaplecze sprzętowe. Dość świeże kosztowe środowisko (zarządzalne przełączniki sieciowe, dwie mocne 2-procesorowe serwery z blisko 100GB RAM każdy w klastrze HA, SAN i porządny storage).

Piątek, piąteczek, piątuniek... Końcówka piąteczka, system praktycznie czysty od jakiś bardzo poważnych zgłoszeń. Godzina około 16-stej, wpada alert, że "wyskoczył" z RAID jeden z dysków zasobie dyskowym, gdzie siedzą wszystkie maszyny wirtualne. W sumie spokój, bo RAID redundanty z dodatkowo nieużywanym jednym z dyskiem ("hot-spare"). Dla mniej wtajemniczonych: RAID redundantny oznacza, że może się w macierzy uszkodzić jeden dowolny dysk, to jednak nie spowoduje utraty danych - ot, taka sztuczka z rodzieleniem danych / deduplikacji i sum kontrolnych. Dodatkowy dysk, który czeka nieużywany przejmuje rolę tego uszkodzonego - włącza się do macierzy i w kika godzin odbudowuje swoje dane (czyli w teorii mogą uszkodzić się nawet dwa napędy(. Problem jednak w tym, że nagle poznikały serwery wirtualne a w sieci pozostały widoczne tylko hipernadzorcy*.

Logowanie na hypervisory już mocniej zaniepokoiło - brak komunikacji z zasobami maszyn na NAS po iSCSI. Dziwna sprawa, bo można "pingować" a cały czas jestem podłączony do NASa przez interfejs https... oznacza to wstępnie poważną awarię "klatki" dyskowej, albo kontrolera. Po chwili jednak dyski wracają na swoje miejsce, jednak macierz już delkiatnie mówiąc rozjechana i trzeba przywracać z backupu, co zajmuje sporo czasu.

Dojście do tego co się stało okazało się dość proste, bo klient nie kręcił - zbyt poważni ludzie i nie było próby odwrócenia kota ogonem. Ja jednak byłem dość mocno zaskoczny. Sytuacja dość podobna, jak w przy katastrofie lotu Aerofłot 593 (oczywiście nie z takimi konsekwencjami i tragedią) - czynnik ludzki i właśnie SPOF, o którym jeszcze będzie w tym wpisie.

W firmie impreza z dziećmi pracowników, dziwnym sposobem doszło do zwiedzania pomieszczenia serwerwoni (w sumie dość sporo urządzeń, bo poza starymi i nowymi serwerami, NASami, kilkunastoma switchami, UPSami routerami, centralką telefoniczą i CCTV robią się z tego trzy spore szafy). No i niestety jedno z dzieci, które przez chwilkę nie było pod opieką zafascynowało się migającymi lampkami i malutkim zachęcającymi czerwonymi przyciskami.

Śmieszne? Oj, nie bardzo.

"Pojedynczy punkt awarii"

Najprościej jak można by to opisać - pojedynczy element infrastruktury (serwer, przełącznik sieciowy, okablowanie), serwis / usługa (DNS, DHCP, SQL), których awaria/wyłączenie powoduje spore problemy w działaniu biznesowym a gorszych sytuacjach efekt domina prowadzący do całkowitej katastrofy. Ja jeszcze dodaję do jednego worka (co nie jest zbyt popularne) czynnik ludzki - np. dla mnie takim "SPOFem" było odejście głównego administratora 2be.pl. Jak ja rozumiem zminimalizowanie efektu SPOF od strony czysto technicznej - po wejściu do serwerown można:

  • wypiąć dowolny jeden kabel zasilający (w teorii większość porządnych urządzeń ma dwa zasilacze, jeden może przejąć prądowo np. cały serwer),
  • wypiąć z serwera kabel sieciowy (intefejsy w 'teamingu'),
  • może "paść" dowolny switch (czuwa nad tym IS-IS, SPB, OSPF - podwójne okablowanie, krzyżowe połączenia),
  • odłączyć serwer - drugi przejmie na siebie wszystkie wirtualne serwery "w locie" albo klaster na poziomie aplikacyjnym bez przestoju produkcyjnego.
  • Może trywialny przykład z serwerem DHCP. Przychodzą pracownicy rano w poniedziałek, włączają komputery, które nie potrafią skorzystać z infrastruktury. Dla kilku maszyn nie jestem problemem podejść i ustawić to "ręcznie", ale w przypadku kilkuset, czy kilku tysięcy zaczyna być ciepło. Drugi przykład (znam to osobiście...), gdzie administrator WSUS nie zastosował się do wytycznych i wypchnął niewinnie wyglądającą łatkę na wszystkie stacje robocze, które po restarcie nie chciały już uruchamiać najważniejszej dla działania firmy aplikacji...

    To oczywiście bardzo ogólnikowe podejście do tematu - w całość jeszcze mogą wchodzić UPSy, agregaty prądotwórcze, duplikacja na poziomie całych serwerowni, czy nawet miast no i procedury.

    Czy zmniejsza to możliwość awarii? Wręcz przeciwnie - skutecznie zwiększa. Kilkadsiesiąt dysków, kabli, switchy, skomplikowanych konfiguracji. Awaria jednak nie oznacza w tym przypadku przestoju całej infrastruktury. Kolejny problem to oczywiście koszt - dobrze przemyślane środowisko jest często poza zasięgiem finansowym. Nie oznacza to jednak, że nie można chociaż usunąć kilka punktów zapalnych. Najpowszechniejszcze są macierze dyskowe RAID1/RAID5, czy dwa zasilacze w serwerze. Życie ułatwia też wirtualizacja i np. hybryda z chmurą (np. Azure, usługi Amazonu i podobne).

    Najsłabsze ogniwo

    Jest jeszcze jeden typu SPOF, ten najgorszy - o którym wszyscy wiedzą, ale boją się głośno mówić.... taki "sam wiesz kto" jak w Harrym Pottere. Nie ważne, czy jest to 10-osobowa firma, czy korporacja z wielomilionowym budżetem. On tam siedzi i może uczynić zniszczenia i poważne straty finansowe. Taki koszmarek pojawiający się w snach lokalnego administratora, albo zewnętrznej firmy zarządzajacej IT. Taka stara wyschnięta kocia kupa, która po ruszeniu może zacząć wyjątkowo śmierdzieć - stary, 10Mbit hub z zasilaczem 0.5A, który po wyłączeniu w kilka minut blokuje całą sieć. Wielokrotne próby wymiany na inny model, lub zwykłego pominięcia go nie przynoszą skutku. Musi być KONRETNIE TO URZĄDZENIE. Może to być stara aplikacja napisania przez pana Henia. Program działa nieprzerwanie i bezbłędnie od 25 lat a jedyna możliwość uruchomienia go na komputerach klienckich to sztuczki z wirtualizacją (XP-Mode i inne vApp). Trzy firmy próbowały już go przepisać i wdrożyć, ale bezskutecznie - gdyby nastąpiła awaria bazy danych, to nikt nie potrafi tego naprawić z prostego wzblędu, że pan Heniek ostatnie dwa lata spędził na Powązkach w Warszawie, albo na Osobowicach we Wrocławiu.

    Podsumowanie

    Wyliminowanie SPOF jest bardzo trudne, głównie ze względów finansowych i organizacyjnych. Z IT i administracją systemami jest znany pewnie wielu z Was problem:
    przecież działa od tylu lat dobrze, po co siać panikę?
    Jak już jednak dochodzi do awarii, wszystkie oczy skupiają się na osobie odpowiedzialnej za infrastrukture i padają niewygodne pytania ("czy musiało do tego dojść? Jak można było zapobiec?").
    Już kiedyś o tym wspominałem: jak to nie Twoja własna firma, należy mieć koniecznie podkładki: maile, dokumenty z wyszczególnieniem co się może wydarzyć i jakie są tego konsekwencje. Że np. zdobyć nowy kontroler RAID do 10-letniego HP czwartej generacji będzie bardzo trudno, kupno nowego serwera zajmie kilka dni a uruchomienie starych aplikacji może być nawet niemożliwe.

    * hipernadzorcy (hypervisor)- jak mnie to tłumaczenie śmieszy  

    bezpieczeństwo porady inne

    Komentarze

    0 nowych
      #1 24.04.2016 19:59

    Nic nie zrozumiałem, ale fajnie się czytało.
    Jakbyś nie miał pomysłu na wpis, to proponuję jakieś wprowadzenie do opisywanych tu przez Ciebie zagadnień. Wydaje mi się, że jest sporo osób, które, podobnie jak ja, czytały tekst nie mając pojęcia o czym on opowiada, a na prawdę chciałyby się dowiedzieć.

    Spagnoletto   6 #2 24.04.2016 20:01

    Ciekawy wpis, czekam na kolejne przypadki...

    StawikPiast   10 #3 24.04.2016 20:23

    No ze starymi rozwiązaniami jest jeszcze jeden problem.
    U mnie robili migrację starych SAP-ów (jeszcze z lat 90) i największym problemem okazał się czynnik ludzki w IT. Zespół był za młody żeby znać narzędzia i rozwiązania stosowane w tamtych latach (a i zdobycie narzędzi nie było łatwe). Trzeba było zatrudniać weteranów z tamtych czasów żeby zmigrowali środowisko. Zresztą do dziś są oferty pracy dla programistów w Cobol-u bo migracja na coś nowego to koszmarne koszty (i rosną z każdym rokiem utrzymywania i rozwijania programu w COBOL-u).

    bachus   19 #4 24.04.2016 20:32

    @StawikPiast: mi się przypomina jedna z ostatnich (ostatnia?) produkcyjnie działająca ODRA na jednym z PKP wyłączona kilka lat temu. Dłuuuugo zajęło przejście tam na nowy system a czas gonił, bo mówiąc delikatnie specjaliści od sprzętu z Elwro się "wykruszają".

      #5 24.04.2016 20:33

    wiem, że to czepialstwo, ale jest literówka "obwitowały" i szkoda, żeby psuło taki fajny artykuł na początku :-)

    Arakin   2 #6 24.04.2016 20:36

    Jak potrzebuje sprzętu hp generacji 3/4 to pisz śmiało :)

    bachus   19 #7 24.04.2016 20:46

    @Arakin: to był luźny przykład w tej chwili nic nie potrzeba, ale bardzo dziękuję za dobre chęci!

    bachus   19 #8 24.04.2016 21:37

    @Anonim (niezalogowany): dzięki wielkie, poprawnione!
    MojNick (niezalogowany): troszkę mnie podłamałeś, bo wydawało mi się, że to nie jest bardzo techniczny tekst ;-)

    Autor edytował komentarz w dniu: 24.04.2016 21:39
    parranoya   8 #9 24.04.2016 22:16

    @Arakin: A masz go za dużo? :-)

    pilot67   3 #10 24.04.2016 22:53

    Temat wisi nad nami jak wiosenna grypa. Każdy się z nią zetknie wcześniej lub później. Ci bardziej odporni posmarkają pół dnia i pójdą dalej. Mniej odporni padną na 2 tygodnie i drogie będzie leczenie.

    Może nie na tak dużą skalę, ale też przeżyłem dziecko w serwerowni. Jeden z pracowników na urlopie wpadł na 15 sekund żeby coś zostawić przed wyjazdem na wczasy. Nawet nie puszczał rączki dziecka z którym przyszedł.
    Dziecko odebrała żona pracownika, a ten pojechał na wczasy dzień później.

      #11 25.04.2016 09:57

    A nie słyszeliście o zamykaniu serwerowni na klucz/zamek magnetyczny?
    Wtedy żadne dziecko nie będzie straszne.

      #12 25.04.2016 10:20

    Siedzę w temacie od lat, sam prowadzę dość rozbudowaną serwerownię i terminologia nie jest mi obca. Ale wpis nią przepełniony dla osób nie w temacie nic nie wnosi. Ja wiem o czym piszesz, ale to wszystko znam. Osoba niezorientowana w temacie nic nie zrozumie :)
    Z resztą kto po pwr nie byłby w tym biegły bo dziekan J. Biernat nikogo bez znajomości niezawodności nie wypuścił z dyplomem ;)
    Schematy skomplikowane i bez dogłębnej wiedzy na poziomie elementarnym nieczytelne. Temat wnętrza serwerowni w sumie objęty, ale ani słowa o np BGP a to podstawa w HA.
    Aby to dobrze wyjaśnić trzeba pokazać prosty schemat. Łącze, router, switch serwer z 1 dyskiem i rozbudować ten schemat do 2 łacza, 2 routery w bgp, 2 switche, 2 serwery i tu dodać bonding, macierze itd. na takim elementarnym opisie więcej osób ogarnie co i jak,

    bachus   19 #13 25.04.2016 10:52

    @___Krzysiek___ (niezalogowany): jeszcze lepszym rozwiązaniem by było, gdyby pracownicy nie meli dzieci - problem solved! ;-)

      #14 25.04.2016 11:34

    Dzieci , bardzo wdzięczni testerzy IT.
    Za kila cukierków, lizaków i gum Mamba wiem że serwerownia jest bezpieczna :)

    pilot67   3 #15 25.04.2016 12:10

    @___Krzysiek___ (niezalogowany):
    Kiedy ja byłem dzieckiem, ojciec zabierał mnie ze sobą gdzie tylko mógł. Niektóre wizyty pamiętam do dzisiaj sekunda po sekundzie - takie robiły wrażenie na małym gówniarzu. Z perspektywy czasu nie wyobrażam sobie, że mogłoby mnie to ominąć. Tym się różni wychowywanie od hodowli.

    Samurai   15 #16 25.04.2016 12:32

    Wpis fajny ale faktycznie dużo literówek, które utrudniają jego czytanie.

    Berion   13 #17 25.04.2016 12:36

    @bachus: "troszkę mnie podłamałeś, bo wydawało mi się, że to nie jest bardzo techniczny tekst ;-)"

    Nie jest w ogóle (nie odbieraj tego jak przytyk ;)). Po prostu dzisiejsze społeczeństwo umie robić tylko dziubki do sWeEt f00tek na mordokniżki i nadają się jedynie do kieratu...

    Przerabiałem to już wiele razy. Tekst może być banalny, ale jak tylko wpleciesz kilka słów, nie daj Bóg miły w jednym zdaniu, których nie znają to już cały artykuł jest niezrozumiały. Kiedy pytasz czego nie rozumieją, odpowiadają że wszystkiego. Kiedy pytasz czego konkretnie znikają... Półśrodkiem jest linkowanie pod słowa, wyroczni Wiki... ;)

    Autor edytował komentarz w dniu: 25.04.2016 12:38
    davidns   6 #18 25.04.2016 12:49

    @___Krzysiek___ (niezalogowany): szafy rack też z reguły sie zamyka

      #19 25.04.2016 14:44

    @davidns: Z reguły, jeżeli są miejsca na drzwi z obu stron szafy ;)

    bachus   19 #20 25.04.2016 23:47

    @hind.pl (niezalogowany): jest jeszcze czynnik ludzki - czyli osoba, co otworzy te drzwi, albo dodatkowo nie zamknie szyby w samym racku; to trochę jak pewna firma, co 16 taśm do backupu trzymała na monitorze CRT ("no bo tam ciepło, przynajmniej nie będą wilgotne").

    Curinga   3 #21 26.04.2016 17:12

    @Berion: Tekst jest "techniczny". Samą treść i meritum można złapać (tak mi się wydaje, jednak nie jestem w stanie postawić się w butach nowicjusza ;) ), ale "bachus" używa wielu technicznych zwrotów, które są niezrozumiałe dla kogoś, kto w temacie nie siedzi. DNS, DHCP, SQL... kto to zrozumie :P. Fakt podlinkowanie do tłumaczeń z wiki bardzo pomaga.

    @ bachus
    bardzo przyjemnie się czytało :)

    Berion   13 #22 26.04.2016 18:41

    @Curinga: Proszę Cię, DNS, DHCP, SQL to zrozumieć nie tylko powinien, ale i musi każdy na portalu traktującym o IT. A nawet jeśli nie, to każda przeglądarka pod ppm może z zaznaczonego tekstu przejść na nowej zakładce do Google.

    Podnośmy poprzeczkę, a nie odwrotnie.

    bachus   19 #23 26.04.2016 21:00

    @Berion: pierwszy raz nie linkowałem do Wikpiedii. Usługi nie są kluczowe do zrozumienia tekstu, bo nie taki był jego przekaz... Jak wspomiałeś - jak ktoś jest ciekawy, to Google. Jak kogoś nie interesuje tekst który uważa techniczny - nie musi czytać.

    Orge   4 #24 03.05.2016 19:02

    spoko tekst , poczułem się jakbym nie wychodził z pracy :D , i te problemy biznesu z IT i administracją :D , do tej pory "gniją" nam w firmie pojedyncze systemy z xp na pokładzie z aplikacjami post dosowymi, a wirtualizacja na xp-mode czy app-v ciężko idzie. I nie mogą tego z migrować bo nie ma kto tego zrobić , a to jakieś archwia z płac do których sięgają raz w roku :D. A co do technicznych nazw , to tak jak @Berion napisał , osoby czytające portal IT powinny większość znać a jak nie znają to powinny mieć umiejętność odnalezienia co konkretne skróty znaczą inaczej nie mają czego szukać w tej branży bo "klikać w klawiaturze to średnio rozgarnięta Pani na kasie potrafi" jak to mój kolega z działu powiedział , a do tej roboty potrzeba kogoś bardziej ogarniętego niż zwykłego klikacza.

      #25 07.05.2016 10:29

    @Orge: "do tej pory "gniją" nam w firmie pojedyncze systemy z xp na pokładzie z aplikacjami post dosowymi"

    Ciesz się, że tylko pojedyncze skoro generują problemy. Właśnie sprawdziłem dokładnie i u mnie w firmie jest 85 komputerów z XP Pro i 24 z XP Home Edition.

    bachus: "należy mieć koniecznie podkładki: maile, dokumenty z wyszczególnieniem co się może wydarzyć i jakie są tego konsekwencje. Że np. zdobyć nowy kontroler RAID do 10-letniego HP czwartej generacji będzie bardzo trudno, kupno nowego serwera zajmie kilka dni a uruchomienie starych aplikacji może być nawet niemożliwe."

    Zależy od firmy. U mnie żadne "podkładki" na nic się nie zdają. Propozycje jakiejkolwiek redundancji poza dublowaniem zasilaczy i nadmiarowością dysków są odrzucane. Kiedy coś się zepsuje i firma staje, decydenci załamują ręcę mówiąc: "Kto mógł to przewidzieć ?!". A jak się wyrywam, że "ja" i pokazuję "podkładki" to jest tłumaczenie pustymi frazesami typu: "Wiesz jak jest", "Będziemy się martwić jak wystąpi problem", itp.
    PS: U nas działają jeszcze HPki trzeciej generacji ;)

    bystryy   9 #26 16.05.2016 15:04

    @Anonim (niezalogowany): "PS: U nas działają jeszcze HPki trzeciej generacji ;)"

    U nas szef kupuje komputery poleasingowe, które poprzednia firma uznała za niezdatne do dalszego użytku; jednordzeniowce udało się z firmy wyorać dopiero niedawno.

    bachus   19 #27 16.05.2016 16:58

    @bystryy: też dobrze... znam firmę, która właśnie "ora" i3 z 4GB i aż żal, że wszystko musi iść do mielenia...

    bystryy   9 #28 16.05.2016 17:30

    @bachus: Mogliby zmielić same dyski, inne komponenty są niewinne ;)

    bachus   19 #29 17.05.2016 15:08

    @bystryy: heh... polityka banków i niektórych niereformowalnych instytucji... Przykład z życia dużej znanej firmy i betonowych zasad (ktoś źle rozumie bezpieczeństwo i że to powinno "żyć").
    Problem z drogim/sporym routerem - robi dziwne rzeczy. Drugi obok identyczny nie ma takich problemów. Producent urządzenia prosi o przesłanie pewnego zrzutu konfiguracji (klient zgada się na to). Producent nie widzi problemu w konfiguracji, więc prosi o wysłanie urządzenia do testów - klient na to się nie zgadza, bo "bezpieczeństwo". Nie ważne, że wcześniej została wysłana konfiguracja, nie ważne, że można usunąć z urządzenia konfigurację "fizycznie" (nośnik) - urządzenia już wysłać nie pozwolono.

    adam9870   11 #30 22.05.2016 13:50

    Przypomniał mi się wykład kogoś z Allegro z PLNOG sprzed kilku lat dotyczący uruchomienia drugiej lokalizacji i krótka opowieść, jak - chyba ktoś z zarządu - postanowił przetestować czy faktycznie infrastruktura jest odporna na awarię i zastanawiał się 'a co się stanie jak odłączę ten kabelek?". Taki test SPoF w praktyce. ;)

    bachus   19 #31 22.05.2016 13:55

    @adam9870: jak buduję takie środowiska, to zawsze testuję właśnie w ten sposób - wypinam i sprawdzam jak się zachowuje system, czy dobrze wykrywa problem w infrastrukturze, czy jest udany powrót do stanu poprzedniego po usunięciu usterki. Test rzeczywisty to JEDYNA możliwość przetestowania. Ja mam ogromną satysfakcję, jak wszystko działa - zdarzają się problemy, ale to jest przecież część mojej pracy i trzeba być przygotowanym na taką ewentualność.

      #32 11.08.2016 11:26

    @bachus: nie jest. Jestem HR-em i po pierwsze się doskonale bawiłam (świetny styl!), a po drugie uporządkowałam chaos w głowie.
    Podlinkowałam nawet ten tekst jako "warto wiedzieć i przeczytać" dla nietechnicznych w firmie.

    Gośka