🇬🇧 Go to english version of this post / Przejdź do angielskiej wersji tego wpisu
W tym wpisie opiszę jak stworzyć domowy serwer, który będzie idealnym pomocnikiem (wsparciem, czy może też uzupełnieniem) dla iPada. Nie jest to do końca zgodne z ideologią #iPadOnly, bo zakłada używanie nie tylko samego tableta, ale potraktujcie to jak relację pomiędzy Batmanem i Alfredem 😉
Ten wpis powstał w oparciu o mojego drugiego bloga – odroid.pl, który jest poradnikiem dla początkujących i ewentualnie średnio-zaawansowanych, który bardzo mocno skupia się na tematyce self-hosted, a konkretnie traktuje o tym jak stosunkowo niskim kosztem stworzyć swój mały serwer domowy, na którym można uruchomić kilka(naście) bardzo przydatnych narzędzi i usług. Mimo niedomknięcia jeszcze wszystkich tematów, które zaplanowałem opisać, na odroid.pl nie publikowałem już jakiś czas. Niemniej jednak wiedza tam zawarta jest cały czas aktualna i może być dla niektórych przydatna. Będę część z tych materiałów używał tutaj i do nich nawiązywał, a także planuję tutaj dokończyć tematy, których tam opisać mi się nie udało. Wiedza, którą w formie pigułki zawrę w tym wpisie jest bardziej rozwinięta na odroid.pl, więc jeżeli którekolwiek z poniższych zagadnień będzie niejasne to polecam odwiedzić także drugiego blog.
Potrzebny sprzęt
Zaczynamy od zaopatrzenia się w sprzęt:
- Raspberry Pi lub równoważna alternatywa – tutaj polecam płytki o specyfikacji podobnej do RPi 4B w wersji z 4GB RAMu, ODROID C4 lub mocniejsze (grunt to 4 rdzeniowy procesor i nie mniej niż 4 GB RAMu),
- Obudowa – nie będzie tutaj za wielkiego wyboru, bo każda płytka ma 2-3 dedykowane obudowy, więc po prostu wybierzcie najtańszą,
- Chłodzenie – przeważnie jest w zestawie z samą płytką lub obudową do niej, nie pchajcie się w chłodzenie inne niż pasywne (radiator aluminiowy), bo po pierwsze nie przewiduję aż takiego obciążenia, po drugie nawet pod obciążeniem te płytki nie grzeją się ekstremalnie, a po trzecie chłodzenie pasywne to komfort akustyczny nieosiągalny nawet przy wentylatorze najwyższej klasy,
- Zasilacz – zwróć uwagę na typ złącza, napięcie zasilania i maksymalny prąd jaki potrzebuje płytka, do którego przy wyborze zasilacza należy dodać przynajmniej 1A, aby mieć zapas zasilania dla ewentualnych peryferiów (np. dyski zewnętrzne), które będziemy chcieli podpiąć w przyszłości,
- Karta microSDXC – pojemność 64GB na start wystarczy w zupełności, decyzję o zakupie większej pozostawiam już do oceny indywidualnej,
- Kabel RJ-45 (Ethernet) – jeżeli nie macie to będzie potrzebny do wpięcia serwera bezpośrednio w router domowy.
Zestaw o powyższej specyfikacji nie powinien kosztować więcej niż 500 zł i to tylko ze względu na szalejące w ostatnim czasie ceny. Normalnie Raspberry Pi można było kupić sporo taniej niż obecnie. Więcej na temat doboru sprzętu możecie przeczytać tutaj.
Czy to się w ogóle opłaca?
Policzmy czy posiadanie w domu serwera opartego o platformę RPi opłaca się bardziej niż wykupienie sobie VPSa (Virtual Private Server – czyli maszyny, która działa w serwerowni poza naszym domem).
Dla porównania weźmy najpopularniejszego w Polsce dostawcę tego typu rozwiązań – OVH, gdzie za porównywalny do Raspberry Pi 4B serwer, z dwoma wirtualnymi rdzeniami (vCore), 4GB RAMu i dyskiem 80GB, przyszłoby nam płacić ok. 70 zł brutto miesięcznie. Nie dajcie sobie zamydlić oczu cenami podanymi na stronie, bo po pierwsze to podane 45 zł to kwota netto, a po drugie obowiązująca tylko przez pierwszy miesiąc.
Jak to wygląda dla RPi? W tym przypadku ponosimy wyższy koszt początkowy, ale rozbijmy sobie to na miesiące i zobaczmy jak szybko nam się zwróci. Najpierw jednak należy uwzględnić koszt prądu, bo w tym przypadku urządzenie jest w naszym domu i wymaga zasilania, za które oczywiście płacimy. Dla łatwego rachunku i żeby uciąć wszelkie dyskusje weźmy przypadek najgorszy, w którym serwer będzie chodził cały czas na maksymalnej mocy. Producent malinki dla modelu 4B zaleca zastosowanie zasilacza o napięciu 5V i maksymalnym prądzie 3A, co w najgorszym przypadku daje nam moc na poziomie (5V x 3A =) 15W, a więc na godzinę będziemy zużywać 15 Wh. Przeliczmy to na kilowatogodziny, które są używane jako standardowa jednostka na rachunkach za prąd i pomnóżmy to razy 24 godziny, aby ustalić ile prądu pójdzie nam na dobę – (0.015 kWh x 24 h =) 0.36 kWh. Spojrzałem na moje historyczne rachunki za prąd i z uwzględnieniem wszystkich dodatkowych kosztów (typu przesył itp.) średnio za kilowatogodzinę płacę jakieś 0.81 zł i to już po tych legendarnych podwyżkach cen prądu, bo wcześniej było to nie więcej niż 60 groszy… Kontynuując kalkulację weźmy teraz zużycie dobowe razy średnia cena i razy 30 dni, co da nam miesięczny koszt – (0.36 kWh x 0.81 zł x 30 dni =) 8.75 zł.
Reasumując, VPS miesięcznie jest ok. 8 razy droższy, tj. każdego miesiąca VPS wychodzi o ponad 60 zł drożej niż koszt prądu do zasilania serwera działającego lokalnie. Uwzględniając teraz cenę początkową podzespołów, na poziomie 500 zł, można łatwo policzyć, że zwrot następuje już po 8 miesiącach, a później zysk jest już wykładniczy.
Wgrywamy system
Ja jestem zwolennikiem systemu Ubuntu, ale każdy może wybrać jaki preferuje. Na RPi jest mnóstwo dedykowanych obrazów systemów dla praktycznie każdej dystrybucji, a jak jest dla RPi to będzie działać też na alternatywach jak ODROID. Jedyne na co trzeba zwrócić uwagę to fakt, że te płytki działają w oparciu o architekturę ARM i trzeba na to zwrócić uwagę wybierając wersję systemu.
Załóżmy, że wybraliśmy już system, więc trzeba go wgrać na kartę microSD, do tego celu przeważnie używam programu o nazwie balenaEther, bo jest on dostępny na każdy system. Jest banalnie prosty w użyciu, więc nie będę szczegółowo opisywał procesu wgrywania systemu na kartę, bo odbywa się poprzez naciśnięcie dosłownie 3 przycisków (wybór obrazu, wybór nośnika, flash’uj… gotowe!).
Więcej szczegółów o tym znajdziecie tutaj.
Nawiązujemy połączenie SSH
Konfigurację możemy przeprowadzić na dwa sposoby: podpinając monitor i klawiaturę lub tzw. headless setup poprzez połączenie SSH. Do tego drugiego potrzebujemy drugiego komputera (hosta), ale za to nie potrzebujemy żadnych peryferiów.
Do nawiązania połączenia SSH w pierwszej kolejności musimy ustalić adres nowo uruchomionego serwera w naszej sieci lokalnej. Dokładny opis jak to zrobić, dla początkujących, znajdziecie tutaj. Następnie będziemy potrzebować login i hasło domyślnego użytkownika. Informacje te są zawarte w dokumentacji dystrybucji, której obraz pobraliście. Przykładowo może to być:
- root:(brak hasła) – standard dla Debiana
- pi:raspberry – dla Raspberry Pi
- odroid:odroid – dla ODROIDa
Z uwagi na #iPadOnly hostem w moim przypadku jest oczywiście iPad, a swoimi serwerami zarządzam z poziomu aplikacji Termius, w której wystarczy jedynie utworzyć nowy tunel i wprowadzić powyżej zebrane informacje. Jeżeli ktoś nie chce używać Termiusa to może to samo osiągnąć korzystając z dowolnego terminala i komendy:
ssh pi@192.168.1.69
Gdzie pi i 192.168.1.69 należy zastąpić adekwatnymi dla swojego przypadku danymi.
Ciąg dalszy nastąpi…
Serwer kupiony, system zainstalowany i udało się z nim nawiązać połączenie, a więc wszystko działa jak należy. W następnym wpisie zajmiemy się podstawową konfiguracją, czyli fundamentalnymi działaniami, które należy wykonać na każdym świeżo postawionym serwerze.
MiKlo:~/citizen4.eu$💙💛
@to3kPonieważ przerobiłem różne wersje domowych serwerów, w tym praktycznie każdą wersję #rpi to moje przemyślenia są takie:- użycie #raspberrpi do celów w których nie wykorzystamy jego unikalnych właściwości (np gabarytów , portów I/O itp rzeczy) jest przepłacaniem- nawet najszybsze rpi4 jest w kategorii wydajności prawie o rząd wielkości słabsze niż np minipc z demobilu, który można kupić za cenę nowego pi ze wszystkimi dodatkami, które sa potrzebne (obudowa, nosnik pamięci itd). Praktyczne porównanie z takim “złomkiem” który używam od kilku lat i cały czas można w go kupić “na znanych portalach” za ok 400zł :RPi 4 CPU BCM2711CPU benchmark: 809http://www.cpubenchmark.net/cpu.php?c…Dell Wyse 5070 Pentium Silver J5005 1.5GHz 8GB RAMCPU benchmark: 3053http://www.cpubenchmark.net/cpu.php?c…“Złomek” ma bardzo oszczędny CPU (bez wiatraka) i jak mierzyłem pobór prądu całego serwerka (CPU + płyta + peryferia) to miesięczny koszt zasilania będzie dosłownie może z 2-3zł większy niz dla pi. A tutaj przecież możemy włożyć szybki dysk ssd sata v.s. karta SD , którą proponujesz do rpi.Jeżeli w rpi ma być karta sd to pomijając jej wydajność trzeba jeszcze pamiętać, że karta sd to nie dysk ssd , który ma zarządzanie “zużyciem” komórek pamięci (wear leveling) i taka zwykła karta SD po kilku miesiącach pracy serwerka po prostu przekroczy limit zapisu i się pojawią błędy. Można to obejść kupując specjalne karty “HIGH ENDURANCE” – i taka karta , np SANDISK HIGH END MICROSDHC 64GB VIDEO MONITOR (SDSDQQ-064G-G46A) faktycznie potrafi wytrzymać bezawaryjnie kilka lat (u mnie już 3-ci rok pracy 24/7). Ale jest kilka razy droższa od zwykłej – praktycznie cena/GB wychodzi tak samo jak tani dysk ssd w formacie m.2 .Możemy oczywiście ro rpi podłaczyć dysk ssd ale dochodzą dodatkowe koszty bo można to zrobić wyłączenie przez USB czyli albo obudowa USB/SSD dla dysku albo dedykowana i droga obydowa dla RPI z miejscem na ssd (np Agron One M.2).Ale rpi z dyskiem w jednej obudowie to już jest taka produkcja ciepła, że bez aktywnego chłodzenia to bym nie ryzykował (Argon One ma akurat wiatrak i dodatkowo sterowanie jego prędkością z poziomu OS’a.).W każdym razie – jak ktoś już ma w szufladzie rpi4 to można się pobawić w serwer ale jak ktoś nie ma to naprawdę taniej i znacznie wydajniej jest go zrobić na używanym minipc.
Tomasz Dunia
zgadzam się dlatego, w jakiś tydzień mam już prawie napisany wpis o mini pc (terminal) z Proxmox na pokładzie 😉
( ͡◉ ͜ʖ ͡◉)
@to3k Mam starego maca 21" tak sobie pomyślałem, że może zrobię z niego serwer
Tomasz Dunia
Pewnie dlaczego nie 😉
Grzegorz Cichocki
@to3k Aktualnie Raspberry Pi to jest kiepski wybór. Ceny są dalekie od normalnych. "Od ręki" alternatywą jest tylko Orange Pi, które kupiłem wczoraj. Ale i tak do serwera plików polecam wybrać mini PC. Taki Dell Wyse 5070 z Pentiumem oferuje o wiele wyższą wydajność a nadal ma niski pobór energii. Do tego wykorzystanie dysku do serwera plików jest rozwiązaniem pewniejszym i szybszym. Nie mówiąc o innych opcjach rozbudowy.Rpi do serwera domowego jest OK, ale w cenie do 200 zł
Tomasz Dunia
Zacznijmy od tego, że od jakiegoś roku jest ogólnie bardzo kiepsko z dostępnością Malinek. Nie zgodzę się, że alternatywą jest Orange Pi, bo jest tego sporo chociażby ODROID. Co do mini PC a.k.a. terminali to szykuję wpis na ten temat, w którym poruszę też temat Proxmoxa 😉
bobiko
osobiście przesiadłem z rpi4b na rzeczy Dell Wyse z AMD (proxmox) i jestem z tego faktu bardzo zadowolony. Czy RPI jest złym wyborem? ależ nie, wręcz jako multimedialna bramka (bo pamietajcie ma bt / wifi) sprawdzi się niemalże w 100%.
Chociaż z zasięgiem BT bywa różnie, bo nieco gołe PiZero ma odczuwalnie większy (subiektywnie sprawdziłem na termometrach od XIaomi Mi BT)
Tomasz Dunia
Właśnie o tego typu terminalu i Proxmox piszę aktualnie wpis. Powinien być pewnie w przyszłym tygodniu 😉
Pingback: Serwer domowy – podstawowa konfiguracja – Tomasz Dunia Blog
Pingback: Darmowy VPS z 4 OCPU, 24GB RAMu i dyskiem 200GB – Tomasz Dunia Blog
Pingback: Home server at low cost [ENG 🇬🇧] – Tomasz Dunia Blog
Pingback: Docker – jeden serwer wiele usług – Tomasz Dunia Blog
SpeX
Terminale, nie tyle są wydajniejsze od Pi. To jeszcze pozwalają więcej, ja dla przykładu na HP t620 Plus mam postawiony domowy router. Wystarczyło dokupić tylko NIC 2x RJ45 (można też trafić 4x RJ45)
Przemek Wilde
@to3k jak wygląda sprawa jak nie masz publicznego adresu IP? Jest możliwość połączenia się z takim serwerem?
Tomasz Dunia
Wtedy trzeba poczytać o Dynamic DNS 😉 Pisałem o tym w tym lub w innym artykule 😉
Pingback: Darmowa chmura ~200GB na Twoje pliki – Tomasz Dunia Blog