Sunday, January 6, 2013

Windows Rants και ένα εργαστήριο με FreeBSD Samba Server

Κάθε χρόνο στις γιορτές έχω το χρόνο να ασχοληθώ και να συντηρήσω το εργαστήριο και τους υπολογιστές της γραμματείας του παραρτήματος Χανίων του ΚΕΚ ΔΕΛΤΑ. Έτσι και φέτος, ξεκίνησα με μια απόφαση: να αποσύρω τον Windows 2003 Server και να τον αντικαταστήσω με ένα Samba server σε FreeBSD 9.1-RELEASE. Οι ανάγκες του συγκεκριμένου δικτύου άνετα καλύπτονται πλέον με Samba σε domain controller configuration και τα επιπλέον licenses που χρειαζόμαστε για το 2003 είναι πεταμένα λεφτά...

Ιστορικά στοιχεία

Ξεκίνησα να συντηρώ το παράρτημα της συγκεκριμένης σχολής από τις πρώτες μέρες της λειτουργίας της στα Χανιά, κάπου το 1995-96. Την εποχή εκείνη τα μηχανήματα τους ήταν παλιά (τα είχαν φέρει από άλλο παράρτημα) και είχαν διάφορα προβλήματα. Όταν μετακόμισαν κάπου το 1999-2000 στο νέο τους κτήριο, ανέλαβα να τους φτιάξω από την αρχή ένα δίκτυο με νέα μηχανήματα και εξοπλισμό. Το αρχικό εκείνο δίκτυο βασίστηκε σε:

  • Windows 2000 Server
  • Windows 2000 Professional για τους σταθμούς εργασίας
  • Λίγα παλιά μηχανήματα με Windows 98 (!)

Την εποχή εκείνη είχα ήδη καλή επαφή με το Linux, ωστόσο μετά από πολλές δοκιμές κατέληξα στο συμπέρασμα ότι το συγκεκριμένο δίκτυο θα εξυπηρετούνταν πολύ καλύτερα από ένα Windows Server. Και πράγματι, ο 2000 Server (που αργότερα αντικαταστάθηκε από το 2003) είχε πολλά πλεονεκτήματα: αναφέρω για παράδειγμα τη δυνατότητα assign και publish εφαρμογών - αρχεία msi και mst - για αυτόματη εγκατάσταση τους στους σταθμούς εργασίας.

Το αρχικό εκείνο δίκτυο είχε καλά μηχανήματα για την εποχή τους - Pentium III 866Mhz. Υπήρχαν δύο εργαστήρια και συνολικά περίπου 30 μηχανήματα μαζί με τα γραμματειακά.

Ο καιρός όμως πέρναγε, τα μηχανήματα πάλιωναν, τα 2000 Professional έπαψαν να καλύπτουν τις ανάγκες (μετά από πολύ καιρό είναι αλήθεια) και κάποιες δοκιμές με XP δεν ήταν ιδιαίτερα... ενθαρρυντικές στο υπάρχον hardware. Καθώς διάφορα PC χάλαγαν και δεν μπορούσαν να επισκευαστούν, τα αντικαθιστούσαμε με πιο νέα μηχανήματα. Η ομοιογένεια του υλικού και του λογισμικού της αρχικής εγκατάστασης είχε πάει περίπατο.

To 2012 λήφθηκε η απόφαση για τη δημιουργία νέου εργαστηρίου 20 υπολογιστών με σύγχρονο λογισμικό. Τα παλιά μηχανήματα - όσα ήταν ακόμα λειτουργικά - θα μεταφέρονταν σε δεύτερο βοηθητικό εργαστήριο, με την προυπόθεση να μπορούν να τρέξουν XP. Το νέο εργαστήριο θα βασίζονταν σε Windows 7 64bit. Και εδώ αρχίζουν τα προβλήματα.

  • Τα Windows 2000 ήταν δύο εκδόσεις: Η Professional που έχει τα πάντα για ένα σταθμό εργασίας και ο Server που προορίζεται για... server. Τα Windows 7 είναι σε αρκετές εκδόσεις, αυτές δε που συμφέρουν είναι τεχνητά περιορισμένες να μην έχουν βασικές δυνατότητες. Για παράδειγμα η έκδοση Home Premium δεν υποστηρίζει σύνδεση μέσω remote desktop και φυσικά δεν υποστηρίζει domain logins.
  • Όπως αποκαλύφθηκε, εν έτει 2012 υπάρχει ακόμα πλήθος εφαρμογών που δεν μπορούν να εκτελεστούν με δικαιώματα χρήστη, απαιτώντας Administrator access. Μέσος χρόνος ζωής μηχανήματος με administrator access χωρίς κάποιο πρόγραμμα τύπου deep freeze: Μισή ώρα.
  • Δεν θέλω καν να μπω στη διαδικασία των ενεργοποιήσεων, ελέγχων κλπ που είναι ένα μαρτύριο που τραβάνε μόνο οι χρήστες που έχουν πληρώσει: οι υπόλοιποι τρέχουν τα έτσι και αλλιώς πειρατικά τους προγράμματα και γελάνε με την MS.

Το νέο εργαστήριο

Για λόγους κόστους (είναι περίεργες οι εποχές) αποφασίστηκε να χρησιμοποιηθούν τα Windows 7 Home Premium 64 bit. Χάνουμε έτσι το domain login (το οποίο όμως παραμένει στα παλιότερα μηχανήματα με XP) αλλά αυτό έτσι και αλλιώς δεν ήταν πολύ χρήσιμο στα εκπαιδευτικά μηχανήματα. Το μόνο που χρειάζεται πρακτικά είναι καθένα από αυτά να κάνει autologin με ένα διαφορετικό λογαριασμό και το home directory να γίνεται map από το server στην εκκίνηση του περιβάλλοντος. Αυτό είναι πολύ εύκολο και δεν αποτελεί πρόβλημα: όσο τα user credentials ταιριάζουν στο μηχάνημα και το server, η πρόσβαση στα shares γίνεται χωρίς πρόβλημα.

Μετά το αρχικό στήσιμο του εργαστηρίου, τα Windows 7 συνδέθηκαν με αυτό τον τρόπο στον 2003 Server ενώ το παλιότερο εργαστήριο XP παρέμεινε στο domain. Καθώς ο ρόλος του 2003 server ήταν πλέον πολύ πιο περιορισμένος, συμφωνήσαμε κάποια στιγμή να αλλαχθεί με ελεύθερο λογισμικό. Εξάλλου είχαμε ήδη ξεπεράσει τα αρχικά CALs. Και όπως πάντα, τέτοιες μαζικές αλλαγές γίνονται στις γιορτές, όπου και εγώ έχω χρόνο και η σχολή είναι κλειστή.

Η Αντικατάσταση του Server

Υπήρχε ήδη ένας FreeBSD Server στη σχολή! Τον είχα εγκαταστήσει αρκετά παλιά για να κρατάει backup στα δεδομένα του 2003 και να μπορεί να αναλάβει βασικές λειτουργίες σε περίπτωση σοβαρής βλάβης του 2003. Τόσο ο 2003 όσο και ο υπάρχον FreeBSD server λειτουργούσαν με mirror. To mirror του FreeBSD παρέδωσε πνεύμα (ο ένας δίσκος) κάπου το Νοέμβρη. Συνέχιζε να λειτουργεί με τον ένα δίσκο φυσικά, αλλά σκοπός ήταν στη διάρκεια της συντήρησης να βρεθεί κάπου ένας δίσκος αντίστοιχης χωρητικότητας και τεχνολογίας (το μηχάνημα είναι Pentium III!) για να αντικατασταθεί. Αυτό πράγματι επιτεύχθηκε την πρώτη μέρα της συντήρησης.

Αντίθετα, το hardware του 2003 Server είναι επαρκώς σύγχρονο (Core2Duo) με SATA δίσκους και Intel Network Card. Στο μηχάνημα αυτό εγκαταστάθηκε το FreeBSD 9.1-RELEASE 64bit. Στην εγκατάσταση του χρησιμοποιήθηκαν τα παρακάτω:

Για ευκολία, η εγκατάσταση έγινε αρχικά στο σπίτι σε VMWare και αφού ρυθμίστηκε σύμφωνα με τις βασικές ρυθμίσεις του 2003 που θα αντικαθιστούσε (και δοκιμάστηκε φυσικά σε άλλο virtual client), έγινε dump και restore στο πραγματικό μηχάνημα. Έτσι χρειάστηκε πολύ λίγος χρόνος για επιπλέον παραμετροποίηση (πρακτικά μόνο η δημιουργία λογαριασμών χρηστών/μηχανημάτων.

Αφού έγινε backup ο παλιός server σε ένα atomaki που κουβαλάω μαζί μου για τέτοιες περιπτώσεις, έσβησα τα πάντα, έκανα restore από το dump, βασικές ρυθμίσεις και αντιγραφή ξανά των δεδομένων.

Δημιουργήθηκαν έπειτα οι χρήστες του εργαστηρίου και έγιναν map τα κατάλληλα shares σε κάθε υπολογιστή. Στο παλιό εργαστήριο, τα μηχανήματα βγήκαν από το παλιό domain και συνδέθηκαν στο νέο χωρίς κανένα πρόβλημα.

Όχι ένας, αλλά δύο!

Δύο FreeBSD servers φυσικά! Γιατί υπάρχει και ο παλιός Pentium III o οποίος πλέον:

  • Έχει ρόλο δεύτερου DNS σαν slave του κύριου server.
  • Παίρνει backup τα δεδομένα μέσω rsync.
  • Μπορεί ξανά να παρέχει βασικές υπηρεσίες και πρόσβαση στα δεδομένα της γραμματείας σε περίπτωση βλάβης του κύριου server.

Φωτογραφικό υλικό

Ακολουθεί φωτογραφικό υλικό απο τα μηχανήματα και τη διαδικασία.

Δοκιμαστικό restore του atlantis στο atom για να ελεχθεί το dump.

Πολύ ευχαριστημένος, ο phoenix με καινούριο δίσκο στο mirror και το gmirror να αναφέρει "complete".

O atlantis λίγο μετά το καθάρισμα του hardware από τη σκόνη και λίγο πριν το "καθάρισμα" του 2003 Server από τους δίσκους!

Δημιουργία των partitions με το gpart, λίγο πριν το restore. Η διαδικασία έγινε με τη λειτουργία Live CD που παρέχει το FreeBSD 9.X

To atomακι με το ενσωματωμένο τροφοδοτικό να έχει παραδώσει το πνεύμα. Για άλλη μια φορά.

Αν δεν θέλετε να φάτε όλη τη μέρα αντιγράφοντας δεδομένα, βγάλτε το καλώδιο δικτύου από το πάνω switch και βάλτε το στο κάτω :)

Μικρός και μεγάλος δαίμονας σε δράση! Atlantis και Phoenix στις τελικές τους θέσεις.

ΟΚ, το τερματίσαμε!

Καλή Χρονιά!