Ο
ι περισσότεροι χρήστες χρησιμοποιούν τον προσωπικό
υπολογιστή τους, προκειμένου να εκτελούν τις εργα-
σίες τους πιο εύκολα και γρήγορα. Άλλοι όμως, πιο
«
ψαγμένοι» χρήστες, διαμορφώνουν με τον καιρό ένα δίκτυο
υπολογιστών για ποικίλους λόγους. Το πιο σύνηθες, πια, είναι
ένα οικιακό δίκτυο που περιλαμβάνει 1 ή 2 προσωπικούς υπο-
λογιστές, ένα «κατεβαστήρι», ένα HomeTheaterPC, ίσως και
έναν file server. Κάθε δίκτυο διαμορφώνεται ανάλογα με τις
ανάγκες του καθενός, ενώ άλλοι μπορεί λόγω της δουλειάς
τους να έχουν αρκετούς servers ανά τον κόσμο και ουσιαστι-
κά δημιουργούν ένα δίκτυο για να τους διαχειρίζονται κεντρι-
κά/συνολικά. Κάθε κόμβος (node) σε ένα δίκτυο τρέχει κά-
ποια διανομή και ανάλογα με τη χρήση, η διανομή διαφέρει
από κόμβο σε κόμβο, στον κόσμο του Linux.
Η διαχείριση ενός δικτύου, λοιπόν, που μπορεί να αφορά
από την απλή αντιγραφή αρχείων μέχρι updates στο OS κάθε
κόμβου, γίνεται κουραστική εάν ο διαχειριστής είναι υποχρε-
ωμένος να ασχολείται ξεχωριστά με κάθε κόμβο και να εκτε-
λεί τις λειτουργίες που θέλει. Αντίθετα, θα μπορούσε να είναι
πολύ πιο εύκολη η διαχείριση του οικιακού δικτύου του, χρη-
σιμοποιώντας το Puppet, ένα εργαλείο που επιτρέπει την κε-
ντρική διαχείριση ενός δικτύου υπολογιστών, παρέχοντας
έτσι τη δυνατότητα εξοικονόμησης χρόνου και κόπου.
Αναλυτικότερα, το Puppet είναι ένα ανοικτού κώδικα εργα-
λείο που διευκολύνει τη διαχείριση ρυθμίσεων μεταξύ πολλών
κόμβων (nodes) και είναι γραμμένο στη γλώσσα προγραμμα-
τισμού Ruby. Επιτρέπει εντολές για system administrating και
μπορείτε συνεπώς να κάνετε αλλαγές στο δίκτυό σας, το
cluster σας, αλλά και να διαχειριστείτε το λογισμικό που τρέ-
χει σε καθένα από τα μηχανήματά σας. Πολλοί admins το
χρησιμοποιούν για να αυτοματοποιήσουν τις εργασίες στο δί-
κτυο των servers τους.
Δηλαδή είναι ένα εργαλείο αυτοματοποιημένων αλλαγών-
ρυθμίσεων, που επιτρέπει και διευκολύνει την κεντρική διαχεί-
ριση των *nix συστημάτων σε ένα δίκτυο. Συγκεκριμένα, με το
Puppet μπορείτε «κεντρικά» να διαχειριστείτε ποικίλους το-
μείς των συστημάτων, όπως αρχεία, πακέτα, χρήστες,
services, cron, mounts κ.ά. Στο συγκεκριμένο άρθρο θα ανα-
φερθούμε στη διαχείριση ενός LAN με το Puppet.
Ο σκοπός του Puppet, με άλλα λόγια, είναι να μειώσει την
πολυπλοκότητα και τη μη-μεταφερσιμότητα του shell scripting
στη διαχείριση συστημάτων Unix/Linux.
Για παράδειγμα, αν ο διαχειριστής του δικτύου θέλει να
εγκαταστήσει την PostgreSQL, αυτή η διαδικασία θα γίνει σχε-
δόν εξ ολοκλήρου αυτοματοποιημένα, χωρίς να έχει σημασία
το αν οι διανομές που τρέχουν στα συστήματά του είναι
Fedora ή Ubuntu ή Arch.
Αυτό το εργαλείο αποτελείται από δύο διαφορετικά κομμά-
τια: τον puppetmaster (ο server component του puppet, από
τον οποίο ο admin διαχειρίζεται τους υπόλοιπους κόμβους)
και τα puppet clients (οι «puppeted» υπολογιστές, οι κόμβοι
που διαχειρίζονται και ρυθμίζονται από τον puppetmaster).
Αφού αναφερθήκαμε στα πιο σημαντικά στοιχεία γενικά για
το Puppet, ας δούμε στην πράξη πώς μπορούμε να το εγκα-
ταστήσουμε και να το χρησιμοποιήσουμε στο δικό μας LAN.
Προκειμένου να λειτουργήσει σε κάθε συσκευή του LAN,
ώστε να μπορούμε να τη διαχειριστούμε, το Puppet πρέπει να
συνδεθεί με κάθε συσκευή (με SSH ή telnet), να γίνει
authentication, να ελέγξει τη δεδομένη κατάσταση της συ-
σκευής και να κάνει τις απαραίτητες αλλαγές προκειμένου να
τη φέρει στην επιθυμητή κατάσταση, αφού εκτελέσει τις απα-
ραίτητες λειτουργίες. Το Puppet πρέπει να κάνει τις προανα-
φερθείσες λειτουργίες, ώστε να υπάρξει μία εφαρμογή που
ονομάζεται «puppet device», με την οποία ο administrator
μπορεί να διαχειριστεί εύκολα κάθε συσκευή στο δίκτυό του.
Αυτή η εφαρμογή θα πρέπει να τρέχει σε κάθε node και δρα
ως ένας «smart proxy» μεταξύ του puppetmaster και των δια-
χειριζόμενων συσκευών. Προκειμένου να επιτευχθεί αυτό, κά-
θε puppet device θα συνδέεται διαδοχικά με τον puppetma-
ster και θα κάνει ένα request για έναν κατάλογο, ο όποιος θα
Linux Inside
80
Συμβουλή
Το Puppet, προκειμένου να παρουσιάσει μία πληθώρα επιλογών
στο διαχειριστή του δικτύου, του δίνει τη δυνατότητα να δημιουργεί
τα δικά του «αρχεία διαχείρισης», που ταιριάζουν στο δίκτυό του,
τα λεγόμενα puppet manifest files. Ουσιαστικά, είναι αυτά που κα-
θιστούν το Puppet μία «έξυπνη μηχανή», η οποία διαχειρίζεται και
ελέγχει την κατάσταση του δικτύου.
Κάθε συσκευή που είναι συνδεμένη στο Puppet,
έχει το δικό της certificate στο «οικοσύστημά»
του. Αυτό εγγυάται την ασφάλεια του συνόλου
της υποδομής και επιτρέπει την ανάκληση των
συσκευών, εφόσον αυτό χρειάζεται.
Του Κωνσταντίνου Λιβιεράτου <koslibpro@klivieratos.info>
Linux Labs – Puppet
Ποιος είπε ότι η διαχείριση του οικιακού δικτύου
σας δεν είναι απλό πράγμα; Δείτε πώς μπορείτε να
κάνετε τα πάντα σε οποιονδήποτε υπολογιστή, με
πολύ απλά βήματα, χωρίς καν να σηκώνεστε από
την καρέκλα...
Τεκμηρίωση
Έξυπνη διαχείριση LAN με το Puppet
Ο Κώστας είναι λάτρης του ανοικτού λογισμικού και του αρέσει να δοκιμάζει προγράμματα στις διανομές του.
Εργαλεία:
Puppet
Δυσκολία:
URL:
com
Tip
Το παράδειγμά μας μπορεί να εφαρμοστεί στις Debian-based δια-
νομές, που χρησιμοποιούν ως σύστημα διαχείρισης πακέτων το
apt-get. Φυσικά, όλα αυτά μπορούν να χρησιμοποιηθούν και σε άλ-
λες διανομές, όπως Fedora ή Arch, με τις κατάλληλες αλλαγές για
την εγκατάσταση πακέτων (yum και pacman στα συγκεκριμένα πα-
ραδείγματα).