Ο LCFG server μεταγλωτίζει τα source files που περιγράφουν τις ρυθμίσεις του κάθε μηχανήματος και έτσι παράγει το αντίστοιχο XML αρχείο για το κάθε μηχάνημα. Το προφίλ ενός μηχανήματος μπορεί να κάνει χρήση άλλων αρχείων που ενεργοποιούν κάποιες άλλες ρυθμίσεις οι οποίες να αντιστοιχούν σε μια ομάδα μηχανημάτων. Αυτό γίνεται με τη χρηση του include στο προφίλ ακολουθόμενο από τον κατάληλο header που περιέχει τις ρυθμίσεις. Για παράδειγμα μπορούμε να χρησιμοποιήσουμε έναν header για να θέσουμε το μηχάνημα μας PostgreSQL server:
#include <lcfg/options/postgresql-server.h>
Επίσης γίνεται χρήση headers για τις ρυθμίσεις του hardware:
#include <lcfg/hw/dell_optiplex_gx620.h>
Με την χρήση των headers που χρησιμοποιεί το κάθε μηχάνημα μπορούμε να οργανώσουμε τα μηχανήματα σε ομάδες. Για παράδειγμα μπορούμε να έχουμε έναν header που θα ορίζει τα iptables για όλα τα μηχάνηματα στο εργαστήριο 1 και έναν άλλον header για τα μηχανήματα στο εργαστήριο 2. Εάν χρειαστεί να αλλάξουμε κάποιο rule για τα μηχανήματα του εργαστηρίου το μόνο που χρειάζεται είναι να αλλάξουμε τον header. Εάν μετακίνησουμε ένα μηχάνημα από το ένα εργαστήριο στο άλλο, τότε απλά αντικαθιστούμε τον header. Υπάρχει και η δυνατότητα να αλλάξουμε ένα συγκεκριμένο rule για ένα μηχάνημα χρησιμοποιώντας τα κατάλληλα resources του αντίστοιχου component (lcfg-iptables στη συγκεκριμένη περίπτωση) μέσα από το προφίλ του μηχανήματος.
Ένα άλλο παράδειγμα είναι η ρύθμιση για παράδειγμα NIS clients. Μπορούμε να έχουμε έναν header που θέτει τις κατάλληλες ρυθμίσεις και στη συνέχεια να προσθέτουμε τον header στο προφίλ κάθε μηχανήματος που θέλουμε να είναι NIS client. Εάν αλλάξουμε NIS server, απλά αλλάζουμε την IP στον header και τα υπόλοιπα μηχανήματα θα ρυθμιστούν μόνα τους αυτόματα.
Ο LCFG server παρέχει επίσης τη δυνατότητα δημιουργίας spanning maps τα οποία επιτρέπουν οι τίμες των resources του κάθε component να συλλεχθούν από μια ομάδα μηχανημάτων. Μπορεί για παράδειγμα η IP ενός MySQL server να πρστίθεται αυτόματα σε μια τέτοια λίστα. Μπορεί μια άλλη λίστα να περιέχει τις IP των login servers. Στη συνέχεια το firewall θα μπορεί να διαβάσει το spanning map με τις IP και αντίστοιχα να επιτρέπει πρόσβαση στις συγκεκριμένες υπηρεσίες.
Περισσότερα για LCFG spanning maps από μια πρόσφατη ομιλία στα πλαίσια του “LCFG Users Meeting – Today and Beyond”: http://www.lcfg.org/doc/UsersDay2008/spanning_maps_talk.pdf
–
Παραπομπές:
Paul Anderson, LCFG: A practical tool for system configuration, SAGE, 2008