Zrób to sam: Budowa serwera domowego cz.2

Oto kolejna część poradnika budowy serwera domowego. W poprzednim artykule skupiliśmy się na możliwościach jakie niesie postawienie serwera zarządzającego siecią domową. W tej części skupimy się na teoretycznych założeniach i składaniu samego hardware. Zapraszam do czytania.

Na początku warto przemyśleć topologie naszej sieci i ułożenie przewodów które zapewne ulegnie zmianie. Ważne jest umiejscowienie samego serwera. Musi to być kompromis pomiędzy brakiem uciążliwości a dostępnością okablowania i samego sprzętu w przypadku awarii lub rozbudowy. Przykładowo bsystem trzyma serwer na strychu co niweluje m.in problem głośności. Ja serwer mam po prostu obok innych komputerów, ale długoterminowe plany obejmują pomysł przeniesienia go do pokoju obok który kiedyś może ukończę gdy nie będę mógł pomieścić się w jednym. Warto zorganizować uprzednio specjalne miejsce np. w jakiejś wnęce albo szafie lub kotłowni, poprowadzić tam zasilanie, przewody sieciowe itd.

Przykład umiejscowienia serwera w szafce ukrytej we wnęce pokoju wraz z poprowadzonymi przewodami. Montaż bezpośrednio w obudowie szafki (źródło: elektroda.pl).

Warto zorganizować urządzenia sieciowe typu switche, zastanowić się skąd będziemy „czerpali” łącze i komu je udostępniali. Możemy wykorzystać urządzenia które już mamy. Dowolny ruter wifi zadziała jako acess point ze switchem gdy po prostu wyłączymy mu DHCP, wtedy zacznie zarządzać nim serwer (o ile mamy tam skonfigurowany DHCP i Routing lub ICS). Możemy wykorzystać modem USB jaki dostarczył nam np. Orange, modem kablowy z wyjściem RJ45 jaki mamy np. z kablówki albo radiówki (to nawet ułatwia sprawę), nawet hejtowanego przez wszystkich Liveboxa da się przerobić jako bramę do serwera domowego. Możliwości mamy więc ogromne.

Serwer domowy bsystema na strychu.

A jak dokładnie będzie wyglądała sprawa sprzętu? Wszystko zależy od zastosowania i systemu operacyjnego z którego zamierzamy korzystać. Zarówno Windows jak i Linux mają swoje zalety jak i wady w każdym zastosowaniu, także serwerowym. Uważam że wybór jest kwestią indywidualną. Z uwagi na to że Techvortal jest poświęcony głównie technologiom Microsoftu, a z Internecie jest masa innych poradników jak postawić taki serwer na Linuksie, my skupimy się na Windows Server.

Przykład maszyny opartej na AMD K6 i Debianie która rozdziela łącze internetowe na całą szkołę. Działa bezawaryjnie od ponad 6 lat.

Kwestia wyboru sprzętu do serwera domowego to naprawdę temat rzeka. Możemy kupić po prostu terminal który jest notabene specjalnie przystosowanym pecetem zawierającym pamięć flash zamiast dysku twardego, specjalny niskonapięciowy procesor (Zazwyczaj AMD Geode). Możemy też przerobić jakiś starszy laptop, podłączać dyski na USB itd. Generalnie rozwiązania takie będą wystarczały większości użytkowników którzy nie potrzebują ogromnych możliwości. Sprawa jest otwarta i zależy od tego co mamy pod ręką.

Przykład serwera opartego na starym terminalu z AMD Geode z podłączonym dyskiem 3,5″. Brak jakiegokolwiek chłodzenia na procesorze daje nam wyobrażenie jak niskie TDP musi mieć.

Ja jestem jednak zwolennikiem budowy serwera na standardowej konstrukcji ATX z powodu dużych możliwości dostosowania jej do własnych potrzeb i dowolnej rozbudowy w przyszłości. Dla osób które chcą budować serwer w ten sposób na początek bardzo ważna kwestia: Pamiętajcie o poborze prądu.

Kiedyś w nieistniejącym już niestety magazynie NEXT (które było samo w sobie genialne, a poziom artykułów przewyższał o wiele droższe gazety) pojawił się kilkuczęściowy poradnik na temat budowy serwera domowego. Byli tam szaleńcy którzy poważnie myśleli nad kupnem jakiegoś używanego serwerowego dwuprocesorowego mobo na Socket 604 pod dwa Xeony bądź Socket 940 pod dwa Opterony. Są to faktycznie wydajne platformy które spełniają z nawiązką wszystkie „wymogi” o których powiem później, ale mają przytłaczające wady. Jakie? Sam chipset pobiera tam więcej prądu niż niejeden współczesny pecet, a każdy z procesorów ma TDP około 100W. Taka konstrukcja odczuwanie wpłynęłaby na nasze rachunki za prąd, a przy obecnych ciągle szybujących w górę cenach energii wręcz doprowadziłaby do zawału podczas przeglądania rachunku.

Sztuką jest takie skonfigurowanie platformy, aby zapewniała jak największą wydajność przy jak najmniejszym poborze prądu i przy okazji niskiej cenie. Wybór jest bardzo duży i przebierać możemy wśród używanych konstrukcji pod Athlony 64 np. pod s.939, albo jakiś PDC na LGA775 którego możemy dodatkowo zdetaktować w celu niższego poboru energii. Więcej niż jeden rdzeń przyda się zawsze, jednak nie jest wymagany. Do obsługi Servera 2008 lub 2012 przyda się ponad 1GB pamięci RAM. Widziałem kilka ekstremalnych przypadków w którym opierano serwer domowy na energooszczędnych procesorach Sandy Bridge np. 2500S i płytach na H67, lub Z77, co jest tak jakby zabijaniem muchy czołgiem, choć zapewne na brak zasobów systemowych i gotówki ci ludzie nie narzekają.

A skoro już mówimy o wymogach, oto rzeczy które powinna posiadać płyta główna jeśli chcemy z niej zrobić podstawę naszego serwera:

Porty SATA – co najmniej 4 jeśli planujemy bardziej zaawansowany podsystem dyskowy no i oczywiście opcja raidu w biosie. Możemy kupić dodatkowy kontroler RAID na PCIe lub PCI-X (zadziała w zwykłym 32 bitowym PCI jeśli nic nie będzie zawadzało na płycie).

USB 2.0 – to chyba oczywiste, bez tego transfery z dysków i innych urządzeń na USB będą strasznie ślamazarne.

Zintegrowana sieciówka gigabitowa – bez niej backupy całych dysków twardych przesyłałyby się przez sieć 100Mbps całymi dniami, szybka sieć sprawia że możemy korzystać z zasobów serwera bez żadnych opóźnień tak jakby były na naszym dysku, a 5-portowy switch gigabitowy kosztuje 50zł.

Zintegrowana grafika – nie jest to rzecz wymagana, bo możemy wsadzić byle jaką kartę na PCI, AGP lub PCIe, część serwerowych płyt głównych odpali nawet bez jakiejkolwiek karty graficznej, ale karta się przydaje, np. gdy coś padnie, podłączamy szybko monitor i sprawdzamy co, można uzywać też serwer jako stacje roboczą np. do szybkiego sprawdzenia czegoś w Internecie.

Dużo portów PCI – możemy włożyć w nie sieciówki które potem zmostkujemy, dużo kart sieciowych zwiększa możliwości konfiguracji serwera, można też kupić gigabitowe karty na PCIe, jednak są one dość drogie (około 30zł) w porównaniu do Realteków 8139 na PCI któe walają się praktycznie każdemu w szafach i mają sterowniki na każdy istniejący system operacyjny.

Podsystem dyskowy jest sprawą otwartą, wiem z doświadczenia że apetyt rośnie w miarę jedzenia. Sam zaczynałem od 40GB na ATA, by w niedługim czasie zmienić na 160GB, po pół roku pomyślałem że fajnie będzie na serwerze trzymać wszystkie pliki pobierane z Internetu, wtedy dołożyłem 500GB na SATA, po kolejnym pół roku uznałem że fajnie będzie trzymać backupy w formie obrazów całych dysków na serwerze, dokupiłem drugie 500GB i zrobiłem RAID 0.

Ekstremalny przykład ruskiej macierzy dyskowej z 90TB pojemności. Oczywiście wszystko do gromadzenia wyłącznie legalnych plików 😉

RAID 0 w serwerze to świetny pomysł. Dlaczego? Bo wzrost wydajności doskonale odpowiada zastosowaniom, mimo że nie widać tego na pierwszy rzut oka tak jak w SSD. Na dwóch dyskach system uruchamia się i działa tylko nieznacznie szybciej niż na jednym dysku. Czas dostępu do danych nie ulega szokującemu skróceniu podobnie jak IOPS, operacje wykonywane na małych plikach (poniżej rozmiaru paska – u mnie 64KB) są wykonywane z szybkością taką jak na jednym dysku.

Prawdziwa moc macierzy ujawnia się dopiero przy zapisie lub odczycie liniowym przy operowaniu na dużych plikach. Wtedy zarówno prędkość odczytu jak i zapisu ulega podwojeniu np. przy kopiowaniu dużych plików. Dla serwera będącego magazynem danych to doskonała opcja.

Test macierzy RAID

Dla porównania pojedynczy Seagate 7200.11

99% płyt głównych będzie posiadało opcje przydatne w serwerze np. start bez klawiatury i myszy, albo automatyczne samoczynne włączenie zasilania po jego utracie. Gdy mamy jakieś cenne dane które muszą być dostępne 24/7 warto pomyśleć nad UPS który nie tylko podtrzyma napięcie w przypadku krótkiej awarii zasilania ale także zabezpieczy sprzęt przed zaburzeniami elektromagnetycznymi w liniach zasilających np. podczas burz.

Obudowa Big Tower zapewnia bardzo duże możliwości rozbudowy np. poprzez instalacje wielu dysków twardych i ogromną ilość miejsca.

Fajnie jest wykorzystać serwer domowy także jako prostą stacje roboczą np. do szybkiego sprawdzenia czegoś w Internecie bez potrzeby włączania innych maszyn, dlatego podłączenie klawiatury, myszki i monitora na stałe wcale nie jest szaleństwem. Osoby z zacięciem do elektroniki mogą przerobić wyświetlacz starego laptopa, lub zrobić specjalny wyświetlacz informacyjny do powiadamiania o stanie serwera, albo nawet do jego pełnej obsługi np. poprzez wyświetlanie linii poleceń i klawiatury ekranowej.

Dodatkowy LCD w serwerze jest fajnym bajerem który pełni także funkcje informacyjne.

Jakoś przebrnęliśmy przez szeroki temat Hardware, co jednak nie wyczerpało tematu ogromnych możliwości i niezliczonej liczby sposobów konfiguracji sprzętowej serwera na jakie wpadną kreatywni pasjonaci. W następnej części zajmiemy się zagadnieniami związanymi z software, od wprowadzenia teoretycznego w Windows Server, przez jego instalację do podstawowej konfiguracji.