ERP High Availability Proxmox SQL Server

HA dla ERP.
Jak zapewnić wysoką dostępność systemu ERP?

· 12 min czytania · PRO-Admin

System ERP często odpowiada za sprzedaż, magazyn, produkcję, księgowość i fakturowanie. Gdy przestaje działać, problem nie dotyczy wyłącznie działu IT. Pracownicy nie mogą realizować zamówień, wystawiać dokumentów ani obsługiwać klientów.

Dlatego firmy coraz częściej pytają o wysoką dostępność, czyli High Availability. Sam zakup drugiego serwera nie tworzy jednak środowiska HA. Odporność musi obejmować cały łańcuch działania systemu: zasilanie, sieć, storage, wirtualizację, bazę danych, aplikację, dostęp użytkowników i backup.

Dobrze zaprojektowane HA nie obiecuje, że żadna awaria nigdy nie nastąpi. Ma ograniczyć jej wpływ, automatycznie przełączyć usługi na sprawne elementy i umożliwić powrót do pracy w czasie akceptowalnym dla biznesu.

Co oznacza wysoka dostępność systemu ERP?

HA oznacza zdolność środowiska do dalszego działania mimo awarii jednego z jego elementów. Może to być awaria hosta wirtualizacji, dysku, kontrolera, przełącznika, zasilacza, systemu operacyjnego, instancji SQL Server, serwera aplikacyjnego lub połączenia internetowego.

Nie każda firma potrzebuje jednak tej samej dostępności. Dla jednej organizacji akceptowalny będzie dziesięciominutowy przestój. Dla innej nawet minuta przerwy zatrzyma linię produkcyjną lub obsługę tysięcy zamówień.

Dlatego projektowanie HA należy rozpocząć od ustalenia dwóch parametrów.

RTO

Recovery Time Objective określa maksymalny czas, w którym system powinien wrócić do działania.

Przykłady: RTO 4 godziny, RTO 30 minut, RTO 5 minut.

RPO

Recovery Point Objective określa maksymalną ilość danych, którą firma może utracić.

Przykłady: RPO 24 godziny, RPO 30 minut, RPO 5 minut, RPO bliskie zeru.

RTO i RPO powinny wynikać z analizy procesów biznesowych, a nie z możliwości wybranego produktu.

HA, backup i Disaster Recovery to trzy różne rzeczy

Pojęcia te są często używane zamiennie, chociaż rozwiązują inne problemy.

High Availability

Ogranicza skutki awarii pojedynczego elementu i pozwala szybko uruchomić usługę na sprawnej infrastrukturze.

Backup

Umożliwia odzyskanie danych po przypadkowym usunięciu, błędzie aplikacji, uszkodzeniu bazy, ransomware lub awarii wielu elementów.

Disaster Recovery

Opisuje sposób odbudowy środowiska po utracie całej lokalizacji lub większej części infrastruktury.

Klaster HA nie zastępuje backupu. Backup nie zapewnia natomiast automatycznego przełączenia po awarii hosta. Skuteczne środowisko ERP powinno łączyć wszystkie trzy warstwy.

Dlaczego HA tylko na poziomie Proxmox nie zawsze wystarczy?

Proxmox VE posiada mechanizm HA Manager, który może monitorować wskazane maszyny wirtualne i po awarii węzła uruchomić je na innym serwerze klastra. Dla niezawodnego quorum producent rekomenduje co najmniej trzy głosy. W środowisku dwuwęzłowym można zastosować QDevice jako dodatkowy głos, ale projekt wymaga szczególnej ostrożności.

Takie rozwiązanie chroni przed awarią fizycznego hosta, ale nie jest bezprzerwowe. Proces obejmuje:

  1. 1 wykrycie awarii,
  2. 2 ustalenie stanu klastra,
  3. 3 odizolowanie niesprawnego węzła,
  4. 4 uruchomienie maszyny na innym hoście,
  5. 5 start systemu operacyjnego,
  6. 6 start SQL Server i aplikacji ERP.

Przerwa może trwać kilka minut lub dłużej, zależnie od konfiguracji i czasu uruchamiania systemu.

Dla wielu firm jest to wystarczające. Jeżeli wymagany jest krótszy przestój, trzeba wdrożyć dodatkową redundancję na poziomie bazy i aplikacji.

Warstwy wysokiej dostępności ERP

Warstwa sprzętowa

Każdy krytyczny element powinien mieć redundancję lub możliwość szybkiej wymiany. Dotyczy to między innymi zasilaczy, kontrolerów, dysków, interfejsów sieciowych, przełączników, zasilania UPS oraz połączeń z Data Center lub internetem.

Klaster z trzema serwerami podłączonymi do jednego przełącznika i jednego UPS-a nadal posiada istotne pojedyncze punkty awarii.

Warstwa sieciowa

Środowisko powinno posiadać osobne lub logicznie wydzielone sieci dla zarządzania, komunikacji klastra, storage, backupu, maszyn produkcyjnych i dostępu użytkowników. Ważne są również redundantne przełączniki i co najmniej dwa niezależne połączenia każdego hosta.

Corosync jest wrażliwy na opóźnienia oraz utratę pakietów, dlatego ruch klastra nie powinien konkurować z backupem lub dużymi transferami maszyn wirtualnych.

Warstwa wirtualizacji

Najczęściej stosuje się klaster z co najmniej trzema węzłami Proxmox. Zapewnia on quorum, migrację maszyn pomiędzy węzłami, automatyczne uruchamianie VM po awarii hosta, centralne zarządzanie i łatwiejsze wykonywanie prac serwisowych.

Live Migration jest szczególnie przydatna przy planowanych aktualizacjach. Pozwala przenieść działającą maszynę przed restartem hosta. Nie pomaga jednak, gdy serwer ulegnie nagłej awarii.

Storage dla wysokiej dostępności ERP

Warstwa storage jest jednym z najważniejszych elementów projektu.

Ceph

Ceph zapewnia rozproszony storage dostępny dla wielu węzłów. Dane są replikowane pomiędzy dyskami i serwerami, dzięki czemu awaria pojedynczego hosta nie musi oznaczać utraty dostępu do wolumenu maszyny.

Proxmox wymaga co najmniej trzech, najlepiej podobnych sprzętowo serwerów do budowy hiperkonwergentnego klastra z Ceph. Poprawna implementacja wymaga odpowiedniej liczby dysków i szybkiej sieci.

Ceph nie jest jednak automatycznie najlepszym rozwiązaniem dla każdej firmy. Ma sens, gdy:

  • -wymagana jest wysoka dostępność storage,
  • -infrastruktura posiada odpowiednio szybką sieć,
  • -dostępna jest wystarczająca liczba dysków,
  • -środowisko jest stale monitorowane,
  • -zespół ma kompetencje do jego utrzymania.

Źle zaprojektowany Ceph może mieć gorszą wydajność niż prostszy lokalny storage.

ZFS i replikacja

Alternatywą dla mniejszych środowisk jest lokalny ZFS oraz replikacja maszyn pomiędzy węzłami. Takie rozwiązanie jest prostsze, może oferować bardzo dobrą wydajność, nie wymaga rozproszonego storage i zwykle kosztuje mniej.

Trzeba jednak pamiętać, że replikacja może być asynchroniczna. Oznacza to możliwość utraty zmian wykonanych od ostatniej synchronizacji. RPO zależy więc od częstotliwości replikacji.

Zewnętrzny shared storage

Można również zastosować macierz SAN, NFS lub iSCSI. Zapewnia ona współdzielony dostęp do danych, ale sama macierz nie może być pojedynczym punktem awarii. Wymaga redundantnych kontrolerów, ścieżek sieciowych i zasilania.

Wysoka dostępność SQL Server

Jeżeli ERP korzysta z Microsoft SQL Server, samo HA maszyny wirtualnej nie zabezpiecza przed awarią usługi SQL, uszkodzeniem systemu operacyjnego, błędem instancji, problemem z konkretną bazą ani długim restartem maszyny. Konfigurację samej bazy opisaliśmy w artykule SQL Server dla ERP.

W środowiskach o bardziej rygorystycznym RTO można rozważyć mechanizmy SQL Server.

Always On Availability Groups

Availability Groups replikują bazy pomiędzy instancjami SQL Server i mogą automatycznie przełączyć bazę na replikę pomocniczą. Mechanizm działa w oparciu o Windows Server Failover Clustering. Tryb failoveru i czas przełączenia zależą od konfiguracji replik, synchronizacji oraz polityki monitorowania.

Trzeba uwzględnić edycję SQL Server. W SQL Server Standard dostępne są Basic Availability Groups, które mają istotne ograniczenia:

  • -dwie repliki,
  • -jedna baza w jednej grupie,
  • -brak odczytu z repliki pomocniczej,
  • -brak wykonywania backupu na replice pomocniczej,
  • -brak części zaawansowanych możliwości Enterprise.

Wiele systemów ERP korzysta z kilku baz, dlatego przed wyborem tego rozwiązania trzeba sprawdzić wymagania aplikacji, edycję SQL oraz koszty licencji.

Failover Cluster Instance

FCI zapewnia wysoką dostępność całej instancji SQL Server i działa w oparciu o Windows Server Failover Clustering. Instancja jest instalowana na wielu węzłach i korzysta ze współdzielonego storage.

Rozwiązanie chroni instancję, ale nie zapewnia kopii danych na niezależnym storage, jeżeli całość korzysta z tej samej macierzy.

Replikacja nie zastępuje backupu

Błąd użytkownika, usunięcie danych lub zaszyfrowanie bazy może zostać natychmiast przeniesione na replikę. Dlatego SQL HA nadal wymaga pełnych backupów, backupów różnicowych, kopii logu transakcyjnego, kopii off-site i testów odtwarzania. Kompletną strategię opisaliśmy w artykule Backup ERP.

Wysoka dostępność aplikacji ERP

Nie każdy system ERP obsługuje aktywną pracę kilku serwerów aplikacyjnych. Możliwe modele to:

Active-active

Kilka instancji aplikacji obsługuje użytkowników jednocześnie, a ruch jest rozdzielany przez load balancer.

Active-passive

Drugi serwer pozostaje gotowy do przejęcia roli po awarii podstawowego.

HA całej maszyny

Aplikacja działa na jednej VM chronionej przez klaster Proxmox i jest uruchamiana na innym hoście po awarii.

Wybór zależy od producenta ERP. Nie należy samodzielnie uruchamiać kilku serwerów aplikacyjnych, jeżeli system nie wspiera takiego modelu.

Trzeba również sprawdzić sposób przechowywania sesji, licencjonowanie, wspólne katalogi, mechanizmy kolejek, integracje, usługi harmonogramu oraz dostęp użytkowników.

Dostęp użytkowników i load balancing

Nawet działający ERP może być niedostępny, jeżeli awarii ulegnie terminal RDS, brama VPN, reverse proxy, DNS, firewall lub pojedyncze łącze internetowe. Dlatego projekt HA powinien uwzględniać również ścieżkę użytkownika do aplikacji.

Może to oznaczać:

kilka serwerów RDS
broker połączeń
redundantne VPN
load balancer
redundantny firewall
dwa łącza internetowe
redundantny DNS

Backup i Disaster Recovery

Środowisko HA nadal wymaga pełnej strategii backupu. Przykładowe warstwy ochrony:

  1. 1 natywne backupy SQL Server,
  2. 2 backup maszyn wirtualnych do Proxmox Backup Server,
  3. 3 kopia w drugiej lokalizacji,
  4. 4 chroniona kopia offline lub immutable,
  5. 5 regularne testy odtworzenia.

Proxmox Backup Server zapewnia mechanizmy backupu przyrostowego, deduplikacji i weryfikacji, ale powinien być elementem szerszej strategii, a nie jedyną kopią.

HA odpowiada na pytanie:

Co stanie się po awarii jednego elementu?

DR odpowiada na pytanie:

Co zrobimy, jeżeli stracimy cały klaster, serwerownię lub lokalizację?

Monitoring środowiska HA

Automatyczny failover nie zwalnia z monitoringu. Należy obserwować:

quorum klastra
stan Corosync
opóźnienia sieci
stan Ceph lub replikacji
wykorzystanie storage
kondycję dysków
stan replik SQL
czas synchronizacji
usługi aplikacyjne
backupy
testy syntetyczne ERP

Szczególnie niebezpieczna jest sytuacja, w której środowisko działa po awarii jednego elementu, ale nikt nie zauważa utraty redundancji. Kolejna awaria może już spowodować pełny przestój.

Testowanie failoveru

Środowisko HA, którego nigdy nie testowano, jest tylko projektem teoretycznym. Testy powinny obejmować:

utratę jednego hosta
migrację maszyn
awarię pojedynczego dysku
utratę łącza sieciowego
przełączenie bazy SQL
awarię serwera aplikacyjnego
utratę jednego przełącznika
odtworzenie systemu z backupu

Nie wszystkie testy muszą polegać na fizycznym wyciąganiu przewodów w produkcji. Powinny jednak potwierdzać, że procedury, automatyka i monitoring działają zgodnie z projektem.

Każdy test powinien zakończyć się raportem zawierającym rzeczywisty czas niedostępności, utracone dane, błędy, działania ręczne i rekomendacje. Dopiero wtedy można uczciwie deklarować osiągane RTO i RPO.

Przykładowa architektura HA dla ERP

Dla średniej firmy typowa koncepcja może obejmować:

Infrastruktura

  • +trzy węzły Proxmox
  • +redundantne zasilacze
  • +dwa przełączniki
  • +oddzielne sieci klastra, storage i backupu
  • +Ceph albo ZFS z replikacją
  • +oddzielny Proxmox Backup Server
  • +backup off-site

Baza danych

  • +wariant podstawowy: SQL Server na VM chronionej przez HA Proxmox, natywne backupy SQL, krótki restart po awarii hosta
  • +wariant rozszerzony: dwie instancje SQL, Availability Group albo FCI, listener lub mechanizm przełączenia, osobny monitoring replikacji

Aplikacja

  • +jedna lub kilka maszyn aplikacyjnych
  • +model wspierany przez producenta ERP
  • +load balancing albo active-passive
  • +zabezpieczenie katalogów współdzielonych

Dostęp użytkowników

  • +redundantny VPN lub RDS
  • +kilka serwerów terminalowych
  • +redundantny firewall
  • +zapasowe łącze internetowe

Taki projekt trzeba dostosować do konkretnego systemu. Nie każdy ERP wymaga wszystkich warstw.

Ile kosztuje HA dla ERP?

Nie istnieje uniwersalny cennik. Koszt zależy od liczby użytkowników, wielkości bazy, wymaganych RTO i RPO, wydajności storage, liczby lokalizacji, edycji SQL Server, licencji Windows Server, obsługi HA przez aplikację, zakresu backupu i DR oraz poziomu wsparcia.

Koszt może obejmować trzy lub więcej hostów, dyski enterprise, redundantną sieć, licencje Windows i SQL, wdrożenie klastra, monitoring, backup, testy, administrację oraz umowę SLA. Z tego powodu nie należy zakładać, że każdy klaster dla 30 użytkowników będzie kosztował podobnie.

Najpierw trzeba policzyć koszt przestoju.

Jeżeli godzina niedostępności kosztuje firmę 20 000 zł, inwestycja w HA może zwrócić się po jednym incydencie. Jeżeli ERP jest używany przez kilka osób tylko przez część dnia, prostsza architektura i dobry backup mogą być bardziej racjonalne.

Kiedy warto wdrożyć HA dla ERP?

Wysoka dostępność ma szczególne uzasadnienie, gdy:

  • -przestój zatrzymuje sprzedaż lub produkcję,
  • -ERP pracuje przez całą dobę,
  • -system obsługuje wiele lokalizacji,
  • -aplikacja współpracuje z WMS, MES, BI i e-commerce,
  • -baza wykonuje dużą liczbę transakcji,
  • -firma ma bardzo krótki dopuszczalny RTO,
  • -nie ma długich okien serwisowych.

Nie należy jednak opierać decyzji wyłącznie na liczbie użytkowników. ERP używany przez dziesięć osób może być bardziej krytyczny niż system wykorzystywany przez pięćdziesiąt, jeżeli bez niego zatrzymuje się produkcja.

Kiedy prostsze rozwiązanie będzie lepsze?

Pełne HA może nie mieć uzasadnienia, gdy system pracuje tylko w godzinach biurowych, firma akceptuje kilka godzin przestoju, istnieje skuteczna procedura pracy awaryjnej, koszt niedostępności jest niski, środowisko jest niewielkie albo budżet lepiej przeznaczyć najpierw na backup i bezpieczeństwo.

W takim przypadku rozsądny wariant może obejmować:

  • -dwa serwery,
  • -replikację,
  • -dobry backup,
  • -sprzęt zastępczy,
  • -sprawdzoną procedurę odtworzenia,
  • -monitoring.

Najdroższe rozwiązanie nie zawsze jest najlepsze. Najlepsze jest to, które odpowiada realnemu ryzyku biznesowemu.

Najczęstsze błędy przy wdrażaniu HA

HA tylko na poziomie hiperwizora
jeden przełącznik lub jedno zasilanie
Ceph bez właściwej sieci i liczby dysków
dwa węzły bez poprawnego quorum
brak wsparcia producenta ERP dla wielu serwerów
brak testów failoveru
mylenie HA z Disaster Recovery

Klaster HA w jednej serwerowni nie ochroni firmy przed utratą całej lokalizacji, a konfiguracja nigdy niesprawdzona podczas awarii nie daje wiarygodnej informacji o realnym RTO.

Podsumowanie

Prawdziwe HA dla ERP nie jest jednym produktem ani jedną funkcją w panelu Proxmox. To wielowarstwowa architektura obejmująca redundantny sprzęt, sieć, storage, klaster wirtualizacji, bazę SQL, aplikację ERP, dostęp użytkowników, monitoring, backup i Disaster Recovery.

Klaster Proxmox z Ceph może być bardzo dobrym fundamentem takiego środowiska, ale nie zawsze musi być najlepszym wyborem. W niektórych firmach wystarczy HA maszyny wirtualnej, w innych potrzebne będą również SQL Server Always On, redundantne serwery aplikacyjne i druga lokalizacja.

Projekt należy rozpocząć od rozmowy o biznesie: ile kosztuje godzina przestoju, ile danych można utracić i jak szybko system musi wrócić do pracy. Dopiero później dobiera się technologię.

W PRO-Admin analizujemy cały łańcuch działania systemu ERP. Sprawdzamy infrastrukturę, SQL Server, aplikację, sieć, backup i procedury awaryjne. Na tej podstawie przygotowujemy architekturę dopasowaną do rzeczywistych wymagań, bez budowania nadmiernie drogiego środowiska tylko dlatego, że technicznie jest to możliwe.

Wysoka dostępność dla Twojego ERP

Projektujemy środowiska HA oparte na klastrach Proxmox VE: Ceph lub ZFS, SQL Server Always On, redundantna sieć, Proxmox Backup Server i testowany plan Disaster Recovery. Bezpłatna analiza wymagań RTO i RPO.

Proxmox i wirtualizacja - oferta i wycena
Kontakt

Porozmawiajmy o Twoim IT

Odpiszemy najszybciej jak to możliwe. Bezpłatna konsultacja i wycena.

Obsługujemy firmy w Szczecinie, Stargardzie i okolicach oraz realizujemy usługi zdalnie na terenie całej Polski.

Dane kontaktowe

+48 91 885 43 40
biuro@pro-admin.pl
ul. Lutniana 39/3, 71-425 Szczecin

Godziny kontaktu

Pn–Pt 8:00–17:00
Sob–Ndz Zamknięte
Monitoring & alerty 24/7

Dziękujemy za kontakt!

Wiadomość została wysłana. Odpiszemy najszybciej jak to możliwe.

Ta strona używa narzędzi Microsoft Clarity (mapy cieplne, nagrania sesji) oraz Google Analytics (statystyki ruchu) do anonimowej analizy odwiedzin. Nie korzystamy z reklam ani profilowania.