Posted on ::

To jest pierwszy z chaotycznej serii wpisów na temat mojego homelaba. Ten mój homelab to tak naprawdę ledwo istnieje, a jego fundamentalne założenia ciągle się zmieniają, ale nie przeszkadza mi to - to nie jest tak, że ktoś mi za to płaci. Mój pomysł na to, jak zorganizować sobie swoje miejsce w szeroko pojętym internecie, obejmował nie tylko postawienie własnego serwera, ale również ogarnięcie sieci w moim mieszkaniu. Wiem, że to są różne rzeczy, ale w mojej głowie to wszystko ma sens. Zacznijmy więc od tego miejsca, w którym już wszyscy wiemy, co to jest homelab.

Na początku był komputer. Konkretnie to poleasingowy Lenovo ThinkCentre M80q, którego kupiłem za cenę, którą byłem gotów wydać na tę fanaberię. Komputer ten ma procesor przedstawiający się jako "12th Gen Intel(R) Core(TM) i7-12700T" z 20 rdzeniami, 16 gigabajtów pamięci RAM (już wiem, że zdecydowanie za mało), dysk SSD NVMe o pojemności 500 GB, dwa interfejsy sieciowe LAN, dużo portów USB typów A i C, i coś tam jeszcze, już nieważne. Na początek zabawy w serwowanie brzmi wystarczająco.

Dobra, mam blaszaka, co teraz? Teraz trzeba coś zainstalować. I tu zaczynają się pierwsze schody, bo ja nawet nie wiem do końca, co chcę. Wiem, że chcę mieć serwer mediów, menadżer haseł, agregat RSS-ów - wszystkie te rzeczy mogą istnieć w kontenerze na pojedynczym systemie operacyjnym. Ale okazało się, że niektóre inne rzeczy same w sobie są systemami operacyjnymi: np. HomeAssistantOS, aplikacja do sterowania domem, czy taki OPNsense, który jest de facto routerem (o tym za chwilę). Więc może chcę coś, co pozwoli mi zainstalować i uruchomić różne systemy operacyjne na raz? Czy coś takiego w ogóle istnieje?

Trochę klikania w internecie i okazuje się, że tak! Istnieje coś takiego jak hypervisor - po polsku nazywa się to hipernadzorca, a artykuł w polskiej Wikipedii na ten temat jest tak niezrozumiały, że już łatwiej nauczyć się języka angielskiego. Serio. Co to jest hipernadzorca i co robi? W skrócie, jest to system operacyjny, który pozwala uruchomić na komputerze kolejne systemy operacyjne, przydzielić im zasoby - określoną ilość rdzeni procesora, pamięci RAM czy przestrzeni dyskowej, a także przypisać im różne inne sprzęty - możemy na przykład przypisać poszczególne interfejsy sieciowe czy oddać pełną autonomię nad kartą graficzną. Projektem, który wybrałem do swojego homelaba, jest Proxmox Virtual Environment. Największy wpływ na tę decyzję miał ten film od Craft Computing.

Pierwszą maszyną wirtualną, którą chciałem stworzyć na moim serwerze, był... router. O co chodzi z tym routerem? Moja idea na tego homelaba była taka, żeby to było jedno pudełko, które sobie podłączam z jednej strony do prądu, z drugiej strony do gniazdka internetowego, i tak oto powstaje cały mój świat internetowy. Zarówno ten zewnętrzny, gdzie hostuję sobie usługi, jak i ten wewnętrzny, gdzie powstają odpowiednie sieci WiFi, do których podłączam wszystkie moje komputery, smartfony i inne odkurzacze i pralki. Z samym WiFi okazało się, że może być lekki problem, bo tak naprawdę potrzebny jest zewnętrzny w stosunku do serwera access point, no ale nadal może to być taki "regałowy pakiecik".

Podczas szukania informacji na temat dostępnych rozwiązań, natknąłem się na wiele dyskusji dotyczących tego, że to nie jest najlepszy pomysł, żeby router instalować na jednym komputerze z innymi usługami, że powinna to być osobna maszyna, żeby w razie wypadku nie stracić łączności ze światem zewnętrznym, no bo wiadomo, że komputery się psują, no a co będzie, jak nie będziesz mógł wbić na fejsika, przecież to nie jest tak, że masz na telefonie możliwość zrobienia hotspota i udostępnienia innym urządzeniom internetu 5G po WiFi. Po rzetelnym rozważeniu tej idei postanowiłem, że i owszem, obawy są uzasadnione, i zamówiłem pięć lodówek i trzy pralki - no bo wiadomo, rzeczy się psują, a gdzie ja wtedy wypiorę moje brudne gacie.

A tak poważnie: istnieje wiele powodów, żeby mieć każdą jedną usługę na osobnej maszynie, albo wszystkie na jednej, albo każda możliwa kombinacja pomiędzy. Kluczem jest zdawanie sobie sprawy z tego, jakie wiążą się z tym konsekwencje. Obawa o utratę dostępu do internetu może być dla niektórych wystarczającym powodem, żeby kupić kolejny komputer dedykowany temu zadaniu. Inni w ogóle nie będą się tym przejmować, i po prostu będą korzystać ze sprzętu dostarczonego od operatora internetu. Ja postanowiłem, że router będzie żył u mnie na serwerze jako maszyna wirtualna numer 1. Do tego poważnego zadania wybrałem OPNsense. Inspiracją do wyboru tego narzędzia był tutorial, jaki mój ulubiony jutuber Louis Rossmann stworzył na temat tworzenia swojego własnego serwera.

Na dziś wystarczy, jest pierwsza w nocy, dobranoc.