Συγκεκριμένοι thin clients δεν εκκινουν σε Ubuntu 10.04 LTSP

Ξεκίνησε από idiamantak, 30 Σεπ 2010, 03:20:57 ΜΜ

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

idiamantak

Καλησπέρα παιδιά.....

με τοποθετησαν σε ΓΕΛ με εργαστήριο του 1999 και αποφασισα να χρησιμοποιήσω Ubuntu thin clients...
Η εγκατάσταση στο server έγινε συμφωνα με τις οδηγιες και στους clients χρησιμοποίησα το ltsp-loader_0.1.4
Όλα καλά σε 8 από τα 12 μηχανήματα....
Τα υπόλοιπα 4 μετά την έναρξη του ltsp-loader, σταματούν στο σημείο
Loading vmlinuz ..... aborted
Τα μηχανήματα που εχουν πρόβλημα είναι πάντα τα ίδια....

Το στήσιμο του δικτύου έχει ως εξής:
1. Cisco router στον οποίο συνδέονται απευθείας 2 switches....
2. Στον ένα συνδέονται 10 pc, στον άλλο 2 καθώς και άλλα 3 από τα γραφεία....
Θεώρησα ότι φταίει ο Cisco και τον αποσύνδεσα από τα switches αλλά τότε δεν έπαιρναν καθόλου IP, και εμφάνιζε στους clients το γνωστό μήνυμα DISK BOOT FAILURE.....
Έβαλα όλα τα pc του εργαστηρίου στο ίδιο switch αλλά το πρόβλημα παρέμεινε....

Έδωσα τις εντολές
    grep range= /etc/dnsmasq.d/ltsp.conf
    ip -oneline -family inet addr show
    sudo /usr/lib/klibc/bin/ipconfig -n eth0

και τα αποτελεσματα είναι τα εξης:
dhcp-range=10.8.24.11,proxy
dhcp-range=192.168.0.20,192.168.0.254,8h

1: lo inet 127.0.0.1/8 scope host lo
2: eth0 inet 10.8.24.11/24 brd 10.8.24.255 scope global eth0

IP-Config: eth0 hardware address 00:24:1d:c1:49:fa mtu 1500 DHCP RARP
IP-Config: eth0 guessed broadcast address 10.8.24.255
IP-Config: eth0 complete (from 10.8.24.1):
address: 10.8.24.132 broadcast: 10.8.24.255 netmask: 255.255.255.0
gateway: 10.8.24.1 dns0 : 194.63.239.164 dns1 : 194.63.237.4
domain : ira.sch.gr
rootserver: 10.8.24.1 rootpath:
filename :



alkisg

Παράθεση από: idiamantak στις 30 Σεπ 2010, 03:20:57 ΜΜ
Τα υπόλοιπα 4 μετά την έναρξη του ltsp-loader, σταματούν στο σημείο
Loading vmlinuz ..... aborted
Τα μηχανήματα που εχουν πρόβλημα είναι πάντα τα ίδια....

Μάλλον το gPXE ή το pxelinux σου δεν υποστηρίζουν σωστά τις κάρτες δικτύου αυτών των τερματικών. Τι μοντέλο είναι;

1) Αν έχεις πρόχειρες άλλες κάρτες, δοκίμασε να βάλεις άλλες.

2) Αλλιώς, δοκίμασε να αναβαθμίσεις το pxelinux σου δίνοντας:
wget 'http://people.ubuntu.com/~alkisg/pxelinux_3.71+dfsg-5.0' -O /tmp/pxelinux.0 && sudo cp /tmp/pxelinux.0 /var/lib/tftpboot/ltsp/i386/


3) Ή να αναβαθμίσεις το gPXE σου κατεβάζοντας το σε output format ".lkrn" από εδώ και αποθηκεύοντάς το σαν C:\ltsp\linux στους clients, αντικαθιστώντας το υπάρχον αρχείο.

idiamantak

Καλημέρα,
δοκίμασα και τις 3 λύσεις αλλά δεν έπιασαν...
εφερα και ενα pc απο το σπιτι μου, το συνδεσα, στο ίδιο αλλά και σε διαφορετική θεση (η οποία έπαιζε κανονικά)  και εχει το ίδιο πρόβλημα


alkisg

Δεν απάντησες όμως στην ερώτηση "τι μοντέλο είναι οι κάρτες", δεν μπορώ να πω κάτι παραπάνω χωρίς αυτήν την πληροφορία.

Για παράδειγμα, η δικιά μου είναι:
$ lspci -nn -k | grep -A 2 Ethernet
08:00.0 Ethernet controller [0200]: Broadcom Corporation NetLink BCM5787M Gigabit Ethernet PCI Express [14e4:1693] (rev 02)
	Kernel driver in use: tg3
	Kernel modules: tg3


Δηλαδή αν πεις π.χ. ένα απλό "realtek" δεν φτάνει, χρειάζεται το ακριβές μοντέλο (π.χ. realtek 8139), ή το pci id (π.χ. το 14e4:1693 παραπάνω).

idiamantak

Λοιπόν όλοι οι clients (και όσοι εκκινούν κανονικά και οι προβληματικοί) έχουν κάρτα Realtek rtl-8139c με ID [10ec:8139]

alkisg

Ωραία, οπότε δεν φταίει η κάρτα, το rtl8139 είναι από τα πιο συχνά χρησιμοποιούμενα chipsets.

Δεν το έχω ξαναδεί ποτέ αυτό το πρόβλημα. Ο hpa, ο προγραμματιστής του pxelinux που είναι υπεύθυνο για το φόρτωμα του vmlinuz, λέει εδώ ότι προκαλείται αν το pxelinux λάβει το σήμα Ctrl+C (ή Esc) είτε από το πληκτρολόγιο είτε από τη σειριακή θύρα.

Δοκίμασε λοιπόν τα παρακάτω:
1) Μπες στο BIOS και απενεργοποίησε τις σειριακές θύρες.
2) Αν το προηγούμενο δεν πετύχει, ξαναμπές στο BIOS, βάλε την επιλογή "Halt on: no errors" ώστε να μη σταματάει αν δεν βρει πληκτρολόγιο, βγάλε εντελώς το πληκτρολόγιο από το τερματικό, και δες αν έτσι μπουτάρει.

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

Παρεμπιπτόντως, πόση RAM έχουν;

idiamantak

Καλημέρα,
εφάρμοσα και τις δύο λύσεις αλλά τιποτα ακομα...
Όλοι έχουν 256 MB RAM

Εκτός του gPXE, γίνεται να χρησιμοποιήσω κάποιο διαφορετικό πρόγραμμα;

alkisg

Δεν φταίει το gPXE αλλά το pxelinux.

Εφόσον ούτε έτσι δούλεψε, μπορείς να ακολουθήσεις αυτό που γράφω σε αυτό το θέμα για να μπουτάρεις κατευθείαν τον kernel παρακάμπτοντας το pxelinux.

Επίλεξε για output format το "Linux kernel .lkrn", και το αρχείο που θα λάβεις βάλ' το στο C:\ltsp\linux.

Αν δεν το καταφέρεις μπες στο IRC για live βοήθεια.

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

idiamantak

Λοιπόν ακολούθησα τις οδηγίες που δίνεις https://alkisg.mysch.gr/steki/index.php?topic=1451.msg24373#msg24373, έφτιαξα το αρχείο και το εβαλα στo C:\ltsp\linux

Ξεκίνησε να φορτώνει έως ότου εφτασε στο σημείο όπου επαναλαμβάνει τα εξής:
Sending discover
sending select for 10.8.24.157

Θα εφαρμόσω τις οδηγίες εδώ https://alkisg.mysch.gr/steki/index.php?topic=1451.msg30596#msg30596 και βλέπουμε ....

alkisg

Ωραία, παρακάμφθηκε το pxelinux, το πρόβλημα αυτό που αναφέρεις τώρα είναι γνωστό.

Έχεις cisco router;
Υπάρχει ένα bug στο πακέτο udhcpc με τους cisco (αλλά πιθανώς και με άλλους) routers το οποίο λύσαμε στις επόμενες εκδόσεις του Ubuntu, όπως φαίνεται στο comment #12 εδώ.

Ο πιο εύκολος τρόπος να το παρακάμψεις είναι αυτός που διάλεξες, δηλαδή απλά να πεις στον kernel τι IP να πάρει και να μην χρησιμοποιηθεί καθόλου το udhcp. Γράφω δηλαδή συγκεντρωτικά τις εντολές του gPXE που θα χρειαστείς:
dhcp net0
# Put the LTSP server IP in the following line
set next-server 10.160.31.10
kernel tftp://${next-server}/ltsp/i386/vmlinuz ro initrd=initrd.img nbdroot=${next-server}:2000 ip=${ip}:${next-server}:${gateway}:${netmask}:${hostname}:eth0:none nbd_proxy=false
initrd tftp://${next-server}/ltsp/i386/initrd.img
boot vmlinuz


Τα "set net0/ip 10.160.31.101" κτλ που αναφέρονται στο άλλο μήνυμα δεν τα χρειάζεσαι, οπότε μπορείς να χρησιμοποιήσεις το ίδιο gpxe.lkrn για όλους τους υπολογιστές.

alkisg

Ρώτησα στο κανάλι #syslinux για το πρόβλημά σου και λένε ότι μάλλον φταίει το BIOS, ότι αφήνει κάποιο RAM hole.
Πρότειναν τα παρακάτω - αν έχεις όρεξη τους δίνουμε ανατροφοδότηση, αν βαριέσαι κάνε απλά το παραπάνω με το gPXE και ξεμπερδεύεις:

  • Να δοκιμάσεις με την τελευταία έκδοση του pxelinux.0 από εδώ (θέλει rename σε pxelinux.0).
  • Αν προλαβαίνεις να βγάλεις φωτογραφία για να δουν το πρόβλημα.
  • Να δοκιμάσεις το linux.c32 το οποίο τα καταφέρνει καλύτερα με memory holes - αυτό θέλει λίγο διάβασμα στο site τους για το πώς χρησιμοποιείται.
  • Να δεις αν οι clients έχουν διαφορετική έκδοση BIOS και αν ναι, να δοκίμαζες για BIOS update.

idiamantak

Ευχαριστώ πάρα πολύ για τις οδηγίες....
Δούλεψαν όλοι και πλέον έχω εργαστήριο με 12 PC που δεν θέλουν 5 λεπτά να εκκινήσουν...
Οι 4 που είχαν το πρόβλημα αργούν λίγο περισσότερο να φορτώσουν αλλά μιλάμε για διαφορά 20''.

Ναι στο εργαστήριο λειτουργεί Cisco router.

Λίγα στατιστικά....
11 Η/Υ με OpenOffice να τρέχει
Server: Core 2 Duo με 35% φόρτο, RAM 1,5 GB σε χρήση, Χρήση δικτύου περίπου 20%

mour

Επειδή αντιμετωπίζω ανάλογο πρόβλημα και κάπου έχω χαθεί με το thread μηπως είναι δυνατόν να μας πεις συγκεντρωτικά τα βήματα που έλυσαν το πρόβλημα?

idiamantak

Τα βήματα που έγιναν και οδήγησαν στη λύση είναι:

  • Δίνεις static ip στον server, συνηθως είναι της μορφής 10.Χ.Υ.10 αν μιλάμε για σχολικό δίκτυο
  • Πας http://rom-o-matic.net/gpxe/gpxe-1.0.0/contrib/rom-o-matic/ και πατάς το κουμπί [Customize] στο κάτω μέρος της σελίδας.
  • Διαλέγεις το output format που θες (εγώ διάλεξα Linux kernel loadable image .lkrn)
Στο τέλος της σελίδας όπου λέει Embedded script γράφεις [/list]
dhcp net0
# Put the LTSP server IP in the following line
set next-server 10.Χ.Υ.10
kernel tftp://${next-server}/ltsp/i386/vmlinuz ro initrd=initrd.img nbdroot=${next-server}:2000 ip=${ip}:${next-server}:${gateway}:${netmask}:${hostname}:eth0:none nbd_proxy=false
initrd tftp://${next-server}/ltsp/i386/initrd.img
boot vmlinuz

    Στην εντολή set next-server 10.Χ.Υ.10, γραφεις τη static IP του server σου
    • Πατάς το κουμπί [Get Image]
    • Το αρχείο που θα σου δώσει το αποθηκεύεις  και το αντιγράφεις στο φάκελο C:\ltsp με όνομα linux (υπάρχει ήδη ένα ίδιο αρχείο το οποίο αντικαθιστας)
    • Κάνεις επανεκκινηση και λογικά όλα ΟΚ

alkisg

Παράθεση από: mour στις 12 Οκτ 2010, 03:45:08 ΜΜ
Επειδή αντιμετωπίζω ανάλογο πρόβλημα και κάπου έχω χαθεί με το thread μηπως είναι δυνατόν να μας πεις συγκεντρωτικά τα βήματα που έλυσαν το πρόβλημα?
Πάντως επειδή το πρόβλημα του idiamantak ήταν η πρώτη φορά που το άκουγα θα πρέπει να είναι εξαιρετικά σπάνιο και δε νομίζω να είναι αυτό που αντιμετωπίζεις εσύ, οπότε θα είναι μάλλον καλύτερα να περιγράψεις εξ' αρχής αναλυτικά το πρόβλημά σου σε άλλο θέμα και να πεις ποιο είναι το τελευταίο μήνυμα που βλέπεις στον client κτλ.