Elektroda.pl
Elektroda.pl
X

Search our partners

Find the latest content on electronic components. Datasheets.com
Elektroda.pl
Please add exception to AdBlock for elektroda.pl.
If you watch the ads, you support portal and users.

Domowy serwer NAS na Raspberry Pi

ghost666 22 Mar 2016 15:52 22212 34
Computer Controls
  • Domowy serwer NAS na Raspberry Pi
    Popularna 'malina' to już niezwykle słynny komputer wykorzystywany w domu. Jest bezgłośna, bardzo mała i zużywa bardzo mało prądu. Z uwagi na te cechy, idealnie nadaje się jako domowy serwer, odtwarzacz filmów lub emulator starych gier.

    Zazwyczaj Raspberry Pi kupujemy bez żadnego wyposażenia, które dokupić trzeba osobno. Może to być obudowa, ale także dodatkowe okablowanie i inne peryferia. W poniższym materiale autorzy ze spidersweb opisują w jaki sposób wykorzystać Raspberry Pi jako dysk sieciowy - serwer NAS (Network Attached Storage) do udostępniania danych w naszej sieci lokalnej.

    Co będzie nam potrzebne

    Sprzęt

    * Karta SD
    * Kabel Ethernet
    * Kabel HDMI (do instalacji systemu i konfiguracji)
    * Monitor albo telewizor z HDMI (do instalacji i konfiguracji)
    * Klawiatura USB (do instalacji i konfiguracji)
    * Zasilacz do Raspberry Pi - 5 V o dostatecznej wydajności prądowej
    * Komputer do konfiguracji systemu - musi posiadać czytnik kart SD.
    * Dysk zewnętrzny na USB

    Raspberry Pi podłączany jest do sieci domowej z pomocą kabla ethernet, ale możliwe jest także podłączenie go poprzez WiFi.

    Domowy serwer NAS na Raspberry Pi


    Oprogramowanie

    * Obraz instalacji na karcie SD
    * Program do formatowania kart SD
    * Putty

    Instalacja systemu

    Na sformatowaną z użyciem specjalnego programu kartę SD nagrywamy pliki instalacyjne, które pobieramy z internetu. Najlepiej, aby karta była szybka - im szybsza, tym lepsza. Autorzy poradnika wykorzystali kartę 8 GB firmy Kingston.

    Domowy serwer NAS na Raspberry Pi


    Kartę formatujemy z następującymi opcjami: Format size adjustment = on i Format type = Full (erase). Wypakowane pliki z pliku ZIP kopiujemy na kartę.

    Domowy serwer NAS na Raspberry Pi


    Tak przygotowaną kartę wkładamy do Raspberry Pi. Do komputera podłączamy kartę sieciową, monitor/telewizor oraz klawiaturę. Do tak przygotowanego systemu podłączamy zasilanie. Na karcie znajduje się teraz NOOBS - program do instalacji systemu operacyjnego.

    Po załadowaniu NOOBS zobaczymy ekran wyboru systemu operacyjnego, gdzie korzystając z klawiatury wybieramy "Raspbian" i tworzymy partycję na dane (pierwsze opcje). Po wybraniu odpowiednich pozycji (spacją) rozpoczynamy instalację (naciskając i). Musimy teraz chwilę poczekać, aż instalator skończy pracę.

    Domowy serwer NAS na Raspberry Pi


    Jeśli po podłączeniu monitora/telewizora do portu HDMI w RPi nie widzimy nic na ekranie, musimy włączyć tryb bezpieczny (niższa rozdzielczość) naciskając cyfrę 2 na klawiaturze.

    Domowy serwer NAS na Raspberry Pi


    Komputer jest już gotowy do pracy. Jeśli podpięty jest do sieci, to możemy resztę konfiguracji przeprowadzić przez sieć, nie korzystając z ekranu i klawiatury.

    Instalacja oprogramowania

    Aby podłączyć się zdalnie do 'maliny', musimy poznać jej IP. Najprościej jest odnaleźć ją wśród klientów DHCP routera lub na samym minikomputerze korzystając z polecenia ifconfig:

    Domowy serwer NAS na Raspberry Pi


    Wykorzystując program Putty, możemy podłączyć się zdalnie do Raspberry Pi. Pola „Hostname or IP address” uzupełniamy odpowiednimi danymi i wybieramy „SSH”. Dane połączenia można zapisać, aby nie trzeba było wpisywać ich przy każdym połączeniu.

    Domowy serwer NAS na Raspberry Pi


    Po podłączeniu się do RPi jako pierwsze zobaczymy okno logowania. Nazwa użytkownika to pi, a hasło to raspberry. Po zalogowaniu się możemy już w pełni zdalnie zarządzać naszym komputerem. Pierwszym krokiem, jaki musimy wykonać, jest aktualizacja posiadanego oprogramowania. Aby to zrobić, wpisujemy:

    Code:
    sudo apt-get update


    Polecenie to aktualizuje listę zainstalowanych pakietów. Potrzebny jest dostęp do internetu.

    Dalej wpisujemy kolejne polecenia i potwierdzamy je Enterem:

    Code:
    sudo apt-get upgrade


    Pozwoli to na aktualizację wszystkich pakietów najnowszymi wersjami. Jeśli komputer będzie nas pytał, czy kontynuować, naciskamy Y i potwierdzamy to Enterem. Zależnie od prędkości karty SD i połączenia z internetem może zająć to nawet kilka minut.

    Kiedy system jest zaktualizowany, możemy przystąpić do instalacji i montowania dysku USB.0 Najpierw musimy go znaleźć:

    Code:
    sudo fdisk -l


    To polecenie wyświetli listę dysków. Po wielkości lub rodzaju partycji możemy znaleźć nasz dysk USB i zapamiętać jego adres, na przykład /dev/sda1:

    Domowy serwer NAS na Raspberry Pi


    W katalogu /media tworzymy folder - punkt montażowy dysku i montujemy tam dysk:

    Code:
    sudo mkdir /media/USBHD
    
    sudo mount -t auto /dev/sda1 /media/USBHD


    Aby sprawdzić poprawność, możemy wyświetlić dane na dysku:

    Code:
    ls /media/USBHD


    Aby nie musieć powtarzać montowania przy każdym uruchomieniu komputera, musimy zmodyfikować plik fstab, dodając na końcu odpowiednią komendę:

    Code:
    sudo nano /etc/fstab
    
    /dev/sda1 /media/USBHD auto defaults 0 2


    Wychodzimy z edytora nano (ctrl-x a potem Y i Enter). Resetujemy komputer (sudo reboot).

    Po restarcie logujemy się ponownie i sprawdzamy, czy nasza partycja została zamontowana automatycznie.

    Domowy serwer NAS na Raspberry Pi


    Teraz, gdy dysk USB jest już podpięty do komputera, musimy udostępnić go w sieci. Do tego posłuży nam pakiet Samba, obsługujący standard SMB, wykorzystywany do udostępniania plików. Instalujemy oprogramowanie:

    Code:
    sudo apt-get install samba
    
    sudo apt-get install samba-common-bin


    Teraz musimy zedytować plik konfiguracyjny smb.conf:

    Code:
    sudo nano /etc/samba/smb.conf


    Odkomentowujemy (usuwamy znak # na początku) linijkę "security = user " w sekcji Authentication, a na końcu pliku dodajemy:

    Code:
    [USBHD]
    
    comment=Dysk udostepniony
    path = /media/USBHD
    valid users = @users
    force group = users
    create mask = 0777
    directory mask = 0777
    read only = no
    writeable = yes
    browseable = yes
    public = yes


    Pozostało nam tylko ustalenie hasła do logowania się do dysku sieciowego dla użytkownika pi (sudo smbpasswd -a pi) oraz zresetowanie usługi Samba (sudo service samba restart). Teraz komputer powinien być widoczny w sieci wraz z udostępnionym dyskiem:

    Domowy serwer NAS na Raspberry Pi
    Domowy serwer NAS na Raspberry Pi
    Domowy serwer NAS na Raspberry Pi


    Teraz już wszyscy w sieci domowej mogą korzystać z zasobów dysku. Konfiguracja Raspberry Pi jest może odrobinę czasochłonna, ale sam serwer jest zupełnie bezobsługowy. Dodatkowo, można wykorzystać Raspberry Pi do innych zadań, a także dodać inne funkcje do samego udostępniania plików, ale to temat na kolejny artykuł...

    Źródło: http://www.spidersweb.pl/2015/02/raspberry-pi-nas.html

    Cool? Ranking DIY
    Can you write similar article? Send message to me and you will get SD card 64GB.
    About Author
    ghost666
    Translator, editor
    Offline 
    Fizyk z wykształcenia. Po zrobieniu doktoratu i dwóch latach pracy na uczelni, przeszedł do sektora prywatnego, gdzie zajmuje się projektowaniem urządzeń elektronicznych i programowaniem. Od 2003 roku na forum Elektroda.pl, od 2008 roku członek zespołu redakcyjnego.
    ghost666 wrote 11029 posts with rating 9361, helped 157 times. Live in city Warszawa. Been with us since 2003 year.
  • Computer Controls
  • #2
    Bartosz_MDF
    Level 14  
    Ponad to może "robić" za Time Capsule dla Mac'owych Time Machine.

    Sam sie nad tym zastanawiałem (Raspberry) ale mam pare ważnych danych i jest zwykły PC Core 2 Duo i RAID 5.

    Dla zainteresowanych Time Capsule link gdzie pisałem jak to zrobić:
    http://hamac.pl/topic/12405-jak-zrobić-timecapsule-na-linuxie/#entry116156
  • #3
    atek000
    Level 17  
    Fajne tłumaczenie ghost666, ale dla użytkowników maliny polecam malinowepi.pl. Znacznie więcej informacji i bardzo łopatologicznie wszystko opisane.
    Natomiast jeżeli chodzi o NAS-a na malinie to takie sobie to rozwiązanie. Dobre do poćwiczenia jeżeli ktoś już posiada malinę ale nie polecam specjalnie kupować RPi dla serwera. Znacznie lepiej sprawdzi się Banana Pi, które jest w tej samej cenie, posiada złącze SATA a LAN nie jest po hubie wraz z USBkami a osobno wyprowadzoby z procesora (inny typ procka) przez co prędkość jest 1G zamiast 5-10M.
  • #4
    ghost666
    Translator, editor
    Bartosz_MDF wrote:
    Ponad to może "robić" za Time Capsule dla Mac'owych Time Machine.

    Sam sie nad tym zastanawiałem (Raspberry) ale mam pare ważnych danych i jest zwykły PC Core 2 Duo i RAID 5.

    Dla zainteresowanych Time Capsule link gdzie pisałem jak to zrobić:
    http://hamac.pl/topic/12405-jak-zrobić-timecapsule-na-linuxie/#entry116156


    Super! nie spodziewałem się, że da się niezależnie stworzyć coś co dogaduje się z 'ekosystemem' Apple.
  • #5
    Bartosz_MDF
    Level 14  
    Netatalk + avahi i można cuda "udawać" w sieci.
    U mnie musiałem także Sambę wystawić przez avahi bo moje Mac'i nie chciały jej zobaczyć. Dzięki niemu można wybrać nawet typ komputera pod jakim ma być udział rozgłaszanym w sieci, czy to MacBook, czy iMac czy co tam chcesz.
  • Computer Controls
  • #6
    servgsm
    Level 23  
    Witam,

    Na raspberry jest wiele rozwiązań i trzeba przyznać - urządzenie dało wielu ludziom długą ścieżkę do sprintu.
    Jednak serwer NAS na dysku USB? Jakoś sceptycznie podchodzę do tego pomysłu. USB na raspberrym nie osiąga zbyt wielkich osiągów prędkości. Czy przypadkiem po podłączeniu się dwóch, trzech klientów do których będą przesyłane dane nie zaczną się problemy z płynnością tych transmisji?
    Zdecydowanie odważniej podszedłbym do tematu mając pod ręką delikatnie przerobiony "plagiat" maliny w postaci Banana PI. Ta płytka już dysponuje złączem SATA który dałby zdecydowanie lepsze osiągi niż to, co malina w parze z dyskiem, gdzie pomiędzy nie wepchnięty jest jeszcze konwerter SATA <-> USB.

    Pozdrawiam,
    Bartek.
  • #7
    nici
    Moderator Chiptuning
    servgsm wrote:
    USB na raspberrym nie osiąga zbyt wielkich osiągów prędkości.


    Mam coś takiego i racja - po LAN max 10mb/s , po wifi ok 4-5mb/s.

    Co jeszcze, zdarza się że podczas kopiowania dużej ilości plików zrywa połączenie. .

    Mam to zrobione z niepotrzebnego dysku 2,5 320gb sata .
    Bardziej jako gadzet niż coś praktycznego.
  • #8
    Arczizioom
    Level 23  
    Miałem takie rozwiązanie w domu przez ok. 2 lata na RPi B. Niestety szybkość transferu nie wychylała się powyżej 5MB/s. Teraz przerzuciłem się na terminal HP T5740 i to rozwiązanie jest idealne do zastosowań domowych, port SATA i transfery nawet w okolicy 45MB/s.
  • #9
    Zuliczek
    Level 17  
    Osobiście mam zrealizowany "serwer NAS" + NFS + "DLNA" + MPD + torrent + cups + saned + ddclient, ale na A20-OLinuXIno-LIME ;) Jak do tej pory jest ok, tylko będę musiał przerobić sterowniki kodeka dźwięku żeby ogarniał 24-bity ;)
    Zdecydowałem się na tą płytkę w związku z portem SATA i 2+1 "prawdziwym USB".
  • #11
    Zuliczek
    Level 17  
    Nie wiem czy jest na osmc, ale ja używam transmission i nie narzekam.
  • #12
    nici
    Moderator Chiptuning
    No właśnie chodzi o osmc, gdyż mam włączone non stop.
    Siedzi tam już wspomniana samba i przydał by się jakiś klient torrent.

    Swoją drogą, może się komuś przyda moje spostrzeżenie - zapis na dysk , odtwarzanie filmu , podłączona karta wifi i klawiatura bezprzewodowa - przy zasilaczu 2A raspi zwalnia do 600mhz .

    Po zmianie na połączenie LAN i rezygnacja z klawiatury ( na rzecz obsługi przez WWW ) prędkość wraca do 1ghz.
    Jednak aktywny hub jest do tego urządzenia niezbędny chcąc je wykorzystywać w miarę praktycznie.
  • #13
    DarekMich
    Level 15  
    Jakoś Nas na RPi mi sie nie widzi wcale, nawet do robienia kopii zapasowych, z wielu względów, jest to dosyć zawodne urządzenie (pomimo wielu ludzi chwalących sobie że potrafi pracować nieprzerwanie latami).

    Filmy które zgrywam z camcordera nie jestem w stanie oglądać poprzez Wifi, przy dużym bitrate i bezstratnej kompresjii dla Rpi to by była porażka, nie wspominając o zdjęciach (JPEG powyżej 7MB), zanim by się przełączyłooo... Ale sam koncept jak najbardziej.

    Jeżeli chodzi o sam system to można zainteresowac się dystrubucją Nas4Free, sporo wtyczek, (w tym torrent, owncloud, VirtualBox, kompatybilne z Mac itp itd...)

    NAS4Free ARM

    We provide ARM versions of NAS4Free for the following hardware:

    Raspberry Pi model A/B/A+/B+ ARM1176JZF 700MHz (overclock 800MHz - 1GHz)
    Raspberry Pi 2 model B Cortex-A7 900MHz Quad Core
    ODROID-C1 Cortex-A5 1.5GHz Quad Core
  • #15
    oshii
    Level 24  
    Polecacie do NASa Banana Pi, ale czy przypadkiem i tutaj nie mamy wewnętrznej konwersji usb-sata? Jeśli RPi będzie za słabe to BPi nie będzie lepsze i trzeba poszukać wydajniejszego (droższego) rozwiązania.
  • #16
    Gruby__
    Level 16  
    Może ten wykres będzie wymowniejszy:

    Domowy serwer NAS na Raspberry Pi

    Jak widać w Banana Pi praktycznie nie ma różnicy czy dysk jest podłączony przez USB czy SATA. Oczywiście przy transferze Samba, przy FTP jest już różnica.
    No ale malinka wypada dosyć blado... Dodatkowo w bananie jest karta sieciowa Gigabit, w malinie tylko 100Mbps co przy NASie jest dodatkowym ważnym parametrem.

    http://www.htpcguides.com/raspberry-vs-banana-pi-benchmarks-sata-gigabit-matter/
  • #17
    oshii
    Level 24  
    Zobrazowałeś dokładnie to co napisałem, SATA na BPi to atrapa w postaci konwertera SATA<->USB.
    Największą bolączką RPi to ten nieszczęsny LAN9514, wciąż nie mogę pojąć, czemu w RPi 3 nadal siedzi to dziadostwo. Wolałbym, żeby skupili się na tej części specyfikacji i co najwyżej dorzucili wbudowany BT bez wifi.
  • #19
    oshii
    Level 24  
    Widocznie myślałem o innym klonie Pi ;). Trochę dziwne te wyniki na wykresie powyżej bo sugerują wąskie gardło na sata na poziomie prędkości USB 2.0
  • #20
    atek000
    Level 17  
    SATA w BPi jest bezpośrednim wyprowadzeniem z procesora, wystarczy zajżeć do noty tego procesora - AllWinner A20. To samo dotyczy LAN i 2 USB.
    W malinie natomiast, z procesora wychodzi tylko jedno usb które jest rozszeżone poprzez hub na 2 lub 4 USB i jeszcze LAN. Dlatego LAN ma tak niską prędkość. Teraz należy jeszcze rozważyć zewnętrzny aktywny hub USB bo bez niego niewiele da się zdziałać, to jak widać wystko jest podłączone do tylko jednego portu USB z procesora.
    Dlatego sprzętowo Banana Pi jest znacznie lepsze niż Raspbery Pi. Ale... no właśnie, jest to nałe "ale". Ale takie wsparcie jakie ma malina to żaden inny klon nie ma. Niby mają być kompatybilne, lecz życie pokazuje, że nie zawsze tak jest.
    Moje zdanie jest takie, że jak chcesz się pouczyć to malina, ale jak chcesz zrobić już jakież urządzenie, które ma chodzić na stałe, to łap się za jakiegoś klona.
    Osobiście mam RPi B jeszcze pierwszą wersję z 256MB RAMu oraz Banana Pi, także pierwszą wersję. Obecnie zastanawiam się nad Banana Pi M3 - wygląda całkiem ciekawie.
  • #21
    Karaczan
    Level 41  
    Ja przerabiałem NAS na Odroid C1. Maszynka dużo wydajniejsza niż RPi. Transfery po 30MB/s były normą (oddzielne USB i 1Gbit LAN).
    Niestety czasem potrafiła się zawiesić SAMBA, szczególnie przy kopiowaniu dużej ilości drobnych plików, więc widać ten typ tak ma ;)
    Stwierdziłem że NAS to naprawdę wygodne rozwiązanie, szczególnie jak ma się kilka komputerów w domu (stacjoinarki, laptopy, tablety) jednak nawet Odroid był zbyt powolny i niestabilny, a dedykowane NAS'y są dość drogie (szczególnie wielo dyskowe).

    Koniec końców zbudowałem NAS'a na złomowych częściach wygrzebanych w szufladach ;)
    Jakaś płyta na P35, C2D E2160, 1GB RAM, 4HDD (łącznie 2.5TB). W końcu stabilność i prędkość. Transfery 50-80MB/s.
    Do tego też większa pewność, natywne SATA to jednak nie to samo co przez chińskie kieszenie na USB. Pobór prądu to raptem 22W, czyli do przeżycia, a komfort nieporównywalny ;)
  • #22
    weweru
    Level 12  
    Arczizioom wrote:
    Miałem takie rozwiązanie w domu przez ok. 2 lata na RPi B. Niestety szybkość transferu nie wychylała się powyżej 5MB/s. Teraz przerzuciłem się na terminal HP T5740 i to rozwiązanie jest idealne do zastosowań domowych, port SATA i transfery nawet w okolicy 45MB/s.


    A moja prośba: zrób z tego posta jak coś takiego zrobiłeś krok po kroku ażeby każdy mógł ten sukces powtórzyć
    Pytam ponieważ mam taki sprzęt HP T5740 u siebie i chętnie zrobiłbym coś podobnego
  • #23
    Karaczan
    Level 41  
    @weweru recepta jest prosta.
    Stawiasz np Ubuntu Server, lub nawet Desktop jak nie czujesz się pewnie tylko w środowisku textowym. Jak będzie z tym problem pełno poradników w necie.
    A później wykonujesz to co zostało podane w tym poradniku w sekcji Instalacja oprogramowania z pominięciem łączenia się do maliny przez SSH, chyba że twój HP stoi bez monitora i klawiatury, wtedy krok z SSH trzeba też wykonać.
    I w sumie wszystko.
    Czy Malina, czy Odroid, czy ThinClient HP czy składak PC... Wszędzie Linux, i wszędzie działa w sumie tak samo i polecenia jeśli nie identyczne to podobne.
  • #24
    vp32
    Level 11  
    Próbowałem wykonać zgodnie z ta instrukcją ale chyba teraz są nowsze pliki na podanych stronach bo u mnie to nie zadziałało
  • #25
    ghost666
    Translator, editor
    vp32 wrote:
    Próbowałem wykonać zgodnie z ta instrukcją ale chyba teraz są nowsze pliki na podanych stronach bo u mnie to nie zadziałało


    Na którym etapie kolega ma problemy?
  • #26
    vp32
    Level 11  
    postępowałem zgodnie z instrukcją, krok po kroku.
    Podłączyłem dysk twardy i poleceniem sudo fdisk -l udało mi się go namierzyć, tak jak w opisie. Problem rozpoczął się od polecenia sudo mkdir /media/USBHD
    Niby nie było żadnej informacji o niepowodzeniu ale katalogu nie utworzył.
    Polecenie sudo mount -t auto /dev/sda1 /media/USBHD zwróciło błąd że dysk jest zajęty, a nie przeglądałem go ani nic podobnego na nim nie robiłem, tylko to co instrukcja tutaj.
    Nie zraziłem się, zainstalowałem sambę. Potem polecenie sudo nano /etc/samba/smb.conf w m moim pliku nie było w sekcji Authentication nie było tego security = user w ogóle. nie było możliwości restartu samby, polecenie sudo service samba restart zwracało błąd.
  • #27
    Karaczan
    Level 41  
    A dysk nie był już zamontowany w innym folderze?
    Wtedy też zwróci błąd że jest zajęty.

    Do tego jesteś pewien że dysk jest oznaczony sda1? To raczej będzie karta pamięci maliny z systemem. Dysk zewnętrzny będzie prędzej sdb1.
    Do ustalenia oznaczenia dysku i tego czy jest już podmontowany pomocne będą polecenia df, blkid, mount oczywiście z sudo na początku.

    Co do tworzenia katalogu, to masz w ogóle katalog /media?
    Bez tego polecenie sudo mkdir /media/USBHD się nie uda ;)

    Jeśli chodzi o sambe to nie mam pojęcia co jest nie tak po twoim opisie.
    Odinstaluj ją:
    sudo apt-get remove samba
    sudo apt-get remove samba-common-bin

    A potem zainstaluj tylko sudo apt-get install samba
    Wykonaj sudo service samba start,sudo service samba stop
    Przeedytuj plik konfiguracyjny wedle opisu, jeśli brak w pliku jakiś linijek to je zwyczajnie dopisz.
    Potem sudo service samba start i powinno zacząć działać.
  • #28
    vp32
    Level 11  
    Robilem dokładnie krok w krok jak w poradniku i to od ściągania linuksa do samby.
    fakt nie mam katalogu media przyznaję ale w poradniku nic o tym nie było. Przyznaje nie znam linuksa i nie pomyślałem.
    Pytanie czy dysk ma byc fat32 czy moze byc ntfs.
    a.... bo bym zapomniał. To samo probowalem zrobic z pendrivem i byl ten sam efekt
  • #30
    vp32
    Level 11  
    JA to chyba sformatuje i ustawię zainstaluje raz jeszcze, a jak mi powiesz jak ten config zgrać, to będę wdzięczny.