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

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

    Στα προηγούμενα 2 άρθρα είδαμε πως μπορούμε να εγκαταστήσουμε και να παραμετροποιήσουμε το Freenas. Σε αυτό το άρθρο, θα δούμε πως μπορούμε να το χρησιμοποιήσουμε σαν print server, καθώς και πως θα μπορέσουμε να αντιμετωπίσουμε διάφορες ανεπιθύμητες καταστάσεις που ενδέχεται να προκύψουν κατά τη χρήση του.

    FreeNAS AMD64 Print Server Setup

    Η παρακάτω διαδικασία υπάρχει αυτούσια στο forum του freenas. Αυτό που έχω κάνει λοιπόν εδώ, αντί να μεταφράσω στην ουσία το άρθρο, είναι να φτιάξω ένα απλοϊκό σκριπτάκι που θα κάνει όλα όσα χρειάζεται αυτόματα.. Κατεβάστε το από εδώ.

    Σημειωτέον ότι, ακόμη και έτσι,  για να γίνει η εγκατάσταση αυτή, χρειάζονται στοιχειώδεις γνώσεις από linux CLI , αν και θα προσπαθήσουμε να κάνουμε όσο το δυνατόν καλύτερη επεξήγηση όλης της διαδικασίας.
    Για πάμε λοιπόν…

    Κατεβάστε για αρχή το αρχείο p910nd. Το συγκεκριμένο είναι στην ουσία ένας μινι print server ο οποίος χρησιμοποιείται σε διάφορες συσκευές που έχουν usb με υποστήριξη print server (π.χ. κάποιοι routers ή κάποιοι δικτυακοί δίσκοι)

    Επίσης κατεβάστε και το αρχείο devd.conf. Με αυτό το αρχειάκι το σύστημα καταλαβαίνει ότι συνδέθηκε εκτυπωτής, κάνει ένα χαρακτηριστικό ήχο και ξεκινάει το δαίμονα για την εκτύπωση. Το ίδιο αρχείο όταν ξεσυνδέσουμε τον εκτυπωτή σταματάει τον δαίμονα και κάνει ξανά κάποιον ήχο για να καταλάβουμε ότι ο εκτυπωτής έχει αποσυνδεθεί.

    Έχουμε λοιπόν τώρα κατεβάσει 3 αρχεία. Αυτά τα αρχεία θα πρέπει να τα ρίξουμε στο /tmp. Εφόσον από το προηγούμενο βήμα έχουμε φτιάξει shared folder μέσω samba, ρίχνουμε λοιπόν τα αρχεία στο shared folder. Μετά από αυτό θα χρειαστεί να δώσουμε μερικές εντολές από το CLI. Για να δούμε λοιπόν….

    Για το παράδειγμά μας υποθέτουμε ότι το NAS μας δεν έχει ούτε πληκτρολόγιο, ούτε ποντίκι, ούτε οθόνη. Το μόνο που  έχει συνδεμένο πάνω του είναι καλώδιο δικτύου. Για να συνδεθούμε με το NAS μας, χρειαζόμαστε κατ’ αρχήν να ενεργοποιήσουμε την πρόσβαση μέσω SSH.

    Πηγαίνουμε  στο Web Interface του Freenas και επιλέγουμε Services –> SSH.  Εκεί επιλέγουμε «Enable»  και για λόγους ευκολίας στο παράδειγμά μας, φροντίζουμε να τσεκάρουμε το «Permit root login».

    Enable SSH

    Αν δεν το τσεκάρουμε, θα πρέπει να φτιάξουμε έναν άλλο χρήστη που να μπορεί να έχει πρόσβαση στο CLI και να συνδεθούμε μέσω αυτού. Κατόπιν θα αλλάξουμε σε χρήστη root για να «τρέξουμε» το script.

    Putty settings

    Έπειτα θα πρέπει να χρησιμοποιήσουμε κάποιο πρόγραμμα για να μπορέσουμε να συνδεθούμε στο freenas μας μέσω SSH. Σταθερή αξία είναι το putty , το οποίο και είναι δωρεάν.Το κατεβάζουμε  και το ανοίγουμε (δεν θέλει εγκατάσταση). Βάζουμε την διεύθυνση του freenas, φροντίζοντας να επιλέξουμε SSH στο Connection Type.
    Πατάμε Open, στην προειδοποίηση που μας βγάζει απαντούμε θετικά και θα μας εμφανίσει:

    Login as: Δίνουμε root

    Password: To default είναι freenas

    Από το προηγούμενο άρθρο έχουμε δημιουργήσει ένα shared folder στο /mnt/My_Files. Εκεί λοιπόν βρίσκονται τα 3 αρχεία που κάναμε αντιγραφή προηγουμένως στο NAS μας. Είπαμε λοιπόν ότι αυτά τα 3 αρχεία θέλουμε να τα πάμε στο /tmp.

    • Ξεκινάμε λοιπόν πηγαίνοντας στο /tmp:

    cd /tmp

    • Όντας στο /tmp αντιγράφουμε τα 3 αρχεία από το /mnt/My_Files εδώ:

    mv /mnt/My_Files/p910nd devd.conf freenas_psinstall .

    • Κάνουμε το αρχείο εγκατάστασης (freenas_psinstall) εκτελέσιμο.

    chmod 777 freenas_psinstall

    • Τρέχουμε το αρχείο εγκατάστασης.

    ./sh freenas_psinstall

    Περιμένουμε να αντιγραφούν τα αρχεία εκεί που πρέπει και να οριστούν τα σωστά δικαιώματα.  Πριν τελειώσει το script (θα κάνει μερικά δευτερόλεπτα, ενώ μας ενημερώνει για το τι κάνει κάθε φορά), θα μας ζητήσει να συνδέσουμε στο NAS μας τον εκτυπωτή με τη χρήση του καλωδίου USB. Αν όλα έγιναν σωστά, αφού τον συνδέσουμε θα πρέπει να ακούσουμε έναν χαρακτηριστικό ήχο. Κατόπιν,  το μόνο που χρειαζόμαστε να κάνουμε είναι να προσθέσουμε τον εκτυπωτή μας στο Windows μηχάνημά μας. Οι οδηγίες για αυτό είναι στο τέλος του Script.

    |=======================================================================================================|
    | To install your printer in a windows machine follow the typical procedure of adding a Network Printer.|
    | Choose ¡Standard TCP/IP Port and follow the rest of the wizard till it asks you for the device type.  |
    | Select the "Hewlett Packard Jet Direct". Once completed adding the printer, that's it.                |
    | No other configuration is needed. Just print a test page to see all is OK....                         |
    |=======================================================================================================|

    Αυτό ήταν!  Τώρα μπορούμε να αρχίσουμε να χρησιμοποιούμε τον εκτυπωτή μας σαν δικτυακό εκτυπωτή.

    FreeNAS Configuration Backup

    Πάντα υπάρχει ο φόβος να «χτυπήσει» κάποιος δίσκος από αυτούς που χρησιμοποιούμε. Σε περίπτωση που το πρόβλημα το παρουσιάσει ο δίσκος στον οποίο είναι εγκατεστημένο το λειτουργικό σύστημα, η διαδικασία επαναφοράς των ρυθμίσεων μας σε μια φρέσκια εγκατάσταση είναι πολύ απλή, αρκεί να έχουμε πάρει backup το configuration του freenas μας. Για να το κάνουμε αυτό, πηγαίνουμε στο Web Interface και κατόπιν System –> Backup/Restore

    Εκεί πατάμε το κουμπί «Download Configuration» και αποθηκεύουμε το αρχείο τύπου .xml στον υπολογιστή μας για μελλοντική χρήση.

    Freenas Configuration  Backup / Restore

    ΠΡΟΣΟΧΗ!!  Φροντίζουμε να κάνουμε αυτή τη διαδικασία κάθε φορά που κάνουμε κάποια αλλαγή στις ρυθμίσεις του Freenas, ώστε αν χρειαστεί να κάνουμε επαναφορά στη νέα εγκατάσταση να έχουμε πάντα τις τελευταίες ρυθμίσεις

    Εφόσον λοιπόν έχουμε αποθηκευμένο το παραπάνω xml αρχείο, για να κάνουμε μια νέα εγκατάσταση, το μόνο που χρειαζόμαστε είναι να ακολουθήσουμε πάλι τις οδηγίες για μια νέα εγκατάσταση του Freenas.  Αφού το κάνουμε αυτό, από το παραπάνω μενού, επιλέγουμε το αποθηκευμένο .xml αρχείο και πατάμε Restore Configuration. Η διαδικασία κρατάει μερικά δευτερόλεπτα και κατόπιν το NAS κάνει αυτόματα επανεκκίνηση. Όταν ξεκινήσει πάλι θα δούμε ότι όλα είναι όπως πριν, οι δίσκοι μας, τα shared folders, οι χρήστες, οι ρυθμίσεις των services κλπ.

    ΣΗΜΕΙΩΣΗ:

    • Υπάρχει περίπτωση να μην γίνει επιτυχημένα restore το configuration την πρώτη φορά. Δεν αγχωνόμαστε, απλά ξαναδοκιμάζουμε και θα γίνει.
    • Αν έχουμε κάνει εγκατάσταση του Print server,  θα χρειαστεί δυστυχώς να ξανακάνουμε τη διαδικασία.

    Αντικατάσταση προβληματικού δίσκου σε ένα Raid5 array

    Η διάρκεια ζωής των δίσκων εξαρτάται, πέρα από την ποιότητα του ίδιου του δίσκου, και από το πόσο ταλαιπωρείται ο δίσκος μέσα στα χρόνια χρήσης του. Προσωπικά έχω δίσκους που χτύπησαν πάνω στον πρώτο χρόνο λειτουργίας τους, αλλά έχω και άλλους που δουλεύουν χωρίς πρόβλημα εδώ και μια 10ετία. Το ενδεχόμενο πάντως να μας χτυπήσει κάποιος δίσκος είναι πάντα υπαρκτό, οπότε πάμε να δούμε πως θα το αντιμετωπίσουμε σε περίπτωση που συμβεί αυτό στο Raid5 που φτιάξαμε στο προηγούμενο άρθρο μας.

    Καταρχήν να επισημάνουμε ότι συνήθως οι δίσκοι δεν χαλάνε από τη μία στιγμή στην άλλη. Καθώς οι σύγχρονοι δίσκοι υποστηρίζουν S.M.A.R.T., το Freenas έχει σίγουρα αντιληφθεί πολύ πριν από εμάς ότι κάτι δεν πάει καλά με κάποιον δίσκο. Καλό είναι λοιπόν σε τακτά χρονικά διαστήματα, μέσα από το Web GUI, να πηγαίνουμε στο μενού Diagnostics –>Log. Εκεί συγκεντρώνονται όλα τα logs του συστήματος. Υπάρχει λοιπόν περίπτωση εκεί να δούμε προειδοποιητικά μυνήματα..Π.χ.:

    smartd[1896]: Device: /dev/ad2, SMART Prefailure Attribute: 7 Seek_Error_Rate changed from 200 to 100

    smartd[1896]: smartd[1896]: Device: /dev/ad2, 1 Currently unreadable (pending) sectors

    Tα παραπάνω μυνήματα μαρτυρούν ότι κάτι δεν πάει καλά με τον δίσκο ad2, οπότε μάλλον θα πρέπει να προβούμε στις απαραίτητες ενέργειες… (Να σημειώσουμε εδώ ότι δεν σημαίνουν πως ο δίσκος κινδυνεύει άμεσα, καθώς στο δικό μου NAS, για παράδειγμα, έχω «1 Currently unreadable (pending) sectors» εδώ και 4 περίπου μήνες. Κακώς βέβαια, αλλά δεν έχω βρει ακόμη τον χρόνο να τον στείλω για αντικατάσταση, μιας και έχει ακόμη 1,5 χρόνο εγγύηση.  Σε κάποιον άλλο που το είχα αφήσει, μετά από κάποια μεγάλη διακοπή ρεύματος, που δεν άντεξε η μπαταρία του UPS, το Raid5 μετά την επανεκκίνηση μπήκε σε «Rebuilding» state και δεν τελείωνε ποτέ, οπότε «εξαναγκάστηκα»  να προβώ σε αντικατάσταση του δίσκου. Σε κάποιες άλλες περιπτώσεις, έχει τύχει το μηχάνημα να κάνει ακόμη και reboot σε περίπτωση που προσπαθούσες να αντιγράψεις αρχεία σε κάποιο Raid5 που είχε κάποιον προβληματικό δίσκο. Αυτό το τελευταίο σύμπτωμα, όμως, δεν σημαίνει απαραίτητα πρόβλημα του δίσκου. Μπορεί να οφείλεται και σε πρόβλημα του λειτουργικού. Την διαδικασία αποκατάστασης την περιγράφουμε παρακάτω.)

    Αν λοιπόν βρεθούμε αντιμέτωποι με κάποιο από τα παραπάνω συμπτώματα, καλό  είναι  να κανονίσουμε για αντικατάσταση του συγκεκριμένου δίσκου.   Η διαδικασία αντικατάστασης του δίσκου περιγράφεται επακριβώς στο wiki του freenas

    Παραθέτω τη διαδικασία παρακάτω:

    Q: How do I remove / replace a disk in a SoftRAID5 array?
    A:
    The instructions for replacing a dead disk can be found in the latest Setup & User Guide 0.69. Section 5.2. If the disk is not dead and you still want to replace it, you should do it from the WebGUI. Make sure you identify the correct disk so you do not make a mistake and remove the wrong one. Here is the basic procedure:

    1. Unmount the array in Disks|Mount Point|Management
    2. Remove the disk in Disks|Software RAID|RAID5|Tools.
    3. Shutdown server, remove bad disk, replace with good new disk that has been wiped clean of any old partitions or data.
    4. Boot server.
    5. The array should begin to rebuild automatically, verify state in Disks|Software RAID|RAID1|Information. If it does not start to rebuild automatically then Insert the disk/device you just replaced in Disks|Software RAID|RAID1|Tools.
    6. Mount the array again from Disks|Mount Point|Management .

    Your array will take some time to rebuild, the system will perform about 20% slower while this is happening but it is still usable.

    Όπως καταλαβαίνετε η διαδικασία είναι συγκεκριμένη και προσωπικά την έχω ακολουθήσει ακριβώς 2-3 φορές και ποτέ δεν αντιμετώπισα κανένα πρόβλημα

    Κατά την προσπάθεια να γράψω κάποια αρχεία στο Raid5, το μηχάνημα κάνει reboot!! Βοήθεια!!!

    Κατ’ αρχήν μην πανικοβάλλεστε ! Προσωπικά, την πρώτη φορά που μου έτυχε, πανικοβλήθηκα, αλλά αποδείχτηκε ότι δεν υπήρχε λόγος… Τις περισσότερες φορές που θα συμβεί αυτό, λοιπόν, το μόνο που χρειάζεται είναι ένα filesystem check. H πιο δραματική περίπτωση είναι να κάνει reboot το σύστημα σε περίπτωση που προσπαθούμε να αντιγράψουμε κάποιο αρχείο, ενώ ταυτόχρονα το raid5 μας είναι σε διαδικασία «rebuilding».  Περιμένουμε πολλές ώρες να τελειώσει το Rebuild, μήπως και φταίει αυτό για το Reboot, μετά λύπης διαπιστώνουμε ότι η επόμενη προσπάθεια αντιγραφής έχει το ίδιο αποτέλεσμα, ενώ μετά το reboot ξεκινάει πάλι το rebuilding!!!

    Πάμε λοιπόν να δούμε πως θα το αντιμετωπίσουμε:

    1. Δεν κάνουμε απόπειρα να γράψουμε κάτι στο NAS
    2. Περιμένουμε να τελειώσει η διαδικασία του rebuild
    3. Από το Web GUI πηγαίνουμε  Disks–>Mount Point –> Tools. Επιλέγουμε το mount point του raid5 που έχει πρόβλημα και του λέμε unmount.
    4. Χρησιμοποιώντας πάλι το putty , κάνουμε SSH στο NAS και σαν  root εκτελούμε την παρακάτω εντολή:

    fsck_ufs -y /dev/raid5/MYRAIDp1

    Το fsck σημαίνει filesystem check, η παράμετρος -y του λέει να απαντάται αυτόματα yes σε όλες τις ερωτήσεις περί διορθώσεων, ενώ το /dev/raid5/MYRAIDp1 είναι το path για το Raid5 array μας. Περιμένουμε να τελειώσει (θα κάνει αρκετή ώρα) και ξαναδίνουμε την ίδια εντολή άλλη μια φορά.  Τέλος (overkill) τη δίνουμε και μια τρίτη φορά. Ουσιαστικά, το σύστημα θα είναι ΟΚ, όταν μετά το τελείωμα του fsck πάρουμε μήνυμα «file system marked clean».

    Αυτό ήταν! Μπαίνουμε τώρα πάλι στο Web GUI, Disks–>Mount Point –> Tools. Επιλέγουμε το mount point του raid5 που πριν κάναμε unmount και του λέμε mount. Κατόπιν δοκιμάζουμε να κάνουμε πάλι αντιγραφή και βλέπουμε χαρούμενοι ότι λύσαμε το πρόβλημα.

    Κάπου εδώ ολοκληρώθηκε και το τελευταίο μέρος των άρθρων για το freenas.

    Σε επόμενο άρθρο θα δούμε το μέλλον του freenas, καθώς λόγω του ότι η εταιρία που ανέλαβε να εξελίξει το freenas 0.7.x το μετονόμασε σε Freenas 8,  και τελικά αποφάσισε ότι είναι καλύτερο να διαχωριστούν αυτά τα 2 project. Έτσι προέκυψαν το Freenas 8 και το  Nas4Free. Η ουσιαστική συνέχεια του freenas που παρουσιάσαμε εδώ είναι το Nas4Free, το οποίο όμως είναι ακόμη σε φάση beta. Πάντως όποιος χρησιμοποιεί το freenas 0.7.x δεν έχει πάει ο κόπος του χαμένος, καθώς, όπως φαίνεται, η αναβάθμιση είναι πολύ απλή.

    Επίσης θα δούμε και μια εναλλακτική πρόταση για Open Source NAS  λειτουργικό, η οποία βασίζεται σε Debian Linux και ακούει στο όνομα OpenMediaVault ενώ προέρχεται από τον αρχικό developer του freenas, ο οποίος αποφάσισε  να αφήσει το FreeBSD και να πάει σε Linux.

    One Response to “Δημιουργία NAS με Freenas (part 3)”

    1. Garland

      Im subscribing. Good resources here!! I’ll immediately take the rss feed. Kudos!