Domowy serwer Network Attached Storage na Raspberry Pi

Domowy serwer Network Attached Storage na Raspberry Pi

Network Attached Storage (NAS) to serwer sieciowy oferujący usługę przechowywania plików. NAS jest serwerem do magazynowania danych na poziomie plików, podłączonym do sieci komputerowej, zapewniającym dostęp do danych heterogenicznej grupie klientów. Pamięć podłączona do sieci eliminuje odpowiedzialność za udostępnianie plików z innych serwerów w sieci. Zazwyczaj zapewniają dostęp do plików przy użyciu protokołów sieciowego udostępniania plików, takich jak NFS, SMB lub AFP.

Od połowy lat 90. XX wieku urządzenia NAS zaczęły zyskiwać na popularności jako wygodna metoda udostępniania plików między wieloma komputerami. Potencjalne korzyści z dedykowanej pamięci sieciowej, w porównaniu do serwerów ogólnego przeznaczenia obsługujących również pliki, obejmują szybszy dostęp do danych, łatwiejszą administrację i prostą konfigurację.

Często są produkowane jako urządzenia komputerowe - specjalnie zaprojektowane komputery specjalistyczne. Systemy NAS to urządzenia sieciowe, które zawierają jeden lub więcej napędów pamięci, często rozmieszczone w logicznych, nadmiarowych pojemnikach pamięci lub RAID.

Komputer jednopłytkowy Raspberry Pi jest doskonałą platformą, którą wykorzystać można do konstrukcji serwera NAS. W poniższym artykule przybliżymy, jak krok po kroku zestawić i oprogramować tego rodzaju system.

Co będzie nam potrzebne

Aby zbudować sieciowy serwer plików, będziemy potrzebowali odpowiedniego sprzętu:

  • Komputer jednopłytkowy. Może to być np. nowy Raspberry Pi 4, jednakże dobrze sprawdzi się tutaj większość komputerów jednopłytkowych, pracujących z systemem operacyjnym Linuks.
  • Karta microSD o pojemności 4 GB. Na karcie tej znajdzie się system operacyjny, sterujący działaniem urządzenia.
  • Zewnętrzny dysk twardy, na którym znajdzie się współdzielona przez serwer NAS przestrzeń do przechowywania danych.
  • Zasilacz 5 V o wydajności prądowej co najmniej 2 A. Będzie on zasilał komputer jednopłytkowy oraz dysk twardy.

Ponadto potrzebne będą kable: do podłączenia komputera do sieci Ethernet (jeżeli nie zdecydujemy się na komunikację poprzez Wi-Fi) i do podłączenia dysku twardego do komputera. Opcjonalnie przyda nam się klawiatura i monitor, które podłączymy do Raspberry Pi, aby ułatwić sobie konfigurację. Przydatna będzie też obudowa do całego systemu - w Internecie możemy znaleźć wiele tego rodzaju projektów, część z nich z udostępnionymi plikami, np. do druku 3D, tak aby móc wykonać taką obudowę samemu w domu.

Instalacja systemu operacyjnego

Pierwszym krokiem, jaki musimy wykonać, jest instalacja systemu operacyjnego na komputerze jednopłytkowym. Zainstalujemy na nim Raspbian OS - standardowy system operacyjny dla komputerów Raspberry Pi. Obraz systemu przenosimy na czystą kartę microSD i umieszczamy w docelowym komputerze. Po uruchomieniu Raspberry Pi powita nas instalator - postępujmy zgodnie z jego zaleceniami, aby dokończyć instalację systemu. Instalacja Raspbiana była omawiana w detalach już wielokrotnie w wielu miejscach.

Po zakończeniu instalacji systemu operacyjnego w pierwszej kolejności łączymy komputer z siecią - przewodową lub Wi-Fi. Pozwoli nam to na zdalne podłączenie się do systemu i jego konfigurację np. z poziomu komputera. Po dołączeniu Raspberry Pi do sieci zapisujemy sobie jego adres IP - to pozwoli nam połączyć się z komputerem jednopłytkowym z innego komputera poprzez SSH, na przykład wykorzystując Putty. Po podłączeniu komputera Raspberry Pi do sieci możemy także zaktualizować listę zainstalowanych na komputerze pakietów i podnieść ich wersje do najnowszych. W tym celu wydajemy następujące polecenia systemowi operacyjnemu:

sudo apt-get update
sudo apt-get upgrade

Uruchomiony program apt-get automatycznie pobierze z repozytorium najnowsze wersje zainstalowanych pakietów i zainstaluje je na naszym minikomputerze.

Instalacja i przygotowanie dysku twardego

Po przygotowaniu komputera możemy przygotować dysk twardy, na którym utworzymy folder. To w nim magazynowane będą pliki na serwerze NAS. W pierwszej kolejności musimy zainstalować sterowniki do dysków sformatowanych w formacie NTFS (jeżeli takiego właśnie używamy do naszego magazynu danych). W tym celu wpisujemy:

sudo apt-get install ntfs-3g

Jeśli nasz dysk sformatowany jest w jakiś inny sposób (extFS, FAT32 i inne, obsługiwane natywnie przez Raspbiana), to powyższy krok możemy pominąć. Teraz możemy poszukać naszego dysku twardego, aby zamontować go w systemie. Wpisujemy następującą komendę, aby wydrukować na ekranie listę widzianych przez system wolumenów:

sudo fdisk -l

Teraz, po znalezieniu na liście naszego dysku, dołączonego do komputera, możemy przygotować folder, w którym zamontujemy dysk twardy. W tym celu wpisujemy komendę:

sudo mkdir /media/USBHDD1

A następnie montujemy do folderu nasz dysk twardy:

sudo mount -t auto /dev/sda1 
/media/USBHDD1

Dzięki temu folder /media/USBHDD1 będzie zawierał w sobie zawartość wolumenu /dev/sda1. W ten sposób dołączane są dyski twarde pod Linuksem - inaczej niż w Windowsie, gdzie wszystkie wolumeny widoczne są w jednym, wspólnym miejscu.

Ostatnim elementem przygotowania dysku jest stworzenie folderu na nim, który będziemy udostępniać w postaci serwera NAS. Takie rozwiązanie jest o wiele bezpieczniejsze i praktyczniejsze niż udostępnianie całego dysku. Aby stworzyć taki folder, wpisujemy komendę:

sudo mkdir /media/USBHDD1/shares

Zapamiętajmy lokalizację folderu shares, jako że będziemy musieli ją podać, podczas konfigurowania oprogramowania do udostępniania plików w sieci - serwera Samba.

By nie musieć powtarzać montowania tego dysku przy każdym kolejnym uruchomieniu systemu, zmodyfikować musimy plik konfiguracyjny fstab. Otwieramy go w edytorze tekstowym nano:

sudo nano /etc/fstab

Dodajemy na jego końcu odpowiedni wpis dotyczący dysku:

/dev/sda1 /media/USBHD1 auto defaults 0 2

Zamykamy edytor nano, zapisując przy tym edytowany plik (ctrl-x a potem Y, który potwierdzamy, naciskając Enter), a następnie resetujemy Raspberry Pi (sudo reboot). Po restarcie możemy się ponownie zalogować i sprawdzić, czy nasza partycja została automatycznie zamontowana w poprawny sposób.

Instalacja i konfiguracja Samby

Oprogramowanie Samba to darmowy (dostępny na licencji GNU GPL) serwer plików i drukarek, który jest implementacją protokołu SMB. Protokół ten wykorzystuje TCP/IP jako protokół transportowy niższej warstwy do przesyłania danych pomiędzy maszynami. Co bardzo istotne, SMB działać może w heterogenicznej sieci, tj. takiej, w której znajdują się komputery z różnymi systemami operacyjnymi. Klienci protokołu SMB zaimplementowani są we wszystkich popularnych systemach operacyjnych, takich jak Unix (w tym macOS), Linux i Windows.

Najpierw instalujemy Sambę oraz narzędzia potrzebne do jej konfiguracji. W terminalu wpisujemy:

sudo apt-get install samba samba-common-bin

Następnie przystępujemy do konfiguracji zainstalowanego serwera. Kopiujemy stary plik konfiguracyjny, dodając do niego .old, a następnie edytujemy oryginał:

sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.old
sudo nano /etc/samba/smb.conf

W pliku konfiguracyjnym, na samym jego dole, dodajemy kilka linijek, zamieszczonych na listingu 1. Pozwolą one na udostępnienie w sieci naszego przygotowanego wcześniej folderu.

Dodawanie nowych użytkowników

Teraz do Samby dodać możemy użytkowników, którzy będą mieli dostęp do plików w serwerze. W tym celu musimy dodać użytkowników do systemu operacyjnego. Robimy to, wpisując w linii komend następujące dwa polecenia:

sudo useradd admin -m -G users
sudo passwd admin

W ten sposób stworzyliśmy użytkownika admin, ale możemy nazwać go jak chcemy. Ustawiliśmy też hasło dla tego użytkownika - koniecznie musimy je zapamiętać, abyśmy mogli zalogować się na konto tego użytkownika. Teraz dodać musimy tego użytkownika do Samby. Robimy to następującą komendą:

sudo smbpasswd -a admin

Przy tej okazji podajemy hasło - jest to hasło do logowania się do serwera NAS - nie musi być takie samo, jak hasło użytkownika do logowania do systemu. Oczywiście to hasło także trzeba zapamiętać - bez niego nie dostaniemy się do serwera. Jeśli chcemy dodać większą liczbę użytkowników, którzy będą mieli prawa do korzystania z naszego serwera NAS, musimy postąpić dokładnie tak, jak w powyższym opisie - najpierw stworzyć nowego użytkownika w grupie users, a następnie nadać mu hasło do serwera Samby.

Testowanie

Teraz już nasz serwer NAS jest gotowy i możemy go przetestować. Wystarczy w dowolnym innym komputerze dodać dysk sieciowy, wpisując adres naszego serwera NAS. Komputer, po połączeniu się z dyskiem sieciowym, poprosi nas o podanie nazwy użytkownika i hasła. Jeśli wszystko dobrze wpisaliśmy, dysk pojawi się w naszym komputerze i od teraz będziemy mogli z niego normalnie korzystać. Serwer NAS można podłączyć do wszystkich komputerów, znajdujących się w danej sieci lokalnej.

Nikodem Czechowski

 

Źródło: http://bit.ly/2KBJiUZ

Artykuł ukazał się w
Elektronika Praktyczna
wrzesień 2019
Zobacz też
Elektronika Praktyczna Plus lipiec - grudzień 2012

Elektronika Praktyczna Plus

Monograficzne wydania specjalne

Elektronik marzec 2020

Elektronik

Magazyn elektroniki profesjonalnej

Raspberry Pi 2015

Raspberry Pi

Wykorzystaj wszystkie możliwości wyjątkowego minikomputera

Świat Radio kwiecień 2020

Świat Radio

Magazyn użytkowników eteru

APA - Automatyka Podzespoły Aplikacje marzec 2020

APA - Automatyka Podzespoły Aplikacje

Technika i rynek systemów automatyki

Elektronika Praktyczna marzec 2020

Elektronika Praktyczna

Międzynarodowy magazyn elektroników konstruktorów

Praktyczny Kurs Elektroniki 2018

Praktyczny Kurs Elektroniki

24 pasjonujące projekty elektroniczne

Elektronika dla Wszystkich kwiecień 2020

Elektronika dla Wszystkich

Interesująca elektronika dla pasjonatów