Γρήγορη μετάβαση

    Δημιουργία NAS με Freenas (part 1)

    Τη σημερινή εποχή ο κόσμος ασχολείται όλο και περισσότερο με αρχεία media, τα οποία, μάλιστα, λόγω των γρήγορων συνδέσεων στο ίντερνετ, τείνουν να είναι όλο και μεγαλύτερα σε μέγεθος..
    Όσοι λοιπόν θέλουν να αποθηκεύουν κάπου αυτά τα αρχεία τους, χρειάζονται όλο και περισσότερο χώρο. Και μάλιστα αυτά τα αρχεία πολύς  κόσμος τα θέλει να είναι διαθέσιμα σε παραπάνω από μια συσκευή ταυτόχρονα (για παράδειγμα στον σταθερό μας υπολογιστή, στο λάπτοπ μας, αλλά και σε κάποιο network media player που έχουμε στο σαλόνι μας για να βλέπουμε τις αγαπημένες μας ταινίες/σειρές). Οι λύσεις για να το επιτύχουν αυτό είναι συγκεκριμένες:

    1. Εξοπλίζουν τον βασικό υπολογιστή με όσους περισσότερους δίσκους γίνεται.
    2. Αγοράζουν εξωτερικούς δίσκους που μπορούν να μεταφερθούν εύκολα.
    3. Αγοράζουν κάποια έτοιμη λύση NAS που δίνει την δυνατότητα κεντρικής αποθήκευσης των δεδομένων και εύκολη πρόσβασή τους μέσω του τοπικού μας δικτύου.

    H πρώτη επιλογή έχει τα θετικά της από άποψη κόστους, καθώς οι εσωτερικοί σκληροί δίσκοι είναι οι φτηνότεροι και υπάρχει δυνατότητα διαμοιρασμού των αρχείων  μέσω του τοπικού δικτύου. Υπάρχουν όμως κάποια μειονεκτήματα: Οι 9 στους 10 που το κάνουν αυτό δεν υπάρχει περίπτωση να  χρησιμοποιήσουν κάποιο RAID για ασφάλεια των δεδομένων. Έτσι , σε περίπτωση που «χτυπήσει» κάποιος δίσκος, τα data πάνε περίπατο… Επιπλέον, η διαθεσιμότητα των κοινόχρηστων αρχείων εξαρτάται από την (καλή) λειτουργία του σταθερού υπολογιστή. Αν «χτυπήσουν» τα windows και φυσικά υποθέσουμε ότι τα data βρίσκονται σε διαφορετικό partition από αυτό που είναι εγκατεστημένο το λειτουργικό, τα data δεν θα είναι διαθέσιμα μέχρι να ξαναγίνει εγκατάσταση και να ρυθμιστούν εκ νέου τα κοινόχρηστα αρχεία. Και ακόμη και αν υποθέσουμε ότι  τα Windows δεν θα πάθουν τίποτα, η συγκεκριμένη λύση υστερεί αρκετά σε κατανάλωση ενέργειας: Στις περισσότερες περιπτώσεις, οι σταθεροί υπολογιστές έχουν θηρία επεξεργαστές ή/και κάρτες γραφικών τα οποία έχουν πολύ υψηλή κατανάλωση. Η συνεχόμενη διαθεσιμότητα των κοινόχρηστων σημαίνει ότι ένας τόσο ενεργοβόρος υπολογιστής θα πρέπει να παραμένει ανοιχτός 24/7, πράγμα που θα κάνει εξαιρετικά χαρούμενη τη ΔΕΗ και εξαιρετικά δυσαρεστημένο το πορτοφόλι μας…

    Η δεύτερη επιλογή, του απλού εξωτερικού δίσκου έχει επίσης πλεονεκτήματα από άποψη κόστους, καθώς  οι εξωτερικοί σκληροί δίσκοι δεν είναι πολύ ακριβότεροι από τους  εσωτερικούς, υπολείπεται όμως σε ασφάλεια, καθώς υπάρχει πάντα ο κίνδυνος απώλειας των δεδομένων αν χτυπήσει ο δίσκος.  Επιπλέον, το γεγονός  ότι θα πρέπει να τους μεταφέρουμε από το ένα μηχάνημα στο άλλο, αυξάνει τις πιθανότητες κάποιου «ατυχήματος». Βέβαια υπάρχουν και λύσεις σε αυτή την κατηγορία που χρησιμοποιούν 2 δίσκους σε RAID1 (mirror), είναι όμως κατά πολύ πιο ακριβές, οπότε εκεί εξαφανίζεται το πλεονέκτημα του κόστους…
    Η τρίτη επιλογή είναι η αγορά ενός έτοιμου NAS, το οποίο να υποστηρίζει RAID και στο οποίο μπορούμε να τοποθετήσουμε 2 ή περισσότερους δίσκους. Σε αυτή την περίπτωση εξασφαλίζουμε την ακεραιότητα των δεδομένων  μας, – αν βέβαια κάνουμε χρήση RAID –  επίσης γλιτώνουμε χρήματα κατά την αγορά των δίσκων, καθώς θα αγοραστούν κλασσικοί εσωτερικοί σκληροί δίσκοι που είναι σχετικά φθηνότεροι από τους εξωτερικούς. Στον αντίποδα, βέβαια, η αγορά μιας συσκευής NAS έχει κόστος από μόνη της (ξεκινούν χωρίς δίσκους από τα 200-250 ευρώ) ενώ για την αγορά μιας συσκευής με μεγάλη χωρητικότητα (δηλαδή θέσεις για 4+ δίσκους), οι τιμές ξεφεύγουν (τουλάχιστον 500 ευρώ).Και φυσικά οι τιμές αυτές δεν περιλαμβάνουν τους δίσκους. Οπότε μιλάμε ότι πάει μακριά η βαλίτσα…
    Τι θα λέγατε λοιπόν να μπορούσαμε να αξιοποιήσουμε έναν παλιό υπολογιστή τον οποίο υπό άλλες συνθήκες θα τον χαρίζαμε ή θα τον πετάγαμε και να φτιάξουμε το δικό μας NAS χρησιμοποιώντας την Free, open source λύση που ακούει στο όνομα Freenas και βασίζεται στο FreeBSD? Μην βιάζεστε να σταματήσετε το διάβασμα ακούγοντας FreeBSD, καθώς η εγκατάστασή του είναι πανεύκολη ακόμη και για κάποιον που δεν έχει ξαναδεί FreeBSD στη ζωή του, ενώ η μετέπειτα παραμετροποίησή του δεν διαφέρει από την παραμετροποίηση οποιουδήποτε δικτυακού δίσκου ή NAS  -μάλιστα ίσως να είναι και ευκολότερη…
    Ο υπολογιστής που θα χρησιμοποιήσουμε μπορεί να είναι και κάποιος παλιός Pentium III με 256ΜΒ Ram ! Βέβαια για να αποφύγουμε περαιτέρω ταλαιπωρία, η καλύτερη επιλογή θα ήταν ένας παλιός Pentium IV με 4 τουλάχιστον θύρες SATA – για να αποφύγουμε την αγορά κάποιου SATA Controller – και μια IDE για να βάλουμε έναν παλιό μικρούλη IDE HDD για δίσκο του λειτουργικού και ένα cdrom που θα χρησιμοποιήσουμε για την εγκατάσταση. Κάπου εδώ να αναφέρω ότι ο δίσκος του λειτουργικού δεν είναι απαραίτητος, καθώς το Freenas υποστηρίζει και εγκατάσταση σε USBStick ή Compact flash κάρτα, ενώ για την εγκατάσταση μπορούμε πάντα να χρησιμοποιήσουμε κάποιο εξωτερικό CD/DVD Rom. Και για να βάλουμε στο παιχνίδι και την χαμηλή κατανάλωση, μπορούμε κάλλιστα να αγοράσουμε κάποιο motherboard με Atom CPU, καθώς το freenas δεν χρειάζεται επεξεργαστική ισχύ, και να έχουμε μια κατανάλωση της τάξης των 20-25 watt.. H καφετιέρα πιο πολλά καταναλώνει… 😛

    Αλλά ας πάμε με τον πιο εύκολο τρόπο και ας υποθέσουμε ότι έχουμε έναν υπολογιστή με 4 SATA θύρες στις οποίες βάζουμε τους δίσκους που θα είναι o  αποθηκευτικός  μας χώρος και μια IDE στην οποία θα βάλουμε έναν παλιό IDE δίσκο για το λειτουργικό και ένα CD/DVD Rom.  Οι 4 δίσκοι δεν είναι υποχρεωτικοί, βέβαια.. Μπορούμε να χρησιμοποιήσουμε και μόνο 2 και να τους κάνουμε Raid1 (mirror) ή 3 και να φτιάξουμε ένα RAID5.  (Μια παρένθεση εδώ: Επειδή στο RAID5 χρησιμοποιείται ο ένας από τους δίσκους της διάταξης για parity – κρατάει στην ουσία το backup της συστοιχίας και ακόμη και αν χτυπήσει ο ένας από τους δίσκους μας μπορούμε να τον αντικαταστήσουμε χωρίς να χάσουμε data – , καταλαβαίνετε ότι το πιο συμφέρον από την άποψη  χωρητικότητας/κόστος είναι να χρησιμοποιήσουμε περισσότερους από 3 δίσκους.. Δεν ενδείκνυται όμως να χρησιμοποιήσουμε και πάρα πολλούς καθώς αυξάνεται η πιθανότητα να μας χτυπήσουν περισσότεροι από ένας δίσκος οπότε  εκεί την πατήσαμε. Για πολλούς δίσκους υπάρχουν άλλες διατάξεις, π.χ. RAID6, RAID10 αλλά δεν θα ασχοληθούμε καθώς ξεφεύγουμε από το θέμα μας… Τέλος παρένθεσης… 😛 )To κόστος μας στην 1η περίπτωση θα είναι η αγορά 2 δίσκων (λόγω mirror θα είναι μόνο η χωρητικότητα του ενός διαθέσιμη) ενώ στη δεύτερη η αγορά 3 δίσκων και θα έχουμε διαθέσιμη χωρητικότητα ίση με το άθροισμα των 2. Ενδεικτικά, για mirror το κόστος για χωρητικότητα 2 ΤΒ ανέρχεται στα 200 ευρώ, ενώ για RAID5 και χώρο 4ΤΒ στα 300 ευρώ. Οι αντίστοιχες έτοιμες λύσεις είναι από 25-30% πάνω για κάποιον εξωτερικό δίσκο και από 100 εως 200% πάνω για mirror ή 300% πάνω για RAID5 με τη χρήση μιας έτοιμης λύσης NAS..
    Για πάμε λοιπόν να δούμε πως θα φτιάξουμε το δικό μας NAS αξιοποιώντας το Freenas. Σε αυτό το πρώτο μέρος θα δείξουμε πως κάνουμε την εγκατάσταση από το boot cd του Freenas…
    Το Freenas μπορούμε να το κατεβάσουμε από την σελίδα του στο sourceforge. Τον τελευταίο χρόνο, την εξέλιξη του freenas έχει αναλάβει η εταιρία ixsystems, η οποία έχει ξαναγράψει σχεδόν από την αρχή τον κώδικα του freenas, σε μια προσπάθεια να γίνει πιο εύκολα επεκτάσιμο και πιο μοντέρνο σε εμφάνιση.  Η έκδοση που εξελίσει η ixsystems είναι η 8 και αυτή τη στιγμή βρίσκεται σε version RC3, ενώ βασίζεται στο FreeBSD 8.2.  Η συντριπτική πλειοψηφία των ανθρώπων που χρησιμοποιούν το Freenas, όμως, είναι ακόμη στο «παλιότερο» 0.7.x – που βασίζεται στο FreeBSD 7.3 –   ενώ και το 95% της υποστήριξης  στο forum του freenas απευθύνεται  στις εκδόσεις 0.7.x.  Γι’ αυτό το λόγο λοιπόν και μεις, σε αυτό το άρθρο, θα ασχοληθούμε με την έκδοση 0.7. Στο παρακάτω παράδειγμα χρησιμοποιώ την τελευταία beta 0.7 έκδοση, αλλά για παραγωγικά συστήματα συστήνεται πάντα η χρήση της τελευταίας stable έκδοσης (αυτή τη στιγμή είναι η 0.7.2.5543). To μέγεθος λοιπόν του αρχείου iso  που κατέβασα ήταν μικρό (134ΜΒ) και μόλις κατέβει το γράφουμε σε ένα CD. Κατόπιν ρυθμίζουμε τον υπολογιστή από το BIOS ώστε να κάνει boot από CD, και ξεκινάμε:
    Την παρακάτω οθόνη βλέπουμε την ώρα που μπουτάρει..

    freenas installation
    Όταν φορτώσει το CD βλέπουμε την παρακάτω οθόνη (console menu):
    freenas installation
    Επιλέγουμε το 9 (install/upgrade…) και εμφανίζεται η ακόλουθη οθόνη:

    Όπως βλέπετε υπάρχουν επιλογές για εγκατάσταση σε  usb/flash. Στο παράδειγμά μας θα χρησιμοποιήσουμε την 3η επιλογή που είναι η Full εγκατάσταση σε ένα σκληρό δίσκο.. Επιλέγουμε λοιπόν την 3 και Enter:
    freenas installation
    Πατάμε ΟΚ. Στην επόμενη οθόνη μας εμφανίζει τη συσκευή στην οποία βρίσκεται το CD εγκατάστασης. Εδώ βλέπουμε το Virtual CD καθώς η εγκατάσταση γίνεται σε Virual machine:
    freenas installation
    Πατάμε ΟΚ και επιλέγουμε τον δίσκο στον οποίο θα εγκατασταθεί το λειτουργικό μας. Στο παράδειγμά μας έχω έναν δίσκο του 1GB για το λειτουργικό και 5 μικρούληδες των 200ΜΒ για τα DATA.
    Στην πραγματικότητα βέβαια ο δίσκους του λειτουργικού μπορεί να είναι ένας αρχαίος των 20 ή 40 GB (το freenas ούτε 500ΜΒ δεν χρειάζεται..) και οι δίσκοι για τα data μπορούν να είναι θηρία των 2ΤΒ ο καθένας. Το πόσοι θα είναι περιορίζεται μόνο από το πορτοφόλι μας (και από το μέγεθος του case που θα χρησιμοποιήσουμε, καθώς cases με υποστήριξη 10+ δίσκων δεν είναι πολλά ούτε φτηνα….)
    freenas installation
    Πατάμε λοιπόν στο δίσκο του 1GB για να κάνει την εγκατάσταση…
    Μας ρωτάει κατόπιν πόσο χώρο να χρησιμοποιήσει για το partition στο οποίο θα εγκατασταθεί το λειτουργικό. Το μίνιμουμ είναι 380ΜΒ. Εγώ εδώ θα βάλω 500. Δεν χρειάζεται και πολύ να βάλετε εδώ..Για παράδειγμα, στο NAS του σπιτιού μου που το O/S είναι εγκατεστημένο σε έναν 40άρη, είχα βάλει 1GB και το 70% είναι ελεύθερο..Βάζουμε λοιπόν ας πούμε 500 και πατάμε ΟΚ.
    freenas installation
    Η επόμενη ερώτηση είναι αν θέλουμε swap partition. H default επιλογή είναι όχι οπότε πατάμε το Νο..
    freenas installation
    Κάπου εδώ ξεκινάει η εγκατάσταση του λειτουργικού, η οποία κρατάει – κυριολεκτικά – 1 λεπτό! Όταν τελειώσει αυτή είναι η οθόνη που θα δούμε:
    freenas installation

    • Πατάμε λοιπόν Enter  & μας επιστρέφει στο μενού επιλογών.
    • Εκεί πατάμε exit και μας επιστρέφει στο console menu.
    • Βγάζουμε το CD από το drive και επιλέγουμε την επιλογή 7 για να κάνει reboot.
    • Στην οθόνη επιβεβαίωσης πατάμε το  Yes και το σύστημα κάνει reboot

    Περιμένουμε 1-2 λεπτά να κάνει reboot και όταν ξαναξεκινήσει θα ξαναδούμε το console menu. Πλέον δεν έχει επιλογή για install, βάβαια..:
    freenas installation
    Το μόνο που μας απέμεινε είναι να ρυθμίσουμε το δίκτυο και μόλις γίνει αυτό, μετά όλα τα υπόλοιπα θα τα κάνουμε μέσω του web browser μας… 🙂
    Πατάμε λοιπόν την επιλογή 2 (Set LAN IP address) και στην επόμενη οθόνη πατάμε YES για χρήση DHCP. (Το σωστό, βέβαια είναι να βάλουμε μια στατική ΙΡ, αλλά ας του βάλουμε τώρα να παίρνει αυτόματα μέσω DHCP και μπορούμε άνετα να αλλάξουμε τη διεύθυνση μέσω του wen interface, αργότερα! )
    Πατάμε λοιπόν το YES, στην ερώτηση για το IPv6 interface πατάμε No (που είναι και η default επιλογή) και όταν τελειώσει η ρύθμιση μας πληροφορεί ποια είναι η διεύθυνση του web interface:
    freenas installation
    Εδώ τελειώσαμε με την κονσόλα (όταν θα το κάνετε θα δείτε ότι ο συνολικός χρονος δεν είναι ούτε 10 λεπτά). Στο επόμενο μέρος θα δούμε πως,  με τη χρήση του web interface του Freenas,  μπορούμε να φτιάξουμε ένα RAID5 με τους δίσκους μας, ώστε να αποθηκεύσουμε εκεί τα αρχεία μας και να μας είναι εύκολα προσβάσιμα μέσω του δικτύου!

    13 Σχόλια to “Δημιουργία NAS με Freenas (part 1)”

    1. Panayotis

      Πολύ καλή δουλειά, περιμένουμε το part 2, ευχαριστούμε…

    2. george

      poli eukolo fenete.
      ego thelo na ftiakso ena nas server gia na sixronizo tis Library twn 3 xbmc devices pou exo sto spiti (Atv, ipad kai pc)

      logika me auto tha boro etsi den einai?

      tha boro na exo prosvasi sto nas mou kai apo ektos spitiou?

      euxaristo

    3. ChriZ

      Είναι όντως εύκολο..
      Το xbmc παίζει μια χαρά με samba ή/και NFS, οπότε λογικά δεν θα έχεις πρόβλημα.
      Το μόνο που χρειάζεσαι για να έχει πρόσβαση στο web interface ή/και στα αρχεία του NAS, π.χ. μέσω ftp, είναι να κάνεις το απαραίτητο port forwarding στο ρούτερ σου. 🙂

      • george

        κοιτα εγω εχω ενα λαπτοπ που θα ηθελα να το κανω αυτο και να βαλω εναν σκληρο με usb για να κανω το nas. δουλευει με usb ή μονο μεσω sata?

        επισης να σου πω οτι εχω το router της Cyta το οποιο εχω ηδη πανω ενα σκληρο δισκο με usb και ουσιαστηκα μου τον εχει κανει δικτιακο.
        μπορω να κανω κατι σε αυτο? εχεις καποιο οδηγο για να το κανω nas ή αναγκαστικα πρεπει να το κανω στο laptop μου?

        • ChriZ

          Κοίτα να δεις…
          Σε γενικές γραμμές η δημιουργία ενός NAS με τη χρήση Laptop & USB hdd δεν είναι και η καλύτερη επιλογή… για 2 λόγους:
          1. Θα αναγκαστείς να αφήνεις συνεχώς ανοικτό το Laptop για να είναι πάντα διαθέσιμο το NAS
          2. Το USB σαν σύνδεση είναι λίγο περίεργο, γιατί μπορεί να αλλάξει το Device ID και να πονοκεφαλιάζεις μετά..
          Αν λοιπόν δεν σε ενοχλεί να αφήνεις ανοιχτό συνέχεια το Laptop και δεν σκοπεύεις να ξεσυνδέεις συνέχεια το USB δίσκο (ελαχιστοποιώντας έτσι τις πιθανότητες να αλλάξει το ID του), μπορείς να το κάνεις κανονικότατα.
          Στο ρούτερ της Cyta δεν μπορείς να εγκαταστήσεις το Nas4Free (το άρθρο λέει για Freenas, αλλά πλέον το όνομά του έχει αλλάξει σε Nas4Free). Αν όμως σου έχει κάνει δικτυακό το δίσκο τότε είσαι μια χαρά και δεν χρειάζεσαι κάτι άλλο.
          Μπορείς να χρησιμοποιήσεις τον εξοπλισμό σου για να δοκιμάσεις το Nas4Free για την ώρα και αν στο μέλλον οι απαιτήσεις σου σε χώρο αυξηθούν, θα ξέρεις αν τουλάχιστον σου κάνει σαν λειτουργικό για να φτιάξεις ένα κανονικό DIY NAS. 🙂

          • george

            εχω ηδη δικτιακο δισκο πανω στο router!
            αλλα πως βγαζω συγκεκριμενη ip και τα user/pass που θελω?

            • george

              εννοω οτι εχω δισκο απλο πανω στο ρουτερ , αλλα το ρουτερ μου το εκανε δικτυακο.

              το θεμα ειναι πως κανω αυτο το remote που θελει το xbmc
              τι ip βαζω? του ρουτερ? 192.168.1.1?
              και user/pass? αυτα που κανω login στο πανελ?

              πως φτιαχνω την καρφωτη ip για να βλεπει τον δισκο?

              Ευχαριστω πολυ και παλι και σορρυ αν σε κουρασα.

    4. george

      ακολουθησα αυτο τον οδηγο τελικα στο λαπτοπ αλλα στο τελευταιο σταδιο δε μου βγαζει καποια ip

      error: Dont get IPv4 Address!
      και απο κατω μονο το

      http:// (σκετο)

      πως προχωραω τωρα? στα windows μπορω να ξαναμπω?

    5. george

      ωχ τωρα γιατι δε μπορω να μπω στα windows ξανα?

      • ChriZ

        Σχετικά με το δίσκο που σου τον έκανε δικτυακό ο ρούτερ:
        Θα πρέπει να δεις πως δουλεύει ο συγκεκριμένος ρούτερ – δεν είναι όλοι το ίδιο. Εγώ έχω ένα Linksys WAG320N που έχει USB θύρα. Στο μενού του έχει ένα tab που το ονομάζει «storage». Αν του συνδέσω δίσκο μου δίνει τη δυνατότητα να καταχωρήσω όνομα χρήστη και κωδικό και να δώσω δικαιώματα σε αυτό το χρήστη. Μετά δίνοντας την ΙΡ του ρούτερ (Έναρξη –> Εκτέλεση –> \\ΙΡ_ΡΟΥΤΕΡ\) μου πετάει παράθυρο για σύνδεση. Δίνω όνομα χρήστη και κωδικό (αυτά που καταχώρησα πριν) και μπαίνω κανονικά στα περιεχόμενα του δίσκου.
        Σχετικά με το λάπτοπ:
        IP δεν παίρνει αν δεν βλέπει το ρούτερ. Φρόντισε να είναι συνδεδεμένο μέσω καλωδίου στο ρούτερ σου και αυτός να έχει ενεργό το DHCP (λογικά ενεργό είναι εκτός αν το έχεις κλείσει εσύ)
        Τώρα για το ότι δεν μπαίνει ξανά στα Windows: Aν έκανες φουλ εγκατάσταση στο δίσκο που είχε τα windows, λογικό είναι να μην μπαίνει.
        Nas4Free
        (WARNING:This will erase ALL partitions and data on the destination disk)

    6. Dimos

      Γεια σου

      Πολύ καλός οδηγός. Έχω ένα δικτυακό σκληρό της WD (World Edition) συνδεδεμένο στο ασύρματο router αλλά δεν είμαι ευχαριστημένος γιατί τώρα τελευταία απουνδέεται συχνά οπότε σκέφτομαι να φτιάξω ένα pcάκι με το FreeNas όπως το περιγράφεις.
      Οι ανάγκες μου είναι διαμοίραση αρχείων μέσω του ασύρματου δικτύου στο σπίτι. Βασικά το laptop να βλέπει δικτυακά το Nas και επίσης έχοντας δυνατότητα dyndns στο router να έχω πρόσβαση στο Nas απ’έξω από το σπίτι. Μπορώ να έχω αυτά τα απλά πράγματα με το pcάκι που θα γίνει Nas? Εννοείται ότι η IP του Nas θα είναι «καρφωτή»..Ευχαριστώ προκαταβολικά