επανασύνδεση epoptes με clients

Ξεκίνησε από dio3, 16 Απρ 2015, 02:36:44 ΜΜ

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

dio3

Καλησπέρα,

παίζω LTSP/epoptes με >10 fat clients.


Το πρόβλημά μου είναι ότι σε περίπτωση που γίνει restart o server ή το δίκτυο του server ή χαθεί για λίγο το δίκτυο ανάμεσα σε server και clients, κρεμάει το connection ανάμεσα στο epoptes και τους clients και τους εμφανίζει γκρι αντί για ενεργούς, ενώ παίζουν.
Η μόνη λύση είναι να πάω και να κάνω reboot τους client manually και μετά το επόπτες τους αναγνωρίζει.

Υπάρχει κάποια εντολή/τρόπος ώστε να τρέχω στον server και να αναγνωρίζει ξανά τους clients?  (το service epoptes restart δεν τους αναγνώρισε)
Αν όχι υπάρχει κάποια ρύθμιση στο timeout μεταξύ epoptes και clients ώστε αυξάνοντάς το, πιθανώς να βελτιώσω την κατάσταση?

Thanks!


alkisg

Από τη στιγμή που θα χαθεί η σύνδεση του server με το τοπικό δίκτυο, οι συνδέσεις των clients σε αυτόν θεωρούνται άκυρες. Μερικές όπως του SSHFS μπορεί και να παίζουν, μερικές όπως του NBD μπορεί να φαίνεται ότι παίζουν αλλά να μην παίζουν, και μερικές όπως του Επόπτη ξεκάθαρα δεν θα παίζουν.

Φαντάσου ότι ο μαθητής συνεχίζει και γράφει την εργασία του στο LibreOffice και μισή ώρα μετά πατάει αποθήκευση και τότε καταλαβαίνει ότι ο υπολογιστής είχε κολλήσει, γιατί είχε χαθεί η σύνδεση NBD ή SSHFS πριν μισή ώρα. Δεν θα ήθελε τουλάχιστον να το ξέρει από πριν, ώστε να μη χάσει την ώρα του να γράφει χωρίς από κάτω να υπάρχει file system;

Δηλαδή η φιλοσοφία είναι ότι στο LTSP δεν θέλουμε ποτέ να κόβεται η σύνδεση του server με το τοπικό δίκτυο, και εάν γίνει για πάνω από 10 δευτερόλεπτα, τότε κάνουμε όλους τους clients reboot.
Οπότε το θέμα με τον Επόπτη είναι feature δεν είναι bug :D, ίσα ίσα μας πληροφορεί ότι πρέπει να κάνουμε reboot.

Αν λυθούν τα θέματα του NBD και του SSHFS, τότε αλλάζουμε και τα timeouts του Επόπτη...

dio3

Μάλιστα. Το θέμα είναι ότι ο client συνεχίζει να παίζει (για fat client μιλάω), οπότε πάλι ο χρήστης μπορεί να συνεχίσει να δουλεύει. Ουσιαστικά το reboot στον client γίνεται μόνο για να τον ξαναδουν οι εποπτες. Το ιδανικό θα ήταν να ειδοποιεί το epoptes ότι υπήρχε reconnect ώστε το reboot για να στρώσει να μπορεί να εκτελεστεί από το epoptes αντί για manually.

Αυτό το 10 seconds threshold υπάρχει κάπου ως παράμετρος ή κάπου hardcoded ώστε να μπορεί να παραμετροποιηθεί?
Μήπως είναι κάτι που πρέπει να πάει στο epoptes-client side δλδ στο image?


Εφόσον δε γίνεται και πρέπει να ζήσουμε με αυτό  ::) για τα προγραμματισμένα reboots του server/δικτύου κλπ, θα επιλέγω όλους τους clients και θα εκτελώ reboot σε 2 λεπτά
sudo shutdown -r +2

και μετά θα εκτελώ το reboot στον server ο οποίος έρχεται πιο γρήγορα από τα 2 λεπτά.





alkisg

Παράθεση από: dio3 στις 16 Απρ 2015, 04:48:05 ΜΜ
Το θέμα είναι ότι ο client συνεχίζει να παίζει (για fat client μιλάω), οπότε πάλι ο χρήστης μπορεί να συνεχίσει να δουλεύει.

Αυτό που λέω είναι ότι μπορεί να δουλεύει, αλλά από πίσω και χωρίς να το βλέπεις να έχουν κοπεί οι συνδέσεις του συστήματος αρχείων με τον server, να είναι στον αέρα και να χρησιμοποιεί μόνο την cache του. Και να το καταλάβεις μετά από πολλή ώρα. Είναι εύκολο να γίνει αυτό αν κοπεί για λίγα δευτερόλεπτα η σύνδεση του server, δεν είναι κάτι σπάνιο. Με τη σειρά, πρώτα κόβεται το NBD (το κεντρικό σύστημα αρχείων που περιέχει τα προγράμματα), μετά ο Επόπτης, και τέλος το SSHFS (το σύστημα αρχείων των χρηστών).
Οπότε μπορεί ο μαθητής αμέριμνα να συνεχίσει να δουλεύει π.χ. στο LibreOffice και να μην έχει καταλάβει ότι αν πατήσει αποθήκευση, το σύστημα θα κολλήσει.

Τώρα αν θες ντε και καλά να αυξήσεις το όριο, είναι στο /usr/share/epoptes/client-functions, γραμμή 171:
    elif [ "$BAD_SCREENSHOTS" -eq 3 ]; then

...είναι ένα screenshot (thumbnail) ανά 5 δευτερόλεπτα, οπότε κανόνισε εσύ πόσο θες το timeout, το default είναι στα 3, δηλαδή στα 15 δευτερόλεπτα.
Δεν χρειάζεται δημοσίευση εικονικού δίσκου μετά την αλλαγή, μόνο επανεκκίνηση των σταθμών εργασίας.

ioakyriazis

Εγώ έχω παρατηρήσει ότι όταν επανασυνδεθεί ο fat client, το file system παίζει κανονικά. Τυχαίνει σε κάποια laptop να βγαίνει το καλώδιο του δικτύου, και όταν το ξαναβάζουμε μπορούμε να κάνουμε κανονικά αποθήκευση του ανοιχτού αρχείου.

Επομένως ίσως να έχει νόημα να υπάρχει μια επιλογή στον επόπτη να επανασυνδεθεί με τους clients.

alkisg

Για επανασύνδεση του Επόπτη, έχει αναφερθεί στο https://bugs.launchpad.net/epoptes/+bug/1011482 όπου και γράφω ένα workaround στο comment #3, όποιος το θέλει μπορεί να το βάλει μέχρι να βγει update στα αποθετήρια.

alkisg

Στο proposed αποθετήριό μας έχει αναρτηθεί νέα έκδοση του Επόπτη, η οποία υποστηρίζει επανασυνδέσεις και έχει και κάποια άλλα καλούδια.
Όποιος θέλει μπορεί να την δοκιμάσει με:

Κώδικας: Bash
sudo -i
add-apt-repository ppa:ts.sch.gr/proposed
apt-get update
apt-get dist-upgrade
ltsp-update-image -c /
exit