Δύο εργαστήρια LTSP και διαλειτουργικότητα/επικοινωνία..

Ξεκίνησε από lycourgus, 31 Μαΐου 2011, 11:39:10 ΠΜ

« προηγούμενο - επόμενο »

lycourgus

Παίδες χαίρετε,

Στο Σχολείο μετά το απολύτως επιτυχές στήσιμο του Εργαστηρίου της Πληροφορικής σε Ubuntu/LTSP προετοιμαζόμαστε να στήσουμε και το 2ο εργαστήριο και εδώ έχω κάποιες ερωτήσεις για κάποια θέματα επικοινωνίας μεταξύ τους...

Βασικοί σκοποί είναι:
α) Ο μαθητής είτε πάει στο ένα εργαστήριο είτε στο άλλο, να συνδέεται με τον ίδιο τρόπο (ίδιο username/password) και φυσικά να βλέπει τα ίδια αρχεία του..
β) Ο καθηγητής στο κάθε εργαστήριο να βλέπει μόνο τους clients/users που θα είναι μέσα στο εργαστήριό του (και φυσικά όχι αυτούς που βρίσκονται στο άλλο).
γ) Επειδή το ένα εργαστήριο έχει 13 clients και το άλλο 12 σκεφτόμαστε τη λύση κάθε εργαστήριο να έχει δικό του LTSP server. (οι clients είναι οι περισσότεροι thin - για αυτό λέμε να μοιράσουμε το load σε 2 servers).

Ιδέες προς το παρόν ανά σκοπό:
α) Δύο server (έναν στο κάθε εργαστήριο), να μοιράζω το /home με nfs από το πρώτο εργαστήριο στο δεύτερο και κάποιες ρυθμίσεις στο δεύτερο εργαστήριο ώστε το authentication να γίνεται από τον server του πρώτου (με NIS/LDAP/κτλ - ή μέσω nfs να μοιράζω απλά τα passwd/groups/shadow από τον 1ο server στον 2ο).
β) Στον 1ο server τρέχουν τα sch-scripts κανονικά και στον 2ο χρησιμοποιώ το iTalc ή τα sch-scripts με κάποια παράμετρο ή κάποιο σκριπτάκι που θα βλέπει μόνο μία ομάδα υπολογιστών. Αλήθεια, τα sch-scripts πώς βρίσκουν τους clients και πως μπορώ να το πειράξω αυτό; 
γ) Αν δεν υπάρχει ιδιαίτερο θέμα με το load να χρησιμοποιήσουμε έναν server 4πύρηνο με 8+GB RAM στο πρώτο εργαστήριο και στο 2ο κάποιον υπολογιστή (fat-client ή απλό ubuntu) που απλά θα τρέχει τα sch-scripts ή το iTalc για τον έλεγχο του εργαστηρίου με αυστηρή προϋπόθεση το (β) - ώστε αν στείλω παράλληλα έναν φιλόλογο να κάνει ιστορία στο 2ο εργαστήριο να μην μου κάνει μπάχαλο και το δικό μου εργαστήριο (και αντίστοιχα να προφυλάσει εμένα να του κάνω μπάχαλο το δικό του μάθημα).

Να σημειώσω πως στο 1ο εργαστήριο ο LTSP server λειτουργεί με 2 κάρτες δικτύου όπου έχω ένα υποδίκτυο 192.168.0.χ που είναι το εργαστήριο (και το free wifi του σχολείου για έλεγχο) και το άλλο είναι το 10.88.χ.χ όπου είναι το γενικό δίκτυο του σχολείου (με το ΠΣΔ). Τώρα για το 2ο εργαστήριο μπορώ να ακολουθήσω την ίδια λύση με 2 κάρτες δικτύου ώστε να μην μπλέξουν  τα υποδίκτυα και να αποφύγω το μπλέξιμο της διαχείρισης από τους servers.

Σε όλες αυτές βέβαια τις απαιτήσεις, δεν ζητάω την ενσωμάτωση τέτοιων δυνατοτήτων στα sch-scripts, απλά την κατεύθυνση πως θα μπορέσω προσωπικά να επέμβω ώστε να το στήσω με αυτόν τον τρόπο.. Αν τα καταφέρω, εννοείται πως θα βγάλω κάποιον οδηγό για ένα τέτοιο περίεργο στήσιμο μιας και πιθανόν να φανεί χρήσιμο σε Σχολεία με πολλά εργαστήρια (ιδιαίτερα στα ΕΠΑΛ).

Ζητάω λοιπόν τις ιδέες/προτάσεις σας για μια ορθολογική εγκατάσταση (μην το ξεκινήσω μόνος μου και προκαλέσω κανα μπάχαλο). 

Χαιρετισμούς από τις Κυκλάδες!!!!

alkisg

Γεια σου Λυκούργε,
εκφράζω λίγο διαφορετικά τις ερωτήσεις για να είναι πιο οργανωμένες οι απαντήσεις, αν μου ξέφυγε κάτι ξαναρώτα.


Πολλοί LTSP servers με 1 κάρτα δικτύου ο καθένας
Για να "ξεχωρίσουμε" τα εργαστήρια, ακολουθούμε τις οδηγίες αυτού του μηνύματος για να δηλώσουμε τον κάθε σταθμό εργασίας στο dnsmasq.conf του κάθε LTSP server.


Πολλοί LTSP servers με 2 κάρτες δικτύου ο καθένας
Εφόσον το κάθε LTSP εργαστήριο είναι απομονωμένο σε ξεχωριστό switch πίσω από τη δεύτερη κάρτα δικτύου του αντίστοιχου server, δεν χρειάζεται να ξεχωρίσουμε τίποτα.
Όμως, όταν ταυτόχρονα έχουμε και fat clients, τότε χρειάζεται NAT στον κάθε server, για να τους δίνει Internet καθώς και τη δυνατότητα να συνδέονται στους άλλους servers, αν χρειαστεί.


Κοινό /home και authentication μεταξύ πολλών LTSP servers
Αυτό είναι ανεξάρτητο από το πόσες κάρτες δικτύου έχουν οι LTSP servers.
Εδώ όπως είπες θέλει NFS και passwd sync/NIS/LDAP. Κάτι αντίστοιχο κάνει και το πακέτο ltsp-cluster, αν και έχω την εντύπωση ότι έχει αρκετή πολυπλοκότητα και δεν αξίζει να εφαρμοστεί για 2 μόνο servers.

Δεν έχω κάτι να προτείνω μεταξύ των παραπάνω, παρά μόνο να πω δύο αρνητικά για τη μέθοδο passwd sync:
Καταρχάς, και τα uid < 1000 θα πρέπει να είναι ίδια, π.χ. για τους system accounts "syslog", gdm" κτλ. Έτσι είναι καλύτερο να γίνει clone του πρώτου server στον δεύτερο, και όχι ξεχωριστή εγκατάσταση εξ' αρχής.
Επίσης, θα υπάρχει ένα θέμα συγχρονισμού κατά τη δημιουργία νέων λογαριασμών αλλά και κάθε φορά που κάποιος μαθητής αλλάζει το password του.

Σε επόμενη έκδοση του Ubuntu, ένας LTSP developer θέλει λέει να υλοποιήσει μια βιβλιοθήκη pam_sshauth. Εάν αυτό γίνει, τότε θα μπορούμε να έχουμε κεντρικό authentication χωρίς την πολυπλοκότητα του LDAP. Μόλις αυτή υλοποιηθεί είτε θα γράψω κάποιο how-to είτε κάποιο scriptάκι.


Πόσους clients μπορεί να σηκώσει ένας LTSP server;
Εφόσον έχεις ήδη έναν, είναι εύκολο να δεις τα όριά του.

  • top: Βλέπεις τη χρήση της CPU. Π.χ. δε νομίζω ένας core 2 duo να μπορεί να σηκώσει 25 clients στο youtube.
  • top: Βλέπεις και τη RAM. Λογικά 4 με 8 Gb είναι υπεραρκετά για 25 clients.
  • iftop ή iptraf: Βλέπεις τη χρήση του δικτύου. Π.χ. για προβολή ταινίας divx, μια κάρτα gigabit στον server αρκεί για καμιά ντουζίνα clients, οπότε για περισσότερους θα βοηθούσε μια ακόμα κάρτα δικτύου pci-e.
Τα παραπάνω είναι για thin clients, ενώ για fat οι απαιτήσεις του server είναι πολύ χαμηλότερες, κυρίως δηλαδή η ταχύτητα του δικτύου.


Πώς βρίσκουν τα sch-scripts τους clients;
Αυτόματα βλέπουν όλους τους clients που συνδέονται στο συγκεκριμένο server. Έτσι θα πρέπει να "ξεχωριστούν" τα εργαστήρια με βάση κάποια από τις 2 μεθόδους που αναφέρθηκαν παραπάνω.
Ένας Αμερικάνος που χρησιμοποιεί sch-scripts είχε έναν server για δύο τάξεις, και ζήτησε διαχωρισμό μέσω group. Το υλοποιήσαμε, δυο γραμμές είναι, αν το χρειάζεται κανείς μπορούμε να βάλουμε τη δυνατότητα αυτή για όλους.
Προσοχή όμως ότι τα sch-scripts τρέχουν ως root, κι έτσι ένας "κακόβουλος" καθηγητής μπορεί εύκολα να διαλύσει το server.
Επίσης τα sch-scripts μπορούν να εκτελεστούν από thin client χωρίς προβλήματα, ενώ από fat client θέλουν λίγο troubleshooting, αν το χρειαστεί κανείς ας μας πει.

aspd

Αναρωτιέμαι αν για τους μαθητές θα φτιάξω χρήστες, ή θα χρησιμοποιήσω δομή με κοινόχρηστους φακέλους στον teacher στο /home του server. Δοκίμασα τη δημιουργία χρηστών και είναι πραγματικά πολύ εύκολη υπόθεση.
Το πρόβλημα μου είναι ότι έχουμε δύο εργαστήρια που είναι τελείως ανεξάρτητα και κάθε τμήμα δεν είναι σίγουρο σε ποιο εργαστήριο θα το έχω για μάθημα.
Διάβασα αυτά που λέει παραπάνω:
Παράθεση από: alkisg στις 31 Μαΐου 2011, 03:15:58 ΜΜ
Εδώ όπως είπες θέλει NFS και passwd sync/NIS/LDAP. Κάτι αντίστοιχο κάνει και το πακέτο ltsp-cluster, αν και έχω την εντύπωση ότι έχει αρκετή πολυπλοκότητα και δεν αξίζει να εφαρμοστεί για 2 μόνο servers.
...
Έτσι είναι καλύτερο να γίνει clone του πρώτου server στον δεύτερο, και όχι ξεχωριστή εγκατάσταση εξ' αρχής.
Μου φαίνεται δύσκολη υπόθεση να υλοποιήσω κάτι τέτοιο.
Υπάρχει καμία άλλη λύση εκτός από τους κοινόχρηστους φακέλους στον teacher στο /home του server; (αυτούς μπορώ να τους μεταφέρω με φλασάκι από το ένα εργαστήριο στο άλλο)