Plus minus
Strona domowa Ireny i Zbigniewa Kuleszów
Serdecznie witamy na domowych, prywatnych serwerach
Dzisiaj jest: 2026-06-22  Aktualizacja strony dnia: [an error occurred while processing this directive]
Jezyki
Rocznica 24 lat pracy serwerów i strony zjk.pl :-) (od 2002)
24 lat nieprzerwanej pracy z systemem FreeBSD / 24 years of continuous work with FreeBSD
system
UWAGA! Ten serwis, strona i podstrony mogą używać cookies i podobnych technologii (brak zmiany ustawienia przeglądarki oznacza zgodę na to)!
Powitanie Autor Irena Zbigniew Elektronika Studenci Serwer Prawo_jazdy Kolejka Pobierz Linki Palmtop Kontakt Info O Tobie Mail
FreeBSD i mikroserwery. Rocznica 18 lat pracy serwerów i strony zjk.pl :-) Nieprzerwanie od 2002 roku.
Info ogólne Infrastruktura Kogo goœcimy? Usługi Sprzęt Technologie FreeBSD Oprogramowanie Aktualizacje Historia Pobierz Linki Kontakt CMS Blog Dla_Róży Mail Zbyszek
Zdjęcia 1 Zdjęcia noc 1 Zasilanie HA-OPNsense PCI riser i9 9900T Chłodzenie Zrobię samemu 32do64 FAQ Aktualizacje 32do64 Zrobię samemu Pobierz Linki Kontakt CMS Blog Dla_Róży
Przypadki Testy odpornoœci Manifest Opinie AI Logi Poczta Mail Zbyszek

Infrastruktura serwerów Zbigniew Kulesza zjk.pl

Serdecznie witam na moich prywatnych, domowych serwerach FreeBSD/UNIX, Sieradz. Polska

Dzisiaj jest: 2026-06-22   Aktualizacja dnia: [an error occurred while processing this directive]

Widok aktualny

UWAGA - wszelkie parametry podane na tej stronie to NIE są fikcją, symulacją teoretyczną, tworzeniem idealnych scenariuszy. Jest to absolutnie REALNY stan, z którego korzystasz czytając te słowa.
Natomiast zostały wprowadzone elementy anonimizujące ze względów bezpieczeństwa.
Jeśli wątpisz w prawdziwość podanych danych to zapewniam, że zwykle zaniżałem podane liczby.
Natomiast - ze względu na ciągłe prace rozwojowe - w niektórych elementach mogą występować różnice stopnia wdrożenia (zwykle czekam kilka miesięcy na sprawdzenie, czy dana technologia sprawuje się stabilnie).
Niektóre elementy konfiguracji są wycofywane - w razie wątpliwości pytaj mailem o stan aktualny, ponieważ strona internetowa ma dla mnie tylko znaczenie ilustracyjne, nie ściśle dokumentacyjne. Jednocześnie konkretne parametry sprzętu i wydarzenia opisane w historii już mają wartość dokumentacji.
Rysunki zostały wykonane samodzielnie bądź z udziałem ChatGPT oraz Microsoft Copilot. Teksty były pisane oryginalnie przez mnie z "wygładzeniem" przez CharGPT. Tłumaczenia wykonane z użyciem ChatGPT.
Jeśli znajdziesz błędy językowe czy merytoryczne - proszę zgłoś i wybacz mi niedopatrzenie, naprawdę i tak wiele czasu mam zajęte utrzymaniem mojej serwerowni i nie tylko ;P

Spis treści:




A. Filozofia projektu:


Zalety infrastruktury zjk.pl

Czy da się zbudować profesjonalne Datacenter bez korporacyjnej chmury?

W dzisiejszych czasach sieć jest zdominowana przez wielkie korporacje, reklamy i skrypty śledzące. Internet może jednak wyglądać inaczej. Od 24 lat rozwijana jest w pełni niezależna, prywatna infrastruktura serwerowa zjk.pl, która stanowi dowód na to, że wolny i bezpieczny cyfrowy świat wciąż istnieje. To nie jest zwykły komputer stojący w kącie, ale zaawansowany ekosystem oparty na systemie FreeBSD.

Dla osób szukających inspiracji, studentów informatyki czy pasjonatów technologii, strona ta stanowi praktyczne studium przypadku. Przedstawia ona, jak w realnym środowisku funkcjonują rozwiązania klasy Enterprise:

Fundamenty i bezpieczeństwo: Implementacja najwyższych standardów bezpieczeństwa stron (HTTP/3, rygorystyczne nagłówki SSL/TLS), niezależny i odporny na spam system pocztowy oraz aplikacje odizolowane w bezpiecznych kontenerach (Jails).
Wysoka dostępność (HA): Architektura klastrowa oparta na protokole CARP oraz load balancerze HAProxy, eliminująca przerwy w działaniu usług w przypadku awarii sprzętu.
Zarządzanie pamięcią masową: Skalowalna i bezpieczna przestrzeń na dane zrealizowana za pomocą systemu plików ZFS oraz rozproszonych systemów MooseFS i obiektowego SeaweedFS.

Poniższy opis to unikalny zapis drogi – od pojedynczego serwera do rozproszonej architektury. To techniczna dokumentacja tego, jak nowoczesna sztuka UNIX-owa funkcjonuje w praktyce.



B. Parametry infrastruktury:


  • dostępność usług 24/7/365, pełne zasilanie awaryjne (UPS)
  • redundancja wybranych usług i komponentów infrastruktury,
  • OPNsense HA (master/slave + CARP),
  • dwa niezależne łącza ISP,
  • LACP/LAGG dla kluczowych połączeń sieciowych,
  • serwery fizyczne i wirtualne,
  • storage, backup i monitoring,
  • systematyczne aktualizacje sprzętu i oprogramowania (tryb ciągły, restarty po istotnych aktualizacjach bez względu na uptime),
  • możliwość hostowania własnych domen i usług.

Schemat struktury sieci zjk.pl

Powyższy schemat i opis poniżej mają charakter poglądowy (ze względów bezpieczeństwa).


C. Architektura infrastruktury


Poniższe schematy i opisy mają charakter poglądowy ze względów bezpieczeństwa.

Stabilna sieć i rozproszona przestrzeń: Architektura odporna na awarie

Prawdziwa inżynieria zaczyna się tam, gdzie kończy się pojedynczy dysk i jeden serwer. Budowa niezawodnego środowiska wymaga skutecznego zarządzania rosnącym wolumenem danych, spięcia dwóch niezależnych ISP oraz zapewnienia ciągłości działania usług, nawet w przypadku awarii fizycznej maszyny.

Ten rozdział to szczegółowy opis topologii i struktury zjk.pl. Przedstawia on architekturę pozbawioną pojedynczych punktów awarii (SPOF), w której warstwa sieciowa opiera się na firewallach OPNsense HA (CARP) oraz agregacji łącz LACP/LAGG. Kluczowym elementem tej konfiguracji jest wysoce skalowalna pamięć masowa, zrealizowana w oparciu o systemy MooseFS oraz obiektowy SeaweedFS. Poniższy materiał dokumentuje, jak te zaawansowane rozwiązania magazynowania danych i replikacji funkcjonują w codziennej praktyce produkcyjnej klastra.


Opis ekosystemu serwerowni zjk.pl: "ekosystem", jak zjk.pl działa jako całość z podkreśleniem najważniejszych technologii.


Schemat główny


D. Infrastruktura składa się z następujących warstw:



Schemat warstw

  • D.1 Warstwa brzegowa (Edge Layer) - komunikacja ze światem


  • D.1.1 Opis brzegowy:
    a. warstwa składa się z dwóch modemów różnych dostawców Internetowych,
    b. dwóch komputerów z OPNsense - z włączonym CARP i tryblem Master-Slave. Schemat ilustruje ten system: 2 modemy Vectra i Netia, 2 x OPNsense,
    c. ale obejmuje warstwę następną - sieci: dwa switche zarządzalny i zwykły oraz punkt WiFi.


  • D.2 Warstwa sieciowa (Network Layer) - czysta infrastruktura transportowa

  • D.2.1 Opis sieci:
    a. LAGG/LACP łączy serwery ze switchem zarządzalnym 2x1Gb/s,
    b. jednak w wybranych miejscach pojawia się jeszcze LAGG w trybie failover oraz loadbalance.

    Schemat infrastruktury zjk.pl

  • D.3 Warstwa usług i aplikacji (Service Layer) - oferowane funkcjonalności / usługi

  • D.3.1 Opis poczty:
    a. dwa serwery pocztowe mail.zjk.pl (mai1.zjk.pl) i mail2.zjk.pl, na obydwu pracują Sendmaile + wszelkie programy bezpieczeństwa: rspamd, Mailscanner, spamassasin oraz fetchmail razem z mechanizmami: DKIM, SPF, openDMARC i kluczami LetsEncrypt.
    b. na poziomie dostępu klienckiego jest to dovecot z bardzo nowoczesnym mdbox (i ciekawostka: poczta działa na montowanym z Moosefs /usr/home z oddzielnym katalogiem szybkich lokalnych indeksów).

    Schemat poczty zjk.pl

    D.3.2 Opis klastra WWW:
    Podaję opis przepływu danych:
    a. dane przychodzą na OPNsense,
    b. stamtąd HAproxy kieruje je metodą Round-Robin ze sticky connections do
    c. 4 serwerów www (sprawdzając, który aktualnie jest dostępny),
    d. 4 serwery korzystają z katalogów udostępnionych na MooseFS (1 serwer jeden katalog )
    e. lub (tryb testowy/rezerwowy) 4 SeaweedFS (tam podobnie: 1 katalog 1 filler),
    f. cache - lokalne przy każdym serwerze: opcache i moduł apache memory/diskcache,
    g. oraz redis - redis jest skomplikowany, to jest 6 maszyn z jedną wybraną na master przez 6 sentineli - synchronizacja działania odbywa się przez HAproxy na OPNsense i z wybranego mastera korzystają serwery www,
    h. OPNsense dodaje protokół HTTP/3 (w testach) na swoim wyjściu na protokole UDP,
    i. wyjaśnienie - katalogi zarówno MooseFS jak SeaweedFS - to tak naprawdę jeden katalog MooseFS montowany na każdym serwerze www i podobnie SeaweedFS - katalog jest jeden, ale są 4 oddzielne cache przechowujące kopie tego katalogu na każdym komputerze oddzielnie.

    Klaster www z redis cache zjk.pl

    D.3.3 Opis DNS:
    a. DNS zewnętrzny: 3 dostawców home.pl seohost.pl porkbun.com - wpisy nie tylko standard, ale SPF, DKIM, DMARC itp - dla kilku domen obsługiwanych przez serwery zjk.pl,
    b. DNS wewnętrzny BIND9: 4 maszyny: jedna master + 3 slave, opisujące pełny schemat wewnętrznej struktury serwerowni zjk.pl.

    DNS w zjk.pl

  • D.4 Warstwa storage i danych (Storage & Data Layer) - przechowywanie danych i backend

  • D.4.1 Opis ZFS:
    System plików obecny głównie na dyskach magazynach danych (czyli MooseFS korzysta z dysków ZFS, także wszystkie dyski archiwów, backupu), w jeden pool typu raidz2-0 – odpowiednik RAID 6 (toleruje awarię 2 dysków).
    Dyski systemowe z drobnymi wyjątkami (na ZFS) to UFS2.

    ZFS w zjk.pl

    D.4.2 Opis klastra Moosefs:
    a. 1 master - to wersja Community Edition,
    b. ale 2 serwery mogą przejąc skryptem rolę mastera,
    c. 12 chunkserwerów,
    d. ok. 30 punktów montowania, w tym warto zaznaczyć - montowanie dla serwerów katalogu /usr/home (co jest dosyć trudną sprawą do utrzymania), a punkty montowania to FreeBSD i Windows,
    e. warto podkreślić, że istnieją klasy dysków HDD i SDD (potrójne) oraz specjalna klasa dla 4 dysków, które służą jako lokalne maszyny dostarczające pliki dla 4 serwerów www (dość unikatowe).

    MooseFS w zjk.pl

    D.4.3 Opis klastra Seaweed:
    a. 3 mastery,
    b. 7 fillerów,
    c. synchronizowane na 4 różnych portach oddzielnie w HAproxy w OPNsense,
    d. 4 filery pracują na katalogi www, pozostałe to punkty montowania z 2 i 3 krotnością, ale oddzielnie dla szybkich SSD i zwykłych HDD - uwaga - 3 główne fillery maja po dwa dyski HDD i SSD, filery www maja dyski SSD, w sumie jest zatem 10 dysków,
    e. SeaweedFS trzyma metadane w PostgreSQL - 3 oddzielne serwery, które pracują w trybie Hot Redundancy, jeden wybrany na mastera - wybór oraz transmisja danych bazy metadane odbywa się przez HAproxy, które pracuje na OPNsense.

    SeaweedFS w zjk.pl

    D.4.4 Opis baz danych:
    a. PostgreSQL w trybie Hot Redundancy: 3 serwery z czego jeden wybrany na master, jego wybór odbywa się poprzez HAproxy na OPNsense - z dostępem do bazy danych przez wspólny port na OPNsense - ta baza danych przechowuje metadane SeaweedFS i m.in. dane z backupu Bareosa,
    b. MySQL - 5 serwerów w trybie Cluster Replication, komunikują się z OPNsense do wyboru jednego mastera i jednocześnie na OPNsense jest udostępniony wspólny port dostępu do danych. MySQL to głównie bazy danych dla www,
    c. uwaga - bazy danych są backupowane z pomocą systemowych narzędzi jako zrzuty z retencją min. 15 dni.

    Bazy danych w zjk.pl

    D.4.5 Opis backupu:
    a. każdy z 8 serwerów ma dwa dyski: SSD główny i HDD z lokalnymi dumpami (robione moim własnym skryptem - miesięczne),
    b. dane trafiają na wspólny dysk sieciowy (NFS nie MooseFS),
    c. a z niego na dysk zewnętrzny archiwum,
    d. backupy Bareosa (klasyka codzienne, tydzień i miesiąc) na oddzielnych dyskach NFS,
    e. Urbackup - oddzielny dysk nfs
    e. dyski MooseFS i SeaweedFS trafiają na wspomniany zewnętrzny dysk archiwum,
    f. backupy /etc /usr/local/etc konfiguracji - etckeep (testowo).

    Backup w zjk.pl

  • D.5 Warstwa użytkowników i klientów (Client Layer) - kto korzysta z infrastruktury

  • D.6 Warstwa systemów pomocniczych i operacyjnych (Operations Layer) - zwykle nie pokazują tego homelaby, jest w zjk.pl

    1. D.7 Warstwa zasilania i niezawodności (Power & Reliability Layer) - w zjk.pl zasługuje na własną warstwę

    D.7.1 Opis warstwy zasilania:
    a. dwa UPS Fideltronik KI PRO 2000,
    b. ich wyjściu jest jeszcze podwójny przełącznik wykrywający zanik zasilania - czyli wybór linii zasilania jest kaskadowy, jeśli jeden UPS wyłączy się, przejmuje zasilanie drugi,
    c. zasilanie trafia do dwóch linii - jedna jest główna do zasilacza 660 W 80Platinum - dającego główną linię zasilania 12 V do wszystkich serwerów,
    d. serwery (wszystkie) mają na pokładzie zasilacze Picopsu (znajdź opis w Internecie),
    e. drugi zasilacz mini-ITX 80Platinum generuje drugą linię zasilania 12 V ,
    f. obie linie 12 V za pośrednictwem diod Schottkiego łączą się na linii zasilania serwerów i innych zasobów wrażliwych, jak OPNsense, switch, WiFi itp - żeby zasilanie do nich zawsze było dostępne,
    g. trzeci zasilacz dużej mocy generuje 12 V, ale już tylko do komputerów użytkowych - aby były odseparowane.

    Zasilanie w zjk,pl

  • D.8 Podsumowanie: wyróżniające technologie i bezpieczeństwo


  • Nazwa historyczna:

    Dawna nazwa "ciasteczkowy serwer" (nie mylić ze współczesnymi obudowami mini-ITX). Angielska nazwa subminiaturowych komputerów to "biscuit computer". Biscuit to po polsku herbatnik, sucharek (także ang. "rusk"). Jednocześnie można zauważyć, że "ciasteczko" to raczej angielskie "cookie". Jednak po polsku "herbatnikowy serwer" albo "sucharkowy serwer" brzmi tak sobie... Dlatego ostatecznie zostawiłem "ciasteczkowy serwer". Więcej o tych niezwykle małych. pobierających mało energii komputerkach w dziale "sprzęt". Zapraszam... UWAGA - dawne "ciasteczka" zostały zastąpione nowocześniejszymi konstrukcjami, ale również o bardzo niskim poborze mocy - opis także w dziale sprzęt.


    Łącza internetowe

    Infrastruktura wykorzystuje dwa niezależne łącza operatorów dla zwiększenia dostępności usług.

    1. Aktualny dostawca Internetu - Vectra oddział Sieradz - łącze Vectra biznes
    (od 18.VI.2021r.): 600/60 Mb/s (czyli 75 MB/s i 7,5 MB/s)
    IP: 88.156.77.167 dawniej 232
    2. Drugie łącze: Netia na BSA Orange, światłowód
    (od 11.V.2021): 1000/300 Mb/s (czyli 125 MB/s i 37,5 MB/s) - promocja Netia
    IP: 83.238.166.222

    Serwer posiada rejestrację nazwy w NASK, aktualnie home.pl -
    oficjalnie: zjk.pl






    Powrót na stronę główną - Informacje o stronie, prawa autorskie, legalność itd. tutaj
    Informacje o przetwarzaniu i ochronie danych osobowych, kontakt i zapytania itd. tutaj
    Prywatne serwery Zbigniewa Kuleszy zjk.pl. Aktualny dostawca Internetu - Vectra.pl, Wszelkie prawa zastrzeżone. Zespół redakcyjny zjk.pl: zjk7@wp.pl
    W sprawie treści i działania strony oraz w sprawie funkcjonowania i udostępniania treści na serwerach zjk.pl - kontakt z administratorem: webmaster@zjk.pl lub zjk7@wp.pl

    Valid HTML 4.01 Transitional Valid XHTML 1.0 Transitional Poprawny CSS! Poprawny CSS!

    Copyright (c): Zbigniew Kulesza, Sieradz 2002-2026