Infrastruktura
serwerów Zbigniew Kulesza zjk.pl
Serdecznie
witam na moich prywatnych, domowych serwerach FreeBSD/UNIX, Sieradz. Polska
Dzisiaj
jest:
2026-07-16 12:53:02
Aktualizacja dnia:
2026-07-15 11:06:03

Filozofia projektu:

Parametry
infrastruktury:
- dostêpno¶æ
us³ug 24/7/365
- 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

Powy¿szy
schemat i opis poni¿ej maj± charakter pogl±dowy (ze
wzglêdów bezpieczeñstwa).
Architektura
infrastruktury
Poni¿sze
schematy i opisy maj± charakter pogl±dowy ze wzglêdów
bezpieczeñstwa.
Opis ekosystemu serwerowni zjk.pl: "ekosystem", jak to dzia³a jako calo¶æ z podkre¶leniem najwa¿niejszych technologii.

Infrastruktura
sk³ada siê z nastêpuj±cych warstw:
- Warstwa brzegowa (Edge Layer) - komunikacja ze ¶wiatem
- OPNsense HA (master/slave)
- CARP failover
- dwa niezale¿ne ³±cza ISP
- routing i automatyczne prze³±czanie awaryjne
- firewall / NAT / filtrowanie
- HAProxy / reverse proxy
- TLS termination
- HTTP/3 / QUIC
Opis:
Warstwa sk³ada siê z dwóch modemów ró¿nych
dostawców Internetowych, 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, ale objmuje wartwê
naszêpn± - sieci: dwa switche zarz±dzalny i zwyk³y oraz punkt WiFi.
- Warstwa sieciowa (Network Layer) - czysta infrastruktura transportowa
- switch zarz±dzalny
- switch zapasowy / fallback
- LACP / LAGG
- VLAN / segmentacja sieci
- trunki i agregacja
- punkt dostêpowy WiFi
- sieæ LAN
Opis:
LAGG/LACP ³±czy serwery ze switchem zarz±dzalnym 2x1Gb/s, jednak w
wybranych miejscach pojawia siê jeszcze LAGG w trybie failover oraz
loadbalance.

- Warstwa us³ug i aplikacji (Service Layer) - oferowane funkcjonalno¶ci / us³ugi
- rozproszone serwery WWW
- poczta Sendmail, Dovecot
- Nextcloud, Piwigo
- WordPress
- Jellyfin
- Git / SVN / Forgejo
- monitoring - m.in. Monitorix, Mrtg, Ganglia, Symon
- logowanie / syslog
- DNS
- reverse proxy aplikacyjne
- HA us³ug
Opis poczty:
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. Na poziomie dostêpu klienckiego
jest to dovecot z nowocszenym mdbox (i ciekawostka, bo poczta dzia³a na
montowanym z Moosefs /usr/home z oddzielnym katalogiem szybkich
lokalnych indeksów).

Opis klastra WWW: podajê opis przep³ywu danych:
a. dane przychodza na OPNsense,
b. stamt±d HAproxy kieruje je motod± Round-Robin ze sticky connections do
c. 4 serwerów www (sprawdzaj±c, który aktualnie jest dostêpnya),
d. 4 serwery korzystaj± z katalogów udostêpnionych na Moosfs (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ól 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

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

- Warstwa storage i danych (Storage & Data Layer) - przechowywanie danych i backend
- ZFS + RAID ZFS
- MooseFS
- SeaweedFS
- PostgreSQL cluster
- MySQL cluster
- backup NAS
- repliki danych
- object storage
- snapshoty i backup
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.

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±), 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)

Opis klastra Seaweed:
a. 3 mastery
b. 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 zwyklych 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

Opis baz danych:
a.
PostgreSQL w trybie Hot Redundancy: 3 serwery z czego jeden wybrany na
master, jego wybór odbywa sie poprzez HAproxy na OPNsense - z
dostêpem do bazy danych przez wspólny poart 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

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 - miesieczne),
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)

- Warstwa u¿ytkowników i klientów (Client Layer) - kto korzysta z infrastruktury
- komputery domowe
- laptopy
- urz±dzenia mobilne
- urz±dzenia IoT
- systemy testowe
- urz±dzenia sieciowe u¿ytkowników
- stacje robocze
- Warstwa systemów pomocniczych i operacyjnych (Operations Layer) - zwykle nie pokazuj± tego homelaby, jest w zjk.pl
- monitoring
- alerting
- log aggregation
- backup orchestration
- automatyzacja
- skrypty HA
- synchronizacja konfiguracji
- dokumentacja infrastruktury
- Warstwa zasilania i niezawodno¶ci (Power & Reliability Layer) - w zjk.pl zas³uguje na w³asn± warstwê
- UPS #1
- UPS #2
- dystrybucja DC 12V
- bufor akumulatorowy
- redundancja PSU
- monitoring zasilania
- OR-ing / Schottky
- failover energetyczny
Opis warstwy zasilania:
a. dwa UPS Fideltronik ki pro 2000,
b. ich
wyjsciu 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 lini
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

- Podsumowanie: wyró¿niaj±ce technologie
i bezpieczeñstwo
- FreeBSD
- OPNsense
- HAProxy
- MooseFS
- SeaweedFS
- PostgreSQL
HA
- Mysql
Cluster
- Redis
- HTTP/2
oraz HTTP/3
- SPF /
DKIM / DMARC
- monitoring
bezpieczeñstwa
- systematyczne
aktualizacje
Ró¿ne
informacje o serwerach:
Us³ugi: http://www.zjk.pl/serwery/serwer_uslugi.html
Sprzêt: http://www.zjk.pl/serwery/serwer_sprzet.html
Oprogramowanie: http://www.zjk.pl/serwery/serwer_oprogramowanie.html
Aktualizacje: http://www.zjk.pl/serwery/serwer_aktualizacje.html
Technologie: http://www.zjk.pl/serwery/serwer_technologie.html
IPNsense: http://www.zjk.pl/serwery/serwer_ha_opnsense.html
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 Welcome
to our website
This is a modern language section designed specifically for
high performance and strict SEO optimization. Web browsers render the
layout seamlessly without being slowed down by external script
execution.
Feel free to paste massive text blocks here. Search engine
crawlers will process this entire language variant immediately,
ensuring all your keywords are fully indexed without hidden obstacles.
Willkommen
auf unserer Webseite
Dies ist ein moderner Sprachbereich, der speziell für
hohe Leistung und SEO-Optimierung entwickelt wurde. Der Webbrowser
rendert das Layout nahtlos, ohne durch die Ausführung externer
Skripte verlangsamt zu werden.
Hier können Sie riesige Textmengen einfügen.
Suchmaschinen-Crawler verarbeiten diesen gesamten Sprachbereich sofort
und stellen sicher, dass alle Ihre Keywords ohne versteckte Hindernisse
vollständig indexiert werden.