ich spiele mich gerade damit, NetBooting ohne MacOS X Server hinzubekommen.
Basierend auf den ausführlichen Anleitungen von Mike Passwall
(<http://mike.passwall.com/macnc/>) bzw. Alistair Ridell
(<http://frank.watsons.edin.sch.uk/~ali/nb/>) habe ich den dhcpd gepatcht
(zum einen den 2.x mit Alistairs Patches und zum anderen dhcpd 3.0 mit denen
von Rob Lineweaver (<http://software.harrisonburg.k12.va.us/linux/src/>).
Der DHCP-Part funktioniert so weit auch noch fein. Macs akzeptieren den
Server auch als Netboot-Server (man kann das Netboot-Icon also auswählen,
wenn man mit gedrückter [alt]-Taste startet), auch der Transfer des MacOS
ROM Files klappt noch per TFTP... Aber danach passiert gar nichts mehr :-(
Mar 10 01:04:24 netboot-1 dhcpd: DHCPDISCOVER from 00:30:65:8d:60:e2 via
eth0
Mar 10 01:04:24 netboot-1 dhcpd: Received BootP request from Macintosh
netboot client
Mar 10 01:04:24 netboot-1 dhcpd: DHCPOFFER on 195.30.238.154 to
00:30:65:8d:60:e2 via eth0
Mar 10 00:04:25 netboot-1 in.tftpd[3890]: RRQ from 195.30.238.154 filename
/Mac OS ROM
Ausprobiert habe ich mittlererweile zwei iMacs (Slot- und Tray-Loading) und
ein Powerbook G4 als Clients. Die Symptome sind identisch. Es tauchen auf
dem Netboot-Server keinerlei AFP-relevante Sachen in den Logs auf und auch
ein Packet Sniffer zeigt keinerlei Anstalten seitens der Netboot Clients,
vielleicht mal ein Disk-Image zu laden. Die Konfigurationsdatei liegt hier:
<http://users.phg-online.de/tk/netboot/troubleshooting/dhcpd.conf.txt>
Falls mir da wer auf die Sprünge helfen könnte, wäre ich sehr froh.
Gruss,
Thomas
> Falls mir da wer auf die Sprünge helfen könnte, wäre ich sehr froh
Manchmal ist doch alles einfacher, als man denkt:
1) Der Packet Sniffer loggte keine AFP-Geschichten. Von daher war schon mal
meine Annahme falsch, daß der Netboot Client keine AFP-Verbindung
herstellen will
2) Im Pfad zum Boot-Image war eine falsche IP-Adresse für den AFP-Server
kodiert. Kaum stimmte die, tauchten afpd Meldungen im Log des
Netboot-Servers auf (ich benutze gerade Netatalk dafür)
3) Allerdings kam kein Mounten des Volumes zustande. Ein temporäres Aufrufen
des afpd mit der Option -d (für Debug --> Es wird dann raw an stdout
ausgegeben, was die Clients so wollen) zeigte schließlich schnell, was
Sache war:
command: 18
12 06 41 46 50 32 2E 32 10 43 6C 65 61 72 74 78 ..AFP2.2.Cleartx
74 20 50 61 73 73 77 72 64 07 XX XX XX XX 00 XX t Passwrd.XXXX.X
XX XX XX XX XX XX XX 00 XXXXXXX.
(end)
Netboot Clients wollen zwangsweise die "Cleartext UAM" benutzen, die ich
aber auf dem Server verboten habe (weil ich Paßwortübertragungen im
Klartext für generell nicht so schlau halte). Nach einem Hinzufügen von
'uams_clrtxt.so' zur UAM-Liste des afpd funzte dann alles perfekt.
4) Ebenfalls wichtig ist noch, daß nicht nur der Pfad zum (read-only)
Boot-Image stimmt, sondern auch der zum sog. private Image, da auf dieses
anschl. sämtliche Schreibvorgänge stattfinden.
Thomas, der sich gerade wundert, wieso der Test-Mac übers Netz deutlich
schneller bootet als von seiner lokalen Platte
[Netbooting -- in der rauen Variante]
> Eggi, der gerade mal wieder gemerkt hat, wie viele tolle Sachen er nicht
> kann und weiß.
Naja, eigentlich ist das Thema ein alter Hut, wie man spätestens merkt, wenn
man zu Netboot was per google sucht. Man wird regelrecht überschüttet mit
Fundstellen, die nichts mit dem MacOS zu tun haben, sondern mit so ziemlich
allen anderen seriösen und weniger seriösen Betriebsystemen. Bzgl. MacOS
ganz lesenswert: <http://mike.passwall.com/macnc/inside_netbooting.pdf>
Und wieder "eigentlich" bräuchte man sich ja auch keinen grossen Kopf zum
Thema machen, da man ja mit MOSX Server schon ein Werkzeug an der Hand
hätte, das Netboot 'out of the box' anbieten kann (noch dazu in der IMO
sinnvollen "Macintosh Manager" Variante).
Nur leider fehlen in meinen Augen bei der Apple-Lösung so essentielle Dinge
wie die Möglichkeit, flexible Lastverteilung vorzunehmen, Failovers zu
realisieren bzw. ganz allg. auf einer gegebenen Hardware auch eine ganze
Latte Clients performant zu versorgen.
Die OpenSource Netboot-Variante läuft auf so ziemlich allem, was mit Nullen
und Einsen umgehen kann und benötigt neben einem OS (xBSD, Linux, etc.) nur
noch einen TFTP-, einen gepatchten DHCP- und einen AFPoverTCP-Server.
Netterweise kann das alles auf verschiedene Server verteilt werden und sogar
so fein granuliert, daß man Clients ihr Boot-Image von AFP-Server A holen
läßt und die private Images, auf die die Änderungen geschrieben werden, auf
Server B legt.
Im Moment bin ich im Rahmen eines Projekts dabei, mir da ein paar Gedanken
zu Failover-Situationen und automatisierter Lastverteilung zu machen und das
Ganze dann mit ein paar serverseitigen Scripts und einem netten Admin GUI
(<http://users.phg-online.de/tk/netboot/netboot-prepare-screenshot.gif>) für
den Mac abzurunden. Denn wenn man wirklich mal Netboot spielt und der eine
Server, von dem alle Macs booten, stirbt, dann steht im Fall der Fälle eben
auch eine Anzahl x an Arbeitsplatzrechnern, wenn man nicht entsprechend
vorgesorgt hat.
Gruss,
Thomas