Υποστήριξη fat clients στο Ubuntu 10.04

Ξεκίνησε από alkisg, 12 Ιαν 2010, 07:33:10 ΜΜ

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

alkisg

Έχω καιρό να ανεβάσω νέα, οπότε ας αναφέρω τουλάχιστον ένα ωραίο νέο σχετικά με το επερχόμενο Ubuntu 10.04.

Το LTSP στην έκδοση 10.04 του Ubuntu θα υποστηρίζει fat clients. Αυτό σημαίνει ότι οι clients δεν θα χρειάζονται σκληρό δίσκο, θα ξεκινάνε απευθείας από τον server. Όμως, θα χρησιμοποιούν ΜΟΝΟ τον σκληρό δίσκο του server, ενώ επεξεργαστή, RAM κτλ θα χρησιμοποιούν τα δικά τους, δηλαδή τα προγράμματα θα τρέχουν τοπικά.

Πλεονεκτήματα:

  • Η επίδοση των fat clients είναι *ακριβώς* σαν να τρέχουν Ubuntu τοπικά: υποστηρίζουν επιτάχυνση 3D, βίντεο flash σε πλήρη οθόνη κτλ χωρίς προβλήματα, αρκεί βέβαια να το σηκώνει το hardware των clients.
  • Ο φάκελος του χρήστη βρίσκεται στον server αλλά προσαρτάται αυτόματα με sshfs στο τοπικό μηχάνημα, χωρίς να χρειάζεται κάποια ρύθμιση.
  • Έτσι δεν χρειάζεται ούτε LDAP ούτε NFS ούτε τίποτα. Παίζουν όλα χωρίς να χρειάζεται κάτι. Διαχείριση των χρηστών γίνεται αποκλειστικά στον server, με τα γνωστά εργαλεία του Ubuntu (users-admin).
  • Από τον ίδιο εικονικό δίσκο (chroot) ξεκινάνε όλοι οι fat clients, κι έτσι ό,τι πρόγραμμα εγκαθιστούμε το εγκαθιστούμε μόνο μια φορά.
  • Μπορούμε με τον ίδιο εικονικό δίσκο να δουλέψουμε π.χ. 5 clients ως thin clients, και 5 ως fat, αν δηλαδή το εργαστήριο είναι μισό παλιό και μισό καινούργιο.

Μειονεκτήματα:

  • Το τοπικό δίκτυο χρειάζεται πάλι να είναι γρήγορο όπως και στο LTSP, αφού ο εικονικός σκληρός δίσκος των clients καθώς και ο προσωπικός φάκελος των χρηστών είναι στον server.
  • Η εγκατάσταση προγραμμάτων στον εικονικό δίσκο γίνεται από τερματικό, π.χ. sudo apt-get install kolourpaint4. Ευτυχώς τα περισσότερα είναι προεγκατεστημένα.
  • Μετά από εγκατάσταση προγραμμάτων χρειάζεται συμπίεση του εικονικού δίσκου (ltsp-update-image), η οποία διαρκεί π.χ. 5 λεπτά.
  • Δεν προσαρτάται όλο το /home του server τοπικά, αλλά μόνο το /home/username. Έτσι είναι λίγο πιο δύσκολη η κοινή χρήση αρχείων, ενώ πιθανώς κάποια symlinks να μην δουλεύουν.

Να πω κι ένα τελευταίο θετικό, οι εικονικοί δίσκοι είναι μεγάλοι μεν σε μέγεθος, αλλά είναι απλά αρχεία (π.χ. i386.img), και μπορούν να μεταφερθούν πανεύκολα σε άλλο εργαστήριο αφού είναι ανεξάρτητοι από το υλικό των clients. Και φυσικά λόγω του ανοικτού κώδικα έχουμε και δικαίωμα αναδιανομής. Μπορούμε λοιπόν να φτιάξουμε 3-4 διαφορετικούς τέτοιους εικονικούς δίσκους, έναν για Γυμνάσιο, έναν για Λύκειο κτλ, και να τους ανεβάσουμε σε μια σελίδα με ανοιχτή πρόσβαση σε όλους τους υπεύθυνους ΣΕΠΕΗΥ.  Και, τέλος η φασαρία των εγκαταστάσεων, θα τα έχουμε όλα έτοιμα. ;)  ;D

alkisg

Α και μερικές πρακτικές παρατηρήσεις δοκιμάζοντας σαν fat client ένα netbook σαν αυτά των μαθητών της Α´ Γυμνασίου (Atom N270, 1 Gb RAM, Intel 945GME), σε σπιτικό δίκτυο 100 Mbps:

  • Εκκίνηση μέχρι την οθόνη σύνδεσης: 30 δευτερόλεπτα
  • Login: 20 δευτερόλεπτα
  • glxgears: 400 fps, όσα βγάζει και με κανονική εγκατάσταση Ubuntu
  • Full screen totem video: πάει μια χαρά
  • Full screen flash video: μια χαρά
  • Περιήγηση με πολλές καρτές στο internet, youtube κτλ: μια χαρά
  • teeworlds: (2d παιχνίδι): μια χαρά
  • googleearth: τρέχει μια χαρά, αλλά θέλει την επιλογή SSH_FOLLOW_SYMLINKS=false στο lts.conf

Εν ολίγοις δηλαδή ο εικονικός "δίσκος" πάει ελαφρώς πιο αργά από το κανονικό ενώ κατά τα άλλα η ταχύτητα είναι ίδια όπως αν είχαμε κάνει κανονική εγκατάσταση. Και υπάρχουν σε ελάχιστες εφαρμογές προβλήματα με τα symlinks, αλλά από την άλλη γλυτώνουμε τόσα σε administration που δεν αξίζει να εγκαθιστούμε λειτουργικό στους clients παρά μόνο αν έχουμε προβλήματα με το τοπικό δίκτυο.

alkisg

Πρόσκληση για beta testers: όποιος έχει σύγχρονους clients (π.χ. > 512 RAM), gigabit δίκτυο τουλάχιστον από το server ως το switch, και θέλει να δοκιμάσει τη μέθοδο με τους fat clients, επειδή η ανατροφοδότηση σ' αυτό το σημείο είναι πολύ σημαντική (το feature freeze του Ubuntu 10.04 είναι αρχές Φλεβάρη), είμαι διατεθειμένος να του κάνω απομακρυσμένα τη σχετική εγκατάσταση του Edubuntu 10.04, του LTSP και του εικονικού δίσκου των fat clients. Όλα αυτά σε κάποιο ελεύθερο partition του server του (dual boot) ώστε να μην επηρεαστεί καθόλου η υπάρχουσα εγκατάσταση. Αν ενδιαφέρεται κανείς ας μου στείλει PM ή mail για λεπτομέρειες.

markakis

Λόγω (καταραμένου) e-school και διαγωνισμάτων τετραμήνου δεν είμαι για δοκιμές στο σχολείο. Στο λάπτοπ όμως του σπιτιού έχω ήδη εγκαταστήσει την Alpha του 10.04. Αν δώσεις κάποιες οδηγίες, μπορώ να κάνω κάποιες δοκιμές.

alkisg

Ωραίος Γρηγόρη, να 'σαι καλά.

Λοιπόν για να τεστάρεις μόνος σου υπάρχει το εξής ζήτημα: αυτή τη στιγμή το fat client plugin που υπάρχει στο LTSP έχει προβλήματα, αλλά έχω διορθωμένη έκδοση εδώ τοπικά. Τώρα όμως βγάζουμε την alpha 2 του (ed)ubuntu οπότε δεν επιτρέπεται να στέλνονται διορθώσεις.
Έτσι θα τις ανεβάσω αύριο (είμαι πια LTSP developer και μπορώ να ανεβάζω διορθώσεις απευθείας upstream), οπότε θα έρθουν και στα updates του ubuntu.
Θα ειδοποιήσω λοιπόν όταν θα είναι όλα έτοιμα στα αποθετήρια (μάλλον μεθαύριο) και θα σου πω τις ακριβείς εντολές για testing. Merci! :)

kaingeo

Άλκη έτοιμος! έχω εγκαταστήσει το Ubuntu LTSP 10.04 Beta 1 και προσπαθώ να το δουλέψω αλλά τζίφος! όταν μπουτάρω το laptop μου ως client μένει για πάντα στην αρχική οθόνη (χωρίς να φτάνει στην οθόνη του login) και στο netbook φτάνει στην οθόνη του login αλλά δεν συνδέεται στον λογαριασμό που με τον οποίο θέλω να μπω... :( Θέλεις να κάνω κάτι συγκεκριμένο; τα έχω φτιάξει όλα καλώδια υπολογιστές. απλά περιμένω εντολές!

alkisg

Γιώργο καλύτερα έλα μια βόλτα από το IRC κανάλι #sch-scripts να τα πούμε live, και για remote support και για ότι άλλο χρειαστεί:
http://webchat.freenode.net/?channels=sch-scripts

Εν ολίγοις,

  • Κάνεις εγκατάσταση με το κανονικό live cd, όχι με το alternate που λέγαμε στην 9.04,
  • Προσθέτεις το ppa μας και εγκαθιστάς τα sch-scripts,
  • Και τον εικονικό δίσκο των fat clients τον φτιάχνεις μέσα από τα sch-scripts.

Η Lucid όμως είναι ακόμα beta, βγάζει προβλήματα σε μερικούς, γι' αυτό είναι πιο βολικό να τα λέμε σε πραγματικό χρόνο...
Μπορείς να κάνεις και την παρακάτω δοκιμή, να ανοίξεις το /var/lib/tftpboot/ltsp/i386/pxelinux.cfg και να αφαιρέσεις το "splash", ώστε να μπορείς να δεις τυχόν μηνύματα σφαλμάτων.

alkisg

Επίσης κάτι που μπορεί να βοηθήσει σε κολλήματα στην αρχική οθόνη, εκτός από το να βγει το splash, είναι να προστεθεί και η λέξη nomodeset.
Δυστυχώς η Lucid έφερε πολλές αλλαγές, κι έτσι αν και τιτλοφορείται beta, είναι ακόμα αρκετά ασταθής...

alkisg

Περιληπτικές οδηγίες για απομακρυσμένη βοήθεια στο Ubuntu 10.04.

Είτε από εγκατεστημένο σύστημα είτε από το live CD, πηγαίνουμε Εφαμογές » Βοηθήματα » Τερματικό, και πληκτρολογούμε τις παρακάτω εντολές:
sudo add-apt-repository ppa:ts.sch.gr
sudo apt-get update
sudo apt-get --yes install x11vnc
x11vnc -connect <ip-τεχνικού>

Την <ip-τεχνικού> θα πρέπει να σας την έχει δώσει αυτός που σας βοηθάει.

Ο τεχνικός θα πρέπει να έχει εγκαταστήσει το vncviewer, να έχει κάνει προώθηση την θύρα 5500, και να έχει εκτελέσει vncviewer -listen.

Wizard

#9
Στο wiki του ubuntu.gr για τα sch-scripts αναφέρεται:
# Αποσχολιάστε το παρακάτω για υποστήριξη localapps.
# Γενικά τα localapps δεν προτείνονται, καλύτερα να προτιμήσετε fat clients.
#       LOCAL_APPS_MENU=True


Ομολογώ ότι δεν το πολυκατάλαβα. Δηλαδή, ποια είναι η ουσιαστική διαφορά μεταξύ thin clients+localapps και fat clients;

alkisg

  • Thin clients = όλες οι εφαρμογές τρέχουν στον server, και ο client κάνει ας το πούμε remote desktop στον server.
  • Fat clients = όλες οι εφαρμογές τρέχουν τοπικά. Απλά χρησιμοποιούμε τον server σαν δικτυακό δίσκο και για authentication, τίποτε άλλο.
  • Localapps = μερικές μόνο εφαρμογές τρέχουν τοπικά. Π.χ. κάποιος μπορεί να θέλει thin clients, οπότε όλες οι εφαρμογές να τρέχουν στον server, και να έχει μόνο τον firefox + τον flash player + κάποιον video player τοπικά, επειδή αυτές οι εφαρμογές απαιτούν μεγάλο εύρος δικτύου. Το LOCAL_APPS_MENU κάνει κάποια "μαγικά" και πειράζει τα μενού του gnome on-the-fly, και όταν κάποιος χρήστης διαλέγει firefox, αντί να τρέξει στον server, τρέχει τοπικά.
  • Remoteapps = το αντίθετο των localapps. Δηλαδή μπορούμε να έχουμε fat clients == όλα τοπικά, και να θέλουμε να τρέξουμε μια μόνο εφαρμογή σαν να ήμαστε thin clients, δηλαδή να τρέχει στον server και να την βλέπουμε τοπικά. Αυτό δεν το έχουμε αναφέρει πουθενά στο wiki επειδή σπάνια χρειάζεται.
Γενικά δεν προτείνουμε ούτε localapps ούτε remoteapps. Αν βέβαια κάποιος υπεύθυνος ΣΕΠΕΗΥ είναι αρκετά έμπειρος και έχει π.χ. PC με 384 RAM, που δεν κάνουν για fat clients, τότε θα έτρεχαν καλύτερα με localapps τα firefox+flash+video player, οπότε αν θέλει μπορεί να έρθει από το IRC κανάλι και να ζητήσει βοήθεια, αλλά στην γενική περίπτωση δεν το προτείνουμε γιατί είναι αρκετά μπερδεμένο...

Wizard

Παράθεση από: alkisg στις 05 Απρ 2010, 07:49:25 ΜΜ
Fat clients = όλες οι εφαρμογές τρέχουν τοπικά. Απλά χρησιμοποιούμε τον server σαν δικτυακό δίσκο και για authentication, τίποτε άλλο.

Δηλαδή, ό,τι υπάρχει εγκατεστημένο στον server δεν φαίνεται στους clients; Μεταφέρεται ένα πλήρες προφίλ χρήστη σαν image;

alkisg

Ο server έχει δύο λειτουργικά, ένα το δικό του και ένα τον εικονικό δίσκο για τους fat clients.
Άρα μπορεί π.χ. να έχεις το kturtle στον server και να μην το έχεις στον εικονικό δίσκο και να μην το βλέπουν οι clients.
Η εγκατάσταση του εικονικού δίσκου γίνεται αυτοματοποιημένα από τα sch-scripts, διαλέγοντας την κατάλληλη βαθμίδα (Δημοτικό / Γυμνάσιο / Λύκειο).

Για τους χρήστες γίνεται αυτόματα χρήση ssh και nfs, οπότε το προφίλ χρήστη μεταφέρεται όπου κι αν καθίσουν, είτε στον server είτε σε οποιονδήποτε από τους clients.

Αυτά είναι και τα πλεονεκτήματα των fat clients από τις αυτόνομες εγκαταστάσεις, δηλαδή η ευκολία στη διαχείριση χρηστών, το δικτυακό /home, και το ότι συντηρούμε ένα εικονικό μηχάνημα αντί για 12. Και επίσης με τα sch-scripts έχουμε και διαχείριση τάξης.