Παράλληλο εγχειρίδιο server-client στο σχολικό εργαστήριο, by Mandarinos

Ξεκίνησε από mandarinos, 29 Ιουν 2021, 12:17:44 ΜΜ

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

mandarinos

Επειδή:

- ο νέος εξοπλισμός εργαστηρίου, που μας φέρανε στο σχολείο δεν δούλευε καθόλου σε client-server όπως ορίζει το εγχειρίδιο της ΤΣ (εδώ: http://ts.sch.gr/docs/odigies-egkatastasis-diaxirisis/369-odigos-egkatastasis-xrisis-ubuntu-ltsp-sch-scripts-epoptes-ekdosi-20-04/file )
- δεν πολυσυμπαθώ (από πλευράς αισθητικής) το σκέτο το Ubuntu (που αναφέρεται στο εγχειρίδιο της ΤΣ),
- όσο νά 'ναι, με τις δοκιμές όλο και κάτι μαθαίνεις παραπάνω (και ακολούθησαν κάμποσες αποτυχημένες!),
- με ρωτάει γιά το "πώς γίνεται" αρκετός (κυρίως συναδελφικός) αρχάριος κόσμος, που σχεδόν φοβάται το Linux,

σκέφτηκα:

(α) ότι ναι  μεν, το εγχειρίδιο της ΤΣ είναι σαφέστατο, αλλά θέλω να δω τί γίνεται με server σε Linux Mint (που μου αρέσει πολύ αισθητικά ως desktop), και
(β) να γράψω ένα αρκετά εκτεταμένο εγχειρίδιο με αναλυτικές οδηγίες.

Αυτό ακριβώς το εγχειρίδιο σκοπεύω να παρουσιάζω εδώ τμηματικά, καθώς τελειώνω κάποια ενότητα. Ώστε, εφαρμόζοντας την αρχή του Linux: "Όσο περισσότερα ζευγάρια μάτια βλέπουν κάτι, τόσο περισσότερο αποκλείεται η πιθανότητα λάθους", να με βοηθήσετε να δω τί έχω παραλείψει και τί βλακείες έχω διαπράξει. (Συμβαίνουν και στις καλύτερες οικογένειες...)

Σκεφθήτε τα μέχρι τώρα γραπτά μου σαν software, ως ευρισκόμενο στην προέκδοση 0.9 alpha.

Το εγχειρίδιο απευθύνεται κυρίως σε αρχάριους συναδέλφους, αλλά ίσως οι προχωρημένοι βρήτε κάποια ενδιαφέρουσα ιδέα, και ίσως να θέλετε να συμβάλετε κι εσείς. (Πολλυσυλλεκτικό έργο; γιατί όχι; )

Η άδειά του είναι Creative Commons, νομίζω η πιό σωστή εκδοχή είναι αυτή εδώ: https://creativecommons.org/licenses/by-nc-sa/4.0/ Τέλος πάντων, copyleft είναι, αντιγράψτε-διαμορφώστε ελεύθερα.

Τέλος, θα ήθελα αν κάποιος έχει όρεξη / χρόνο / καλλιτεχνικό χέρι, να επιμεληθεί τα σχήματα. (Εγώ τά 'χω σφάξει λίγο.)

Το δικό μου εγχειρίδιο σε καμμία περίπτωση δεν πρέπει να θεωρηθεί σαν υποκατάστατο του "επίσημου" της ΤΣ, αλλά σαν τυφλοσούρτης οδηγιών / μπλόκ σημειώσεων από σεμινάριο. Σαν συμπλήρωμα του της ΤΣ, νομίζω ταιριάζει περισσότερο.

Τελειώνοντας το εισαγωγικό σημείωμα, θα προσθέσω ότι έχω βάλει μιά (κάπως αυθαίρετη) βαθμολογία δυσκολίας ανά κεφάλαιο. Δηλαδή, ναι μεν ένας αρχάριος θα δεί το αναφερόμενο αποτέλεσμα, αν ακολουθήσει πιστά τα αναγραφόμενα· αλλά αν παρ' όλ' αυτά διστάσει, ο βαθμός δυσκολίας του λέει κατά πόσο πρέπει να "ενοχλήσει" τον πλησιέστερο έμπειρο Λινουξά.

ΟΛΑ όσα αναγράφονται είναι δοκιμασμένα. Αδοκίμαστες προτάσεις δεν θα τις ανεβάσω εδώ.

Υγ: Στη διαδρομή μου ήρθε η ιδέα να στήσω εργαστήριο και με Kubuntu. Τόσο το εργαστήριο του Mint, όσο και του Kubuntu, δουλεύουν άψογα σε server-client αρχιτεκτονική. Διότι συνεργάζονται άψογα τόσο με τα scripts της ΤΣ / τη Διαχείρηση ΣΕΠΕΗΥ, όσο και με τον Επόπτη.
Βέβαια, μπορεί κανείς να στήσει LTSP / Επόπτη και να ρυθμίσει τη δικτύωση χωρίς τα scripts· απλώς, χάνει λίγο χρόνο παραπάνω.

Υγ 2: Μην δοκιμάσετε -οι φιλοπερίεργοι- τα scripts σε Ubuntu έκδοση server. Δεν συνεργάζονται.

mandarinos

Ξεκινάμε με το Μέρος Α', "Η βασική εγκατάσταση"

. . . . . . . . . . . . . . .

01. Το hardware

Η επιλογή των υπολογιστών γιά το εργαστήριο είναι εύκολη υπόθεση, αρκεί να ξέρουμε τί ζητάμε. Ωστόσο, μπορούμε να συγκεντρώσουμε περισσότερες πληροφορίες:

    • από το Διαδίκτυο,
    • από φίλους που ξέρουν,
    • από καταστήματα πωλήσεων υπολογιστών και συναφών ειδών.

Γενικά, πάντως, δεν θ' αντιμετωπίσουμε πρόβλημα να βρούμε τα κατάλληλα μηχανήματα. Το μόνο πρόβλημα είναι ο προϋπολογισμός μας!



i. Υπολογιστές, motherboards, προσέσσορες

Τερματικά

(β.δ. 3 / 5)

Γιά τα τερματικά, καλό είναι να εγκαταλείψουμε κάθε σκέψη ν' αγοράσουμε (ή να προμηθευτούμε με οποιονδήποτε τρόπο, πχ δωρεές παλαιών μηχανημάτων) 32μπιτα μηχανήματα. Μπορούμε κάλλιστα να βρούμε φτηνά 64μπιτα, έστω καί επανακατασκευασμένα (refurbished) δεκαετίας. Η τυπική τιμή αυτών στην Ελληνική αγορά κυμαίνεται στα +/- 50 ευρώ (χωρίς οθόνη).
Δεν μας ενδιαφέρει τόσο να έχουμε επάνω τους την τελευταία λέξη των προγραμμάτων (άλλως τε, μιλάμε κυρίως γιά προγράμματα γραφείου / σχολείου), πράγμα που φυσικά θ' απέκλειε εξ ορισμού τα 32μπιτα, όσο το να μπορεί η πλακέτα ("κάρτα") οθόνης τους να σηκώνει μοντέρνα προγράμματα - έστω καί γραφείου.

Βλέπετε, τα 32μπιτα (έστω καί 20ετίας παλιά) θα ήταν μιά χαρά γιά δουλειές γραφείου (από ικανότητα μνήμης RAM), αν δεν είχαν αυτό ακριβώς το αδύναμο σημείο... το να μή μπορούμε να τους βρούμε κατάλληλες μοντέρνες "κάρτες" οθόνης με επαρκή (γιά τα σημερινά δεδομένα) δική τους μνήμη. Αντιθέτως, τα 64μπιτα θα μας βγάλουν πέρα γι' ακόμη δέκα χρόνια τουλάχιστον, έως ότου απαξιωθούν από τις τότε αλλαγές στο software, που δεν θα μπορούν να τις παρακολουθήσουν.

Πάντως, ακόμη καί στα 64μπιτα, προσέχουμε την οικογένεια των ολοκληρωμένων κυκλωμάτων τους (το chipset) στην "κάρτα" οθόνης (ακόμη και την ενσωματωμένη στη motherboard). Καί τούτο, επειδή: αν θέλουμε να δείξουμε στους μαθητές κάποια σημαντικά προγράμματα πέραν της διδακτέας ύλης, τότε ενδέχεται να μή μπορέσουμε.
Αναφέρομαι συγκεκριμένα στο Google Earth σε Linux, που το έχω σαν "δοκιμαστικό": παίζει μιά χαρά με chipset Intel ή nVidia, αλλά δεν σας εγγυώμαι γιά το τί θα κάνει με άλλα chipsets. (Έτερο "δοκιμαστικό" είναι το Stellarium.)
Το Google Earth, βέβαια, μπορούμε να το δούμε μέσα από τον browser Google Chrome (και να παρακάμψουμε την αστοχία αυτή), αλλά εννοώ το αυτόνομο πρόγραμμα.

Επίσης, μπορούμε να δώσουμε εντολή ν' αναλάβει το ίδιο το Linux, με τον οδηγό OpenGL / Mesa - αλλά μέσα σε κάποια όρια. Οι παλιές "κάρτες" οθόνης μάλλον δεν θα βοηθηθούν.
Η εντολή είναι αυτή:

LIBGL_ALWAYS_SOFTWARE=1 /opt/google/earth/pro/googleearth

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

Απομένει ένα ακόμη σημείο, το να έχουν τα τερματικά "κάρτα" δικτύου "χιλιάρα". (Διότι αλλοιώς δεν μπορούμε να κάνουμε τη δουλειά που θέλουμε!) Αν πρόκειται γιά 64μπιτα, πάντα έχουν μία (ενσωματωμένη στη motherboard τους).

(β.δ. 5 / 5)
Στη (σπάνια σήμερα, αν όχι ανύπαρκτη) περίπτωση που δεν έχουν, πρέπει να βάλουμε μία πρόσθετη, με δυνατότητα δικτυακής εκκίνησης. Αυτή, τώρα, είτε θα έχει ήδη δική της ROM εκκίνησης, είτε θα έχει βάση υποδοχής ROM, οπότε πρέπει να προμηθευτούμε και το κατάλληλο τσιπάκι. (Εδώ, ρωτάμε τους γνώστες.)

(Επισυναπτόμενο σχήμα: 01i-01_ROM-chip.png)

(Επισυναπτόμενο σχήμα: 01i-02_κάρτα-δικτύου-με-βάση-ROM-εκκίνησης.jpg)

Μετά απ' αυτές τις αγορές, χρειάζεται:

    • να ξέρουμε πώς να γράψουμε μία ROM (πριν βάλουμε το τσιπάκι στη βασούλα της "κάρτας" δικτύου),
    • να έχουμε το ειδικό μηχάνημα προς τούτο (EPROM programmer - απευθυνθήτε σε ανθρώπους, που το έχουν ήδη· ΜΗΝ το αγοράσετε, ειδικά για μιά και μόνη φορά χρήσης - δεν είναι καθόλου φτηνό),

ώστε να γράψουμε το πρόγραμμα εκκίνησης στην (πρόσθετη) κάρτα δικτύου του τερματικού.
Το περιεχόμενο (δηλαδή, το κατάλληλο υπολογιστικό πρόγραμμα), που πρέπει να γράψουμε στη ROM, μπορούμε να το βρούμε εδώ: https://ipxe.org/howto/romburning

Εν πάσει περιπτώσει, συντριπτικά περισσότερες πιθανότητες έχουμε να βρούμε κάρτα δικτύου με έτοιμη ROM εκκίνησης - καί σε περίπου ίδια τιμή με τις υπόλοιπες· απλώς, αναφέρω το τί κάνουμε, στη σπάνια περίπτωση που δεν θα βρούμε.

Επίσης, έχετε υπ' όψη σας ότι οι ROM, ως ολοκληρωμένα κυκλώματα, δεν βγαίνουν μονάχα σε μορφή "με ποδαράκια" (σαν αυτή, που την υποδέχεται η βάση της φωτογραφίας), αλλά και σε μορφή surface mount (επικαθήμενες στην επιφάνεια), με διαφορετικού είδους βάση, φυσικά. Γιά να καταλάβετε, τύπου surface mount είναι το ολοκληρωμένο στο κέντρο της πλακέτας.

(Επισυναπτόμενο σχήμα: 01i-03_ROM-chip-BIOS-surface-mount.jpg)

Σ' αυτή την περίπτωση, χρειάζεται απλά λίγη παραπάνω επιδεξιότητα στο χέρι μας, όταν τοποθετούμε τη ROM στη βάση της. (Γιά να μην "τσακίσουμε" τα πολύ λεπτά ποδαράκια του ολοκληρωμένου.)

Εάν, λοιπόν, προμηθευτούμε 13 refurbished 64μπιτα μηχανήματα, τότε το κόστος βγαίνει στα 13*50 = 650 ευρώ, + ή -.
Γιατί 13 μηχανήματα; επειδή κάθε τμήμα έχει ως ανώτατο όριο τα 25 παιδιά, άρα 25/2 =12.5, δηλαδή 13 παιδιά.

Φυσικά, πάντα μπορούμε να περιορίσουμε τον αριθμό των υπολογιστών μας, αναμένοντας μιά εύκαιρη στιγμή στο μέλλον για την αγορά όσων μας λείπουν.


Server

(β.δ. 3 / 5)

Εδώ δεν χωράνε τσιγγουνιές!

Γιά server θ' αγοράσουμε σαφώς 64μπιτο μηχάνημα, μοντέρνο, με σκληρό δίσκο προτύπου M.2 (βλέπε παρακάτω), το οποίο θα γεμίζουμε σιγά-σιγά με μνήμη RAM, μέχρι όση χωράει. (Αν μπορούμε να την αγοράσουμε όλη μαζί εξ αρχής, ακόμη καλύτερα.)
Κοιτάζουμε, μάλιστα, ο προσέσσορας να έχει τουλάχιστον τέσσερεις (4), ή περισσότερους "πυρήνες". Όσους περισσότερους έχει, τόσο καλύτερα.

Υπολογίζω το κόστος ενός καλού server (γιά το σχολικό εργαστήριο) στα 400 ευρώ - και προς τα άνω.

Τώρα... εάν ψάξετε στην εγχώρια αγορά γιά βαρέως επαγγελματικούς servers (τους λεγόμενους rack-mounted, σαν αυτούς που έχει πχ η Google (εδώ: https://www.engadget.com/2015-08-20-google-reveals-server-info.html?guccounter=1), και fanless (δηλαδή, χωρίς ανεμιστήρες), θα λιποθυμήσετε από τις τιμές! Ξεκινάνε από 2,500 ευρώ οι φτηνότεροι και φτάνουν στις 15,500 ευρώ οι ακριβότεροι... ο ένας! Όχι όλη η συστοιχία, όπως στη φωτογραφία του συνδέσμου!
Εννοείται πως τέτοια μηχανήματα μπορούν να στηρίξουν ολόκληρους οργανισμούς του Δημοσίου σε server-client, ή ιδιωτικές επιχειρήσεις (πχ Internet cafés), διότι δουλεύουν συνεχώς (24/7, ως γράφεται) και χωρίς προβλήματα. Αλλά στα σχολικά εργαστήρια μπορούμε να κάνουμε τη δουλειά μας με σαφώς πολύ μικρότερο κόστος, και μ' έναν server επιτραπέζιο, τύπου (mini) tower.

Επίσης, χρειαζόμαστε δεύτερη (πρόσθετη) "κάρτα" δικτύου των 1000 Mbps, αξίας κάπου 10 ευρώ +/-. (Διότι όλες οι σημερινές μητρικές πλακέτες / motherboards διαθέτουν ήδη μία επάνω τους, και δή "χιλιάρα" - 1000Mbps.) Ναί μεν, η τοπολογία server-client εξυπηρετείται μιά χαρά και από μία "κάρτα" δικτύου, αλλά αν δεν θέλετε να ενοχλείτε το υπόλοιπο δίκτυο και να ενοχλείστε απ' αυτό (πχ να κάνετε, άθελά σας, εκτυπώσεις σε εκτυπωτή, που βρίσκεται σε άλλη αίθουσα, και να τρέχετε να παραλάβετε τα τυπωμένα - που, όμως, οι υπολογιστές του εργαστηρίου πάντα "τον βλέπουν" τον απομακρυσμένο εκτυπωτή μέσω του δικτύου), τότε το δίκτυο του εργαστηρίου Πληροφορικής πρέπει ν' απομονωθεί. Και αυτό επιτυγχάνεται μόνο με δεύτερη "κάρτα" δικτύου.
Στο κάτω-κάτω, τα 10 ευρώ του κόστους της δεν είναι πρόβλημα. Ούτε η ρύθμισή της είναι πρόβλημα.

Αυτή η πρόσθετη "κάρτα" δικτύου του server μας είναι αδιάφορο αν έχει ROM εκκίνησης, διότι ποτέ δεν θα ξεκινήσουμε τον server δικτυακώς.

. . . . . . . . .

Περιμένω πρώτες εντυπώσεις, και συνεχίζω.

mandarinos

#2
Πάντως, τώρα που το σκέφτομαι καλύτερα, θ' ανεβάζω σε μορφή .odt . Δεν βολεύει text με κενά στη θέση των σχημάτων, και τα σχήματα επισυναπτόμενα.

Επισυνάπτω όλο το 1ο κεφάλαιο· λείπουν μερικά σχήματα, αλλά οκ.