Εκκίνηση 32bit client μέσω virtualbox σε 64bit host

Ξεκίνησε από Kermit, ο Βάτραχος, 06 Οκτ 2020, 10:14:58 ΠΜ

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

Kermit, ο Βάτραχος

Καλημέρα σε όλους!

Επιχειρώ να ενσωματώσω έναν παλιό Pentium 4 3GHz στο υπάρχον εργαστήριο.

Στον server έχω εγκατεστημένα το Ubuntu Mate 20.04.01 με τα νέα sch-scripts.

Εγκατέστησα το Ubuntu Mate 18.04 (32 bit) στο virtualbox ακολουθώντας τις οδηγίες από https://ts.sch.gr/wiki/%CE%95%CF%86%CE%B1%CF%81%CE%BC%CE%BF%CE%B3%CE%AD%CF%82/VirtualBox και βάζοντας πάλι τα νέα sch-scripts.

Μόνο τα Guest Additions δεν έβαλα γιατί δεν μπούταρε στη συνέχεια η εικονική μηχανή.

Όταν εκκινώ όμως τον 32bit client στη μπλε ipxe οθόνη μου προσφέρει μόνο το Ubuntu Mate 20.04 (64 bit) το οποίο και φυσικά αποτυγχάνει.

Τι πρέπει να κάνω για να βλέπει ο client τον εξυπηρετητή της εικονικής μηχανής;

Ευχαριστώ!

alkisg

Προς το παρόν τις οδηγίες γι' αυτό το κόλπο τις έχω μόνο στα αγγλικά, είναι η τελευταία παράγραφος της σελίδας https://ltsp.org/man/ltsp/#examples.
Προσοχή, το VM πρέπει να είναι "flat vmdk με static disk allocation", όχι .vdi ούτε dynamic allocation.

Kermit, ο Βάτραχος


Kermit, ο Βάτραχος

Καλησπέρα, Άλκη!

Λειτούργησε σύμφωνα με τις οδηγίες σου.

Όταν τρέχει όμως πλέον η εικονική μηχανή, σε κάποια από τα 64 bit capable μηχανήματα προσφέρεται μόνο το x86_32 image (18.04). Σε κάποια άλλα και τα δύο images και επιλέγουν κανονικά το 20.04.

Όταν δεν τρέχει η εικονική μηχανή, όλα λειτουργούν κανονικά και προσφέρεται σε όλους το 20.04.

Υπάρχει τρόπος να προσφέρεται το x86_32 μόνο σε έναν υπολογιστή (τον 32 bit προφανώς) και στα υπόλοιπα μόνο το 20.04;

alkisg

Αν κατάλαβα καλά, δεν έχει γίνει σωστά η δημοσίευση της 32bit έκδοσης.
Ποιο είναι το αποτέλεσμα της παρακάτω εντολής;

ls -lR /srv/ltsp

Θα πρέπει πλέον να τρέχεις χωριστά `sudo ltsp image /` ή `sudo ltsp image x86_32` για να γίνεται η κατάλληλη δημοσίευση εικονικού δίσκου. Τη στιγμή της δημοσίευσης του x86_32, η εικονική μηχανή θα πρέπει να είναι κλειστή. Μετά τη δημοσίευση δεν ενοχλεί να είναι ανοιχτή κι ας λειτουργούν οι clients, αφού το vmdk είναι ξεχωριστό αρχείο από το /srv/ltsp/images/x86_32.img.
Μετά την πρώτη δημοσίευση, πρέπει να τρέξεις και ένα `sudo ltsp ipxe` ώστε να δημιουργηθούν και οι δύο καταχωρήσεις στο μενού του ipxe.
Οι clients θα πρέπει να διαλέγουν αυτόματα τη σωστή καταχώρηση χωρίς να χρειάζεται να το επιλέξουν οι χρήστες.

Kermit, ο Βάτραχος

administrator@srv-dim-vonits:~$ ls -lR /srv/ltsp
/srv/ltsp:
σύνολο 8
drwxr-xr-x 2 root root 4096 Οκτ   8 10:36 images
lrwxrwxrwx 1 root root   63 Οκτ   8 10:34 x86_32.img -> '../../home/administrator/VirtualBox VMs/x86_32/x86_32-flat.vmdk'

/srv/ltsp/images:
σύνολο 13942168
-rw-r--r-- 1 root root 2044690432 Οκτ   8 10:36 x86_32.img
-rw-r--r-- 1 root root 6116757504 Οκτ   7 13:31 x86_64.img
-rw-r--r-- 1 root root 6115319808 Οκτ   6 10:35 x86_64.img.old


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

Ξαναέκανα τη δημοσίευση και έτρεξα και την ltsp ipxe (την είχα τρέξει και νωρίτερα) και η συμπεριφορά παρέμεινε ίδια.

Όταν η εικονική μηχανή είναι κλειστή, βλέπουν δύο καταχωρίσεις και μπαίνουν στη σωστή (20.04).

Όταν η εικονική μηχανή τρέχει, τότε σε κάποια μηχανήματα που έχουν και τις δύο καταχωρήσεις, επιλέγουν τη σωστή (20.04), ενώ κάποια μηχανήματα που έχουν μόνο μία (λάθος) καταχώρηση (την 18.04) την επιλέγουν (δεν εμφανίζεται η 20.04).

Λογικά δεν είναι μεγάλο πρόβλημα, δεδομένου πως μπορώ να ξεκινήσω την πλειονότητα των μηχανημάτων σωστά, πριν ξεκινήσω την εικονική μηχανή και προσθέσω και το τελευταίο 32bit μηχάνημα στο δίκτυο. Το θέμα είναι, αν στη συνέχεια επανεκκινήσει ένα από το 64bit και μπει στην 18.04.

alkisg

Αααα τώρα το έπιασα. Έκανες LTSP server και το vmdk, ενώ δεν έπρεπε/χρειαζόταν.
Άνοιξε την εικονική μηχανή και μέσα της δώσε:
sudo rm -rf /srv/ltsp /srv/tftp /etc/dnsmasq.d/ltsp-dnsmasq.conf

Κλείσ' την, και απ' έξω στον server δώσε:
sudo ltsp ipxe

Έτοιμο. Αν θες βγάλε και το bridge mode στο networking και βάλε το προεπιλεγμένο NAT για να μην μπερδεύεσαι.

Kermit, ο Βάτραχος

Αυτό ακριβώς έκανα. Δεν πέρασε καν από το μυαλό, πως δεν χρειαζόταν.
Αναρωτιόμουν μεν πώς θα συνεννοηθούν οι δύο dnsmasq, αλλά είπα πως κάποιος τρόπος θα υπάρχει.  8)

Άρα, αν κατάλαβα καλά, ο μοναδικός (πλέον) server μοιράζει το κατάλληλο image στους client, ανάλογα με την αρχιτεκτονική τους και την εικονική μηχανή την στήνουμε μόνο και μόνο για να δημιουργήσουμε το 32 bit image.
Έχω κρατήσει snapshot από την αρχική εγκατάσταση της εικονικής μηχανής, πριν βάλω τα sch-scripts. Μήπως θα έπρεπε να το επαναφέρω;

Θα το διορθώσω πάντως αύριο το πρωί και θα βγάλω και το bridge mode.

Ευχαριστώ και πάλι πάρα πολύ!

alkisg

Μια χαρά τα κατάλαβες! 👍
Επίσης, τους λογαριασμούς χρηστών τους συντηρούμε μόνο στον LTSP server, όχι στο VM.
Για το snapshot, οι αλλαγές μετά το snapshot αποθηκεύονται σε ξεχωριστό αρχείο, και η `ltsp image x86_32` δεν είναι αρκετά έξυπνη, οπότε δημοσιεύει το αρχικό image, πριν το snapshot.
Τα sch-scripts από τη μία κάνουν το image "server", αλλά από την άλλη κάνουν και διάφορα καλά, φτιάχνουν τα ελληνικά, αλλάζουν κάποιες προεπιλογές όπως τα μενού, διορθώνουν προγράμματα όπως τα gcompris, tuxpaint, unzip, gdebi...
Οπότε εν τέλει θα σου πρότεινα να κάνεις merge snapshot και να το αφήσεις μαζί με τα sch-scripts.

Btw για το Ubuntu 22.04 σκέφτομαι να διαχωρίσω ένα sch-client πακέτο, που να κάνει όλες αυτές τις ωραίες αλλαγές χωρίς να κάνει το μηχάνημα server, για να μπορούμε να το χρησιμοποιούμε και σε εικονικές μηχανές αλλά και σε standalone εγκαταστάσεις.

Kermit, ο Βάτραχος

Εντάξει, έκανα ό,τι πρότεινες και λειτούργησαν τα πάντα!  :)

Ο διαχωρισμός ενός υποψήφιου sch-client πακέτου μου φαίνεται καλή ιδέα, και απλά ελπίζω να διευκολύνει και την συντήρηση του όλου πρότζεκτ.

Εγώ ξέρω πως χωρίς το έργο σου, το δικό μου έργο θα ήταν τάξεις μεγέθους πιο δύσκολο!

Ευχαριστώ για όλα!