NAS (and Home Server) version 4 (part 3)

(μην ξεχάσετε να διαβάσετε τα 2 προηγούμενα)

Πρώτα από όλα η αλλαγή θα είναι (σχεδόν) εξ’ ολοκλήρου σε software. Δεν θα είναι αλλαγή hardware.
Οι μόνες αλλαγές που θα γίνουν, είναι
(α) Να μεταφέρω το license του unRAID σε ένα κάπως μεγαλύτερου χώρου (για άνεση, στην πράξη και τα 2GB είναι μια χαρά) και μικρότερου όγκου (για να μην εξέχει πολύ αφού θα είναι μόνιμα επάνω).
(β) Να βάλω επάνω στο μηχάνημα (ports υπάρχουν) έναν SSD για να εξυπηρετήσει το caching + το να τρέχουν από εκεί Docker containers και VMs.
(γ) Κάποια στιγμή οι δυο δίσκοι που “περισσεύουν” (500άρης με OS και running data + 1TB backup), θα βγουν για να μπουν στη θέση τους μεγαλύτεροι για να αυξηθεί ο χώρος του array. (ο χώρος στο κουτί είναι για 12 x 3.5″ δίσκους – ενώ το 2.5″ caching θα βιδωθεί κάπου στο κουτί)

Όμως πέρα από το unRAID που από μόνο του ΔΙΝΕΙ κάποιες λειτουργίες πέρα από το να είναι array… τι άλλο θα βάλω για να καλύψω ότι έκανε ο SBS2011;
Αρχικά έψαξα μπας και τη γλυτώσω με σπαρτιάτικα Docker containers. Όχι. Μακριά από πλήρη κάλυψη. Οπότε θα μπει στο χορό και κάποιο virtual machine.
Υπάρχουν λύσεις Open Source. Έκανα evaluate 4-5. Ξέμειναν 3, ClearOS, NethServer, Zentyal (αλφαβητικά). Γρήγορα έφυγε και το ClearOS. Η τωρινή “πάλη” είναι μεταξύ των δυο. Έχει γίνει αρκετό evaluation (έχουν ξαναστηθεί 2-3 φορές το καθένα)… Έχω αρχίσει να καταλήγω.

Όλα δείχνουν ότι θα πάω στο NethServer. Το γιατί, θα το αναλύσω, αλλά ας δούμε όμως πρώτα τι θα καλύψει το unRAID από μόνο του.

unRAID

Το unRAID, από την εποχή που το ξαναχρησιμοποιούσα, όπως είπα άλλαξε πολύ.
Από ένα ερασιτεχνικό “fan” project που ο προγραμματιστής του είχε βιαστεί να το κάνει commercial, έχει γίνει ένα προϊόν που υπάρχουν εταιρίες που το εμπιστεύονται πια.
Σαν features, ο πυρήνας του και η λογική του δεν έχει αλλάξει τρομερά (είναι κατά βάση μια flexible RAID4 λύση), αλλά τελικά έχει ασπαστεί τη φιλοσοφία των plug-ins (πράγμα για το οποίο ήμουν ένας από αυτούς που είχαν αγωνιστεί 10+ χρόνια πίσω να γίνει και είχα γίνει και κακός – αλλά ΑΛΛΗ ΜΙΑ ΦΟΡΑ, story of my life – έγινε ότι έλεγα ότι πρέπει να γίνει… έχω τουλάχιστον 2-3 άλλα παραδείγματα σε άλλα προϊόντα που το έχω “ξαναπάθει” αυτό). Ότι προσφέρει αυτή τη δυνατότητα αλλάζει ΤΕΛΕΙΩΣ το σύστημα. Αν βάλουμε ότι πίσω από την plug-in δυνατότητα, δίνει δυνατότητα για Docker containers αλλά και full Virtual Machines, καταλαβαίνει κανείς ότι ανάλογα πόσο αντέχει το μηχάνημα μπορεί κάποιος να κάνει ότι θέλει. Πχ. θα μπορούσα να ξαναστήσω τον SBS2011 μέσα σε VM αν ήθελα.

Ας δούμε για τι πράγματα θα χρησιμοποιήσω το unRAID “αμιγώς”…

  • Πρώτα από όλα το file sharing θα γίνει εννοείται από εκεί (αυτό είναι όλο το νόημα). Μάλιστα όπως φαίνεται υπάρχει δυνατότητα τα permission να είναι από Active Directory, πράγμα που μάλλον θα χρησιμοποιήσω. Το που θα βρω Active Directory το συζητάμε αλλού.
  • Το backup όποιων πραγμάτων πρέπει να γίνονται backup, θα το αναλάβουν plug-ins του unRAID.
  • Φαίνεται να υπάρχουν Dockers για Drobox sync, αν και μάλλον θα παίξει κάποια πιο γενική λύση cloud sync, όπως το RClone.
  • Φαίνεται να υπάρχουν plug-ins σχετικά με duplicate discovery (μου είναι απαραίτητο), μέσω hash checking βέβαια.
  • Μάλλον γίνεται να έχω JDownloader2 στο unRAID! (πάλι Docker!)
  • Υπάρχει εννοείται ενσωματωμένο file transfer (για να γίνονται τοπικά πράγματα που δεν χρειάζεται να εμπλέκεται PC).
  • Υπάρχει δικό του FTP.
  • Υπάρχουν διάφορα plug-ins για media services (πχ. Plex) και φυσικά θα διερευνηθεί το θέμα για την καλύτερη περίπτωση.
  • Υπάρχει torrent client σε plug-in.

Η όλη διαχείριση γίνεται από web.

Όμως τι γίνεται με όλα τα άλλα που μπορούσα να κάνω στον SBS2011 που τελικά ήταν ένα Windows desktop με όλες τις ευκολίες του; Εκεί θα αναλάβει τα ηνία κάποιο (ή κάποια) Virtual Machine. Με αρχηγό όπως φαίνεται το…

NethServer

Ο NethServer νίκησε στο… νήμα το Zentyal, για να αναλάβει το κομμάτι των services που έχω καλομάθει να έχω τοπικά (αν και ξέρω την τάση να φεύγουν όλα στο cloud – όμως το μηχάνημα υπάρχει ήδη, το Internet του σπιτιού είναι πια μια χαρά και δεν θέλω περαιτέρω κόστη).

Ας δούμε τι θα κάνει ο NethServer και μετά βλέπουμε γιατί νίκησε στο νήμα το Zentyal (αλλά μετά τη γραμμή τερματισμού συνεχίζει να μεγαλώνει την απόσταση από τον αντίπαλο του)!

  • Προσφέρει πλατφόρμα Chat. Για την ακρίβεια πλατφόρμες Chat. Προσφέρει το κλασικό Jabber, αλλά προσφέρει και Mattermost που επιτρέπει full collaboration σαν το Slack ή το Microsoft Teams.
  • Προσφέρει (ΒΑΣΙΚΟ), Active Directory. Γίνεται κανονικά Domain Controller (Samba 4), οπότε τα Windows 10 Pro μηχανήματα μου θα συνεχίσουν να έχουν κεντρική διαχείριση access (θα γίνει profile migration). Οι δυνατότητες είναι βασικές, αλλά φαίνεται να υπάρχουν extensions από άλλους που εμπλουτίζουν τη διαχείριση.
  • Για ότι αφορά τις δυνατότητες του Exchange, αυτές έρχονται με δυο τρόπους και μάλλον θα χρησιμοποιήσω το δεύτερο, που στις δοκιμές μου φάνηκε πιο πλούσιος. Υπάρχει και “σκέτο” email μέσω RoundCube που είναι αγαπημένο των Linuxάδων, αλλά δεν θα το πλησιάσω (το δοκίμασα), δεν είμαι τόσο μαζοχιστής.
    • SOGo. Μια συμπαθέστατη πλατφόρμα email, με Contacts και Calendar, αλλά και ActiveSync. Φυσικά και web access πέρα από POP/IMAP.
    • WebTop5. Μια ακόμα πιο συμπαθής πλατφόρμα. Έχει ότι η παραπάνω, σε πιο “πλούσιο” βαθμό. Παίζει να έχει και δικό της chat (δεν το έχω βρει ακόμα) και ίσως και με video! (ίσως δεν υπάρχει στο Team edition)
  • Σε συνέχεια των δυνατοτήτων του Exchange, υπάρχει Anti-Spam, υπάρχει Anti-Virus (ClamAV), υπάρχει mail connector (χρησιμοποιούσα τον POP Connector του SBS2011), υπάρχει δυνατότητα Smarthost. Υπάρχει και δυνατότητα Graylist που δεν είχε ο Exchange.
  • Τέλος δίνονται αρκετά (όχι όσο πλούσια θα ήθελα) network services, όπως DNS (φτωχό, α λα router) και DHCP. Αν και το δεύτερο ίσως δεν το δουλέψω πια (και βάλω το router να κάνει τη δουλειά όπως όλοι). Το συγκεκριμένο θέμα θα το ψάξω περισσότερο, ίσως βρω καταλληλότερα plug-ins του unRAID ή και χωριστό VM (pfSense). Δεν σκοπεύω να χρησιμοποιήσω το NethServer για firewall, proxy κλπ. αν και έχει και τέτοιες δυνατότητες.

Πολλά από τα παραπάνω τα προσφέρει και το Zentyal. Αλλά στήθηκαν και τα δυο σε VM, δοκιμάστηκαν μέρες και ενώ η αρχική μου τάση ήταν στο Zentyal (είναι πιο “όμορφο” και εύκολο), θα πάω προς NethServer. Εδώ παραθέτω τα στοιχεία σύγκρισης που ασχολήθηκα. Δεν ήταν πλήρης σύγκριση, αλλά μόνο σε στοιχεία που ενδιέφεραν εμένα. Όμως και πάλι είδα ότι και σε αυτά που δεν χρησιμοποιώ, ο NetServer έδινε περισσότερα. Για να δούμε μια μικρή σύγκριση των δυο λοιπόν…

  • Το Zentyal έχει πολύ πιο “σωστό” web interface. Ωραία χρώματα, χωρίς υπερβολές και τα περισσότερα πράγματα είναι εκεί που πρέπει. Ο NethServer έχει δυο web interfaces. Το παλιό που είναι περισσότερο σαν μια μεγάλη λίστα με options αριστερά και το νέο που χρησιμοποιεί μεγαλύτερο βάθος από παρακλάδια, αλλά δυστυχώς δεν είναι ακόμα μοιρασμένα όπως πρέπει και γενικά θέλει δουλειά. Υποθέτω αυτό θα βελτιωθεί γιατί τώρα ήταν το πρώτο release με αυτό το interface ενεργό για όλους. Ωστόσο υπάρχει το φαινόμενο ότι υπάρχουν features που τα βρίσκεις άνετα στο παλιό και στο νέο μπορεί και να μη τα βρεις καθόλου, αλλά και το αντίθετο (νέα “apps” έχουν προστεθεί μόνο στο νέο). Επίσης στο νέο interface υπάρχουν και πράγματα σε ΑΣΧΕΤΑ σημεία! Ωστόσο λειτουργικά κάνεις ότι χρειάζεσαι, απλά μπορεί να χρειαστεί βόλτα προς το παρόν και στα δυο interfaces. Παρ’ όλη την δικαιολογημένη γκρίνια στο interface του NethServer, το νέο του GUI, προσφέρει και κάποια πράγματα που δεν προσφέρει καθόλου το Zentyal (εκτός αν μπεις με ssh που έτσι κι αλλιώς έχει και το άλλο). Πρώτα από όλα έχει κονσόλα εκεί μέσα στο web interface του! Δεν χρειάζεσαι ssh! Επίσης όλα τα logs είναι σε λίστα και τα βλέπεις άνετα.
  • Το Zentyal επίσης έχει και πιο “streamlined” Active Directory configuration. Βλέπεις το directory, βάζεις πράγματα, μπορείς να φτιάξεις units κλπ. Το NethServer αν και το έχει “κάτω από το καπό” (εξάλλου και οι δυο με Samba 4 παίζουν), δεν στο δείχνει, αλλά αν θες “βάθος” υπάρχουν κάποια plug-ins να βοηθήσουν.
  • Εκεί είναι και το μεγάλο κόλπο του NethServer. Πολύ περισσότερα plug-in apps. Είναι πολύ πιο πλήρες. Τα παραπάνω του Zentyal είναι ότι έχει RADIUS (δεν μου χρειάζεται), έχει καλύτερο DNS (θα ήθελα, είναι η μεγαλύτερη έλλειψη), έχει πραγματικό Certificate Authority (επίσης σημαντικό σχετικά, στα δικά μου setup). Αλλά κάπου εκεί τελειώνει το Zentyal. Ο NethServer έχει πραγματικά περισσότερα services (από FAX, μέχρι 2-3 groupware και private cloud). Μάλιστα (και κάπου εκεί τελείωσε το θέμα για μένα) φαίνεται ότι ο Zentyal είναι επικεντρωμένος στους developers του, ενώ ο NethServer (όπως και το unRAID που είναι από κάτω του) επιτρέπει την προσθήκη (δυστυχώς μέσω κονσόλας ακόμα) άλλων “repositories” και άλλοι προγραμματιστές έχουν εμπλουτίσει ΠΟΛΥ το σύστημα. Εγώ θα χρησιμοποιήσω τουλάχιστον 2-3 επιπλέον plug-ins που δεν δίνονται καν στο “core” NethServer.

Οπότε φτάνουμε στο δια ταύτα. Κάποιες τον ημερών θα αρχίσει μια διαδικασία που περιγράφεται περιληπτικά (χωρίς τα έκτακτα) ως εξής:

  • Σήκωμα των βασικών email accounts σε PST μέσω Outlook.
  • (Δεν χρειάζεται backup αρχείων γιατί οι δίσκοι που χρησιμοποιεί ο SBS θα παραμείνουν μέχρι νεωτέρας στο μηχάνημα και θα μπορούν να γίνουν mount στο unRAID για διάβασμα ή και να ξαναbootάρει ο SBS αν χρειαστεί).
  • Βασικό στήσιμο unRAID. Βάζω τα βασικά docker container και ένα VM με το NethServer.
  • Βασικό στήσιμο του NethServer.
  • Profile migration σε νέο domain για τα PC (υπάρχει εργαλείο).
  • Αφού έχω (εκτός απροόπτου) βασικό “δίκτυο” με email, domain και κάποια βασικά services, βάζω το Outlook να συνδεθεί και “ρίχνω” πίσω από τα PST τα mail στο νέο server (μάλιστα φαίνεται να υπάρχει και script που το κάνει!). Αυτό ήταν βασικό για εμένα (και με σταμάτησε από πολλά Internet based mail services), αφού έχω πιάσει ΕΠΑΝΕΙΛΗΜΜΕΝΑ τον εαυτό μου να ψάχνει mail ίσως και 10 ετών πίσω (κάποιου πελάτη, κάποιας αγοράς, οτιδήποτε) και δεν θέλω να το χάσω. Ο όγκος δεν είναι τόσο μεγάλος, αλλά είναι αρκετά μεγάλο για ιδιωτικά hosting (δηλαδή θα με κάλυπταν μόνο cloud services από Google ή Microsoft, που σήμαινε ετήσιο κόστος).
  • Σιγά σιγά πέρασμα ένα ένα δίσκο του παλιού array. Mount το NTFS, πέρασμα του content σε δίσκο του array, φορμάρισμα του NTFS, πέρασμα στο array – μέχρι να τελειώσουν οι 10 δίσκοι.
  • Οι δυο τελευταίοι (SBS + live data + bare metal backup), πιθανά θα φύγουν μετά από καιρό όταν εμπιστευτώ το νέο σύστημα και θα δοθεί χώρος για άλλους 2 δίσκους στο array.

Αυτό είναι το τελευταίο άρθρο που αφορά τη σχεδίαση και επιλογή του νέου NAS/home-server και μάλλον θα υπάρξουν επόμενα (όπως παλιότερα) που αφορούν την πραγματική υλοποίηση.

Stay tuned.

(2019-10-16 – μικρό update)