Phileserve - home NAS με USB δίσκους χρησιμοποιώντας το Raspberry Pi

tmjuju

Administration Team
Staff member
21 January 2007
21,651
Τα pi είναι αργά για nas,
Μόνο usb2 ταχύτητα σε δίσκους
Και μόνο 100αρα Ethernet
Διαφορά μεταξύ pi 1 και pi 2 δεν πρέπει να υπάρχει ουσιαστικά καθώς και τα δύο πάσχουν από τα παραπάνω bottlenecks.
 

tuxx

Supreme Member
3 January 2014
3,319
/dev/null
To εμπορικό NAS δε θα έχει συνδεσμολογία USB για τους hd (θα προσφέρεται ως έξτρα τρόπος σε κάποια NAS) οπότε οι δίσκοι θα είναι πιο γρήγοροι. Επίσης αν παίρνει πάνω από δύο δίσκους θα έχεις δυνατότηα για raid και συνεπαγωγικά έξτρα ασφάλεια.

Όσον αφορά στην λύση που φτιάχνω, παρότι ακόμα δεν έχω δοκιμάσει σε Pi2 (θα το κανω το Σ/Κ), με το cubox είμαι απίστευτα ευχαριστημένος, διαβάζοντας από το NAS με περίπου 10mb/sec και γράφοντας με λίγο λιγότερο, που υπερκαλύπτει τις ανάγκες μου ακόμα και για σερβίρισμα dxd κλπ.

To Pi/Pi2 έχει όντως bottleneck λόγω κοινού bandwidth που μοιράζονται usb/ethernet. Παρόλα αυτά έχω μια αίσθηση ότι το κοινό bus αυτό, εφόσον ο usb driver είναι σωστός, θα παίξει ικανοποιητικά για την ανάγκη μας γιατί αυτό το bandwidth δεν είναι μικρό για τα βασικά που ζητάμε εμείς.

Για να συνοψίσω, εγώ αν είχα λεφτά, θα έφτιαχνα ένα χεράτο αληθινό nas με κάποιο microserver. Από κει και πέρα, με δεδομένη την καλή επίδοση του phileserve για τις ανάγκες μου, προβλέπεται να μείνω αρκετό καιρό με αυτό (χρησιμοποιώντας όμως το cubox γιατί αυτό μου περισσεύει).

Αναφορικά με τα features, σίγουρα θα βρεις ότι έχω βάλει στο phileserve σε ένα καλό NAS και ενδεχομένως να βρεις και περισσότερα. Επίσης το εμπορικό nas θα έχει κάποιο web interface και θα κάνεις ρυθμίσεις ευκολότερα.

Εγώ σου προτείνω να κάνεις υπομονή μια βδομάδα, να δοκιμάσεις το image για Rpi2 που θα ανεβάσω και να το δεις στην πράξη.
 

Dr Pan K

Supreme Member
18 December 2010
9,067
Το μόνο που με προβληματίζει είναι ότι το Ρπι2 κοστίζει 45 ευρώ ενώ ένα NAS DLink 75..
 

tuxx

Supreme Member
3 January 2014
3,319
/dev/null
To nas της DLINK χρειάζεται και έναν εσωτερικό δίσκο, οπότε πάμε στα 175, εκτός και αν έχει και αυτό υποστήριξη για USB δίσκους.

Επίσης ψάξε γι αυτό στο google. Πρόκειται για αργό NAS. Αν είναι να πάρεις αυτό, περίμενε να δοκιμάσεις το RPi.

--- Αυτόματη συγχώνευση μηνύματος ---

Και μια που αναφέρθηκα στο bandwidth του Bus του Rpi:

http://www.raspberrypi.org/documentation/hardware/raspberrypi/usb/README.md

GENERAL LIMITATIONS

The OTG hardware on Raspberry Pi has a simpler level of support for certain devices, which may present a higher software processing overhead. The Raspberry Pi also has only one root USB port: all traffic from all connected devices is funnelled down this bus, which operates at a maximum speed of 480mbps.

Ότι δίσκος καρφωθεί στο Rpi + το ethernet connection θα έχουν ταβάνι τα 480mbps. Πρακτικά, αν το μοίρασμα γίνεται σωστά (χωρίς bugs) και δεν υπάρχει conflict το NAS των 100mbps θα δουλέψει ΟΚ. Παλιά υπήρχαν άπειρα προβλήματα λόγω κακού driver. Εδώ και μήνες όμως δεν έχω αντιμετωπίσει κανένα πρόβλημα συμπεριφοράς USB/Ethernet.
 
Last edited:

Dr Pan K

Supreme Member
18 December 2010
9,067
Δίσκος ειναι στο πρόγραμμα να αγοραστεί όπως και να έχει γιατι οι υπόλοιποι ειναι πίτα. Ενα σημαντικό στοιχείο που διαπίστωσα ειναι οτι στην μεταφορά της βιβλιοθήκης μου η USB3 ειναι και στην πράξη πολυ πιο γρήγορη (απο το PC>USB3 HDD με 130-150Μb/s). Οπότε ειναι και αυτο ενα θέμα
 

tuxx

Supreme Member
3 January 2014
3,319
/dev/null
Για να δεις τέτοιες ταχύτητες (το θεωρητικό max σου θα είναι λίγο κάτω από 130mb/sec) από NAS, θα χρειαστείς, Τo router (ή κάποιο εξωτερικό switch), η κάρτα δικτύου του PC σου και το NAS σου να είναι Gigabit.


Eγώ με στο phileserve, εννοείται ότι αρχικά έγραψα τα πάντα με usb από το PC με 30mb/sec και στη συνέχεια τον κάρφωσα δικτυακά. Πλέον του πετάω μέσα μόνο τα καινούρια μου αρχέια με τις ταχύτητες που περιέγραψα παραπάνω.
 

Dr Pan K

Supreme Member
18 December 2010
9,067
Σωστο και αυτο, τα περνάς με το PC (οποτε USB3) και μετα εχεις μονο το streaming και ψιλοτροποποιησεις.
 

tuxx

Supreme Member
3 January 2014
3,319
/dev/null
Δοκιμή:

Linux Desktop PC (100Mbit NIC) --> Archer D5 Router (Gigabit) --> Devolo Powerline (300 Mbit link) --> Rpi2 + Phileserve

Code:
dd if=/dev/zero of=/mnt/test/testfile bs=1M count=1024 oflag=direct
1024+0 records in
1024+0 records out
1073741824 bytes (1.1 GB) copied, 115.133 s, 9.3 MB/s

dd if=/mnt/test/testfile of=/dev/null bs=1M count=1024 iflag=direct
1024+0 records in
1024+0 records out
1073741824 bytes (1.1 GB) copied, 106.425 s, 10.1 MB/s
 

tuxx

Supreme Member
3 January 2014
3,319
/dev/null
Τo image για το Raspberry Pi 2 είναι έτοιμο:

- Download
- Οδηγίες χρήσης
- Md5sum


Πολύ γρήγορα αναφέρω τις τελικές λεπτομέριες:

- Default δίκτυο με dhcp (συστήνω να αλλάξετε αμέσως σε static)
- Samba server ενεργοποιημένος by default - καρφώστε USB δίσκους και θα τους σερβίρει όλους στο path /mnt/usb-disks/onoma_label_tou_kathe_diskou
- NFS server θέλει λίγο editing για τελική χρήση
- Transmission Torrent client με web interface, θέλει επίσης λίγο editing
- Μinidlna Server, θέλει ελάχιστο editing. Θα μπορούσα να το κάνω αυτόματο, αλλά όπως θα δείτε το conf που έχω διαλέξει είναι πιο ντελικάτο (διαχωρισμός μουσικής, εικόνας κλπ)
- username/password συστήματος: root/phileserve
- username/password samba share: nash/nash
- Αφού κατεβάσετε κάνετε unzip με το 7-zip και "καίτε" το image με το W32diskmanager
- Χρήστες windows, χρειάζεστε το putty για να συνδεθείτε με ssh και να κονφιγκιουράρετε - Από Mac os X/Linux, χρησιμοποιείτε κονσόλα και ssh [email protected]



Για να χρησιμοποιήσετε το νέο σας NAS με το Archphile, υποθέτοντας ότι:

- o δίσκος έχει label "savoura"
- Το folder της μουσικής μέσα σε αυτόν είναι το "Music"
- Το phileserve box έχει ip 192.168.1.122


Κάνουμε edit to /etc/fstab του Archphile και κάνουμε modify τη γραμμή:

Code:
#SAMBA Share - Share using username/password
//192.168.1.122/phileserve/savoura/Music /mnt/nas-samba cifs username=nash,password=nash,ro,iocharset=utf8,nolock,noauto,x-systemd.automount,x-systemd.device-timeout=10,sec=ntlm

Αν ο δίσκος έχει μόνο μουσική τότε δε χρεάζεται να υποδείξουμε το Music dir:

Code:
#SAMBA Share - Share using username/password
//192.168.1.122/phileserve/savoura /mnt/nas-samba cifs username=nash,password=nash,ro,iocharset=utf8,nolock,noauto,x-systemd.automount,x-systemd.device-timeout=10,sec=ntlm

Αν έχουμε καρφώσει πολλους δίσκους και θέλουμε το Archphile να δει υα πάντα:

Code:
#SAMBA Share - Share using username/password
//192.168.1.122/phileserve /mnt/nas-samba cifs username=nash,password=nash,ro,iocharset=utf8,nolock,noauto,x-systemd.automount,x-systemd.device-timeout=10,sec=ntlm
 
Last edited:

tuxx

Supreme Member
3 January 2014
3,319
/dev/null
Στέλιο, πριν αρκετό καιρό μέ έπιασε μια καψιματική με το θέμα linux seedbox και δοκίμασα όλες τις γνωστές λύσεις. Τελικά κατέληξα στον παρακάτω συνδυασμό:

rtorrent + rutorrent web interface (με lighttpd web server)

Όλα τα άλλα είναι πραγματικά τίποτα μπροστά σε αυτό το συνδυασμό από κάθε άποψη.


Όταν ετοίμαζα το image για το NAS σκέφτηκα μια να κάνω την παραπάνω συνταγή αλλά μου φάνηκε overkill. Μετά λέω ας βάλω deluge, πάω να δοκιμάσω και ήθελε 100+MB για τα διάφορα πακέτα. Τελικά κατέληξα στον transmission γιατί ήθελε 5mb εγκατεστημένου χώρου και όσο τον δοκίμασα έπαιξε καλά.
 

tmjuju

Administration Team
Staff member
21 January 2007
21,651
Και το Transmission Web GUI είναι πολύ καλός και ελαφρύς windows client. Seeding με 3000 torrent και δεν υπάρχουν καθυστερήσεις ούτε στο interface/client. ΙΜΗΟ Από ένα σημείο και μετά κανένα web gui δε βολεύει με πολλά αρχεία.
 

tuxx

Supreme Member
3 January 2014
3,319
/dev/null
Η λύση μου παραπάνω στο web gui βασίζεται! Έχω εγκαταστήσει το transmission-cli. Σηκώνεις service και από οποιοδήποτε μέρος του δικτύου μπαίνεις με xxx.xxx.xxx.xxx:9091.

Γενικά δεν εστίασα καθόλου στο θέμα seedbox σε αυτή τη λύση γιατί εκτιμώ ότι κάτι τέτοιο σε μακροχρόνια χρήση θα στείλει το USB δίσκο μας για βρούβες :D Απλώς το έβαλα για να υπάρχει.
 

tuxx

Supreme Member
3 January 2014
3,319
/dev/null
Αν και δε νομίζω ότι το παρακάτω αφορά χρήστες που θα καρφώσουν NTFS δίσκους, έκανα διάφορες δοκιμές και συνειδητοποίησα ότι τα permissions της SAMBA ήταν προβληματικά (αυστηρά). Όταν ξαναφτιάξω image θα τα αλλάξω, αλλά η αλλαγή μπορεί να γίνει πολύ εύκολα.


- Aντικατάσαση του περιεχομένου του /etc/samba/smb.conf με το παρακάτω:


Code:
nano /etc/samba/smb.conf

Code:
[phileserve] comment = home storage
path = /mnt/usb-disks
valid users = @users
force group = users
create mask = 0664
directory mask = 0775
force create mode = 0664
force directory mode = 0775
read only = no


Επανεκκίνηση της SAMBA:

Code:
systemctl restart smbd nmbd

Για να διορθώσουμε τα υπάρχοντα permissions:

Code:
find /mnt/usb-disks/apothiki/Music -type d -print0 | xargs -0 chmod 775
find /mnt/usb-disks/apothiki/Music -type f -print0 | xargs -0 chmod 664

Στις παραπάνω δύο εντολές το path αντιστοιχεί στο δίσκο μου. Θα πρέπει να αλλαχθεί κατά περίπτωση.
 

tuxx

Supreme Member
3 January 2014
3,319
/dev/null
Όπως έχω ξαναπεί, το cubox-i υποστηρίζει περίπου μέχρι 300Mbit. Έβαλα μια κάρτα Gigabit (και το router μου είναι Gigabit) στο desktop μου, από το οποίο στέλνω τη μουσική στο NAS και παρότι το αποτέλεσμα είναι μίλια μακριά ακόμα και από τα 300Mbit, είμαι απόλυτα ευχαριστημένος από το εγχείρημα:


Εδώ ένα γρήγορο test σε write:

Code:
dd if=/dev/zero of=/mnt/music/testfile bs=1M count=1024 oflag=direct
1024+0 records in
1024+0 records out
1073741824 bytes (1.1 GB) copied, 44.6294 s, 24.1 MB/s


Επόμενο εγχείρημα θα είναι η δοκιμή ενός usb3 to esata adapter, μια που το cubox υποστηρίζει esata (με τρώει βέβαια και η απευθείας σύνδεση με esata που δεν υποστηρίζει το mybook μου).


Όλα τα παραπάνω δεν ισχύουν για Rpi, καθώς είναι 100ρα η κάρτα του και δεν έχει και esata υποδοχή.
 

tuxx

Supreme Member
3 January 2014
3,319
/dev/null
Ένα από τα πράγματα που με έχουν παιδέψει πολύ είναι η σωστή λειτουργία του minidlna. Συνήθως το χρηισμοποιώ ως εξής:

Έχω ανοιχτό το NAS με το service του minidlna να τρέχει. Στο Bubbleupnp έχω το phileserve επιλεγμένο ως server και το rpi/openelec το έχω επιλεγμένο ως renderer. Έτσι μπορώ να στέλνω τη μουσική μου από το NAS και να αναπαράγεται στην τηλεόρασή μου μέσω Openelec. Αυτό που δεν μπορώ να καταφέρω ακόμη είναι να σκανάρει αυτόματα ο minidlna server για καινούρια αρχέια στο ορισμένο path. Θεωρητικά όλα είναι στημένα σωστά στο conf file. Αν κάποιος έχει εμπειρία από minidlna θα του ήμουν ευγνώμων αν μοιραζόταν την εμπειρία του σε αυτό εδώ το νήμα.
 

tuxx

Supreme Member
3 January 2014
3,319
/dev/null
Μια που δεν υπήρξε κανένα ενδιαφέρον για την παρούσα λύση, το image διαγράφτηκε από τον server καθώς υπήρχε ανάγκη για disk space:drummer:
 

sat lover

Established Member
18 November 2007
272
Καλησπέρα,μου περισσευει ένα raspberry pi1 και λέω να το χρησιμοποιήσω σαν nas server με transmission.Μπορείς να ανεβάσεις το image;
 

tuxx

Supreme Member
3 January 2014
3,319
/dev/null
Δεν θυμάμαι αν το έχω κάπου ξεχασμένο, αλλά όπως και να χει ήταν για raspberry pi 2 οπότε δε θα δούλευε στο παλιό.

Ρίξε μια ματιά αν υπάρχει image του openmediavault για το δικό σου board μήπως και σε βολέψει!