Επιλογή server για boot

Ξεκίνησε από bdaloukas, 30 Σεπ 2011, 10:19:14 ΜΜ

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

bdaloukas

Αν υπάρχουν 2 servers στο δίκτυο είναι δυνατόν στο ξεκίνημα των clients να ρωτάει με ποιον από τους δύο να συνδεθεί;
Επίσης καλό θα ήταν να μπορούσα να το ρυθμίσω ώστε, αν δεν γίνει καμία επιλογή, μετά από κάποια δευτερόλεπτα κάποιοι clients να συνδεθούν αυτόματα στον ένα server και σε κάποιοι clients αυτόματα στον άλλο.

aspd

Στο https://alkisg.mysch.gr/steki/index.php?topic=3177.msg34890#msg34890,  Απάντηση #7, λέει πώς να καθορίσεις σε ποιον server θα κάνει boot κάθε client.

bdaloukas

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

alkisg

Καταρχάς θα χρειαστείς τον τρόπο που ανέφερε παραπάνω η aspd για να διαχωρίσεις σε ποιους clients θα απαντάει ποιος server.

Στη συνέχεια, για το μενού, εδώ έχω καταγράψει έναν τρόπο με ωραία οθόνη επιλογής κτλ:
https://alkisg.mysch.gr/steki/index.php?topic=2828.0

Επειδή όμως αυτός ο τρόπος είναι λίγο πολύπλοκος, να προτείνω κι έναν δεύτερο, πιο εύκολο τρόπο, για πιο απλοϊκό μενού.
Από τα sch-scripts πηγαίνεις στο μενού Εξυπηρετητής → Αρχεία ρυθμίσεων → Επεξεργασία ρυθμίσεων του dnsmasq, και κοντά στη γραμμή 47 προσθέτεις την παρακάτω γραμμή:
pxe-service=X86PC, Boot from the other server, /ltsp/i386/pxelinux, 10.160.31.11


όπου 10.160.31.11 η IP του άλλου server σου. Δηλαδή στον server1 θα βάλεις την IP του server2, και αντίθετα, στο dnsmasq του server2 θα βάλεις την IP του server1.

Έτσι ο κάθε server θα στέλνει ως προεπιλογή τον εαυτό του, ώστε να μπορεί να δουλέψει το εργαστήριο ακόμα κι αν ο server του άλλου εργαστηρίου είναι κλειστός,
αλλά θα δίνει και τη δυνατότητα στο χρήστη να επιλέξει τον άλλον server πατώντας F8 και επιλέγοντας από το μενού.

aspd

#4
Παράθεση από: alkisg στις 01 Οκτ 2011, 07:07:15 ΠΜ
αλλά θα δίνει και τη δυνατότητα στο χρήστη να επιλέξει τον άλλον server πατώντας F8 και επιλέγοντας από το μενού.
Αυτό όμως φαντάζομαι δε θα παίζει στους παλιούς clients. Δε νομίζω να μου δίνουν δυνατότητα για μενού με F8.
Θα πρέπει γι' αυτούς να δοκιμάσω τον πρώτο τρόπο, τον πιο πολύπλοκο.


alkisg

Το F8 μενού που λέω παραπάνω, δεν το βγάζει το BIOS, αλλά το gPXE (ή το ενσωματωμένο PXE stack της κάρτας δικτύου), ως απάντηση στις επιλογές που του στέλνει το dnsmasq. Άρα θα πρέπει να παίζει σε όλους τους clients, είτε παλιούς είτε καινούργιους.

Μάλιστα θα πρέπει να το βλέπεις ήδη σε όλους τους clients σου:
    Press F8 for boot menu (3)

και αν πατήσεις F8 εντός 3 δευτερολέπτων, οι υπάρχουσες επιλογές είναι:
--> Boot from network
    Boot from local hard disk


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

aspd

Δούλεψε κανονικά ο δεύτερος τρόπος και στους παλιούς clients.
Χρειάστηκε να κάνω επανεκκίνηση του dnsmasq (sudo invoke-rc.d dnsmasq restart) και μετά εμφανίστηκε 3η επιλογή (boot from other server) στο μενού με F8.
Ευχαριστώ πολύ.



aspd

1. Στα ubuntu 10.04 έβαζα στο /etc/dnsmasq.d/ltsp.conf. γραμμές σαν :

dhcp-mac=lab2,00:50:ba:cf:9d:0d
dhcp-mac=lab2,00:24:8c:c6:50:60
dhcp-ignore=#lab2

Στα ubuntu 12.04 θα τις βάλω στο τέλος του /etc/dnsmasq.conf;
και μετά θα κάνω τσ παρακάτω;
sudo ltsp-config dnsmasq --overwrite
sudo service dnsmasq restart


2. Επίσης υπάρχει τρόπος αντί να λέω σε κάθε server ποιους clients να δέχεται, να του λέω ποιους να ΜΗ δέχεται, ώστε να μπορούν να κάνουν boot σε αυτόν όλοι εκτός από τα μηχανήματα του άλλου εργαστηρίου;

alkisg

1) Βάλτες πάλι στο /etc/dnsmasq.d/ltsp.conf (ή sxoleio.conf) αλλά μόνες τους, χωρίς άλλες οδηγίες. Ο dnsmasq διαβάζει όλα τα αρχεία στο /etc/dnsmasq.d, οπότε οι δικές σου ρυθμίσεις θα είναι σε αυτό το αρχείο, ενώ οι ρυθμίσεις του LTSP θα είναι στο /etc/dnsmasq.d/ltsp-server-dnsmasq.conf.

2) Νομίζω ότι αρκεί να βγάλεις το # από τη γραμμή dhcp-ignore=#lab2. Δηλαδή το "#" σημαίνει "όχι".

aspd

#9
2) Νομίζω ότι αρκεί να βγάλεις το # από τη γραμμή dhcp-ignore=#lab2. Δηλαδή το "#" σημαίνει "όχι".


Μετά χρειάζεται επανεκκίνηση του dnsmasq με τα παρακάτω;  Δεν έκανα επανεκκίνηση το dnsmasq, οπότε μήπως γι' αυτό δεν αγνοεί έναν client που ήθελα.
sudo ltsp-config dnsmasq --overwrite
sudo service dnsmasq restart

alkisg

Για οποιεσδήποτε αλλαγές στο /etc/dnsmasq.d/*, χρειάζεται επανεκκίνηση του dnsmasq, ναι.
Το sudo ltsp-config dnsmasq --overwrite επανεκκινεί αυτόματα και το dnsmasq (κάνει εσωτερικά service dnsmasq restart).

Αν τελικά δεν παίξει, ανέβασε το αποτέλεσμα της παρακάτω εντολής:
egrep -rv '^#|^$' /etc/dnsmasq.*

aspd

Δουλεύει κανονικά,  βγάζοντας το # και επανεκκινώντας το dnsmasq.
Ευχαριστώ πολύ.

alkisg

Εντολή για γρήγορο μαρκάρισμα όλων των mac σε ένα εργαστήριο (αφού μπουτάρουν), βολεύει για workshops:
arp -an | awk '{ print "dhcp-mac=lab,"$4; }' | sort -u