Installation Ueber Netz


From Knoppix Documentation Wiki
Revision as of 19:57, 28 December 2004 by Markus (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Klonen einer bestehenden Festplatteninstallation (egal, welches Betriebssystem) über Netz:

Ich benutze Knoppix taeglich, um mittels der netboot-Option Rechner zu klonen. Das ist einfach und erspart es uns, fuer jedes System eine Norton-Ghost Lizenz zu kaufen.

Wir haben mehrere identisch zu konfigurierende Rechner für das Produkt, das wir verkaufen. Um welche davon neu einzurichten, benutze ich einen, der bereits eingerichtet ist (Master), als Knoppix Boot-Server. Die neuen Rechner, ohne Betriebssystem und Software, werden per Netzwerkkabel mit dem Master verbunden und booten vom dort laufenden Knoppix Server.

Dann führe ich folgende Befehle für jedes Gruppenmitglied durch:

  • Auf dem Master-Rechner:
    • 2 root-Konsolen öffnen
    • xload in einem starten
    • cat /dev/hda | gzip -9 | nc -l -p 5030
  • Auf dem Zielrechner:
    • nc 192.168.0.1 5030 | gunzip > /dev/hda (192.168.0.1 ist die IP des Masters)

Wenn xload auf 0 geht, weiß ich, dass der Vorgang fertig ist. Typischerweise kann ich 2 oder 3 Clients gleichzeitig klonen.

Für Windows-9x-Systeme führe ich "format c: /s" unter DOS aus und entpacke ein tar-Archiv, das ich mit Knoppix erstellt habe.

Da Knoppix die Hardware selber konfiguriert, habe ich kein Problem mit dem Erstellen von Boot-Floppies oder dem Aufbewahren solcher Floppies.


Optimierung:

Ich mache solche Sachen auch öfter. Das oben beschriebene funktioniert. Schneller geht es mit folgenden Modifikationen:

  • Auf dem Zielrechner erst einmal, um die IP-Nummer herauszufinden:
    • ifconfig -a
  • Dann
    • echo Datenübertragung läuft | nc -v -v -l -p 5030 | gunzip ~|
    • buffer -m 1m > /dev/hda
  • Wenn das wartet, anschließend auf dem Server:
    • buffer -m 1m < /dev/hda | gzip -2 | nc -v -v -w 10 192.168.0.17 5030

(Wobei für 192.168.0.17 die IP-Nummer des Zielrechners einzusetzen ist.)

Dieses Verfahren hat folgende Vorteile gegenüber dem oben beschriebenen:

  • Durch den Einsatz von "buffer" höherer Durchsatz. (Man kann auch damit experimentieren, den "buffer" zwischen gzip und nc einzusetzen, oder beides.)
  • Normalerweise wird "gzip -9" zum Engpass. Diese hohe Komprimierung ist übertrieben.
  • Durch das "-w 10" auf dem Server baut sich die Sache auf beiden Seiten ab, wenn alle Daten übertragen sind. Es ist nicht nötig, hier mit xload oder ähnlichem zu beobachten.


  • Hätte ich drei Zielrechner 192.168.0.18 bis 192.168.0.20, so würde ich auf jedem Zielrechner dasselbe machen wie oben, danach aber auf dem Server folgendes tun:
    • cd /tmp
    • mknod pipe1 p; nc -v -v -w 10 192.168.0.18 5030 < pipe1 ~&
    • mknod pipe2 p; nc -v -v -w 10 192.168.0.19 5030 < pipe2 ~&
    • buffer -m 1m < /dev/hda | gzip -2 | buffer -m 1m ~|
    • tee pipe1 | tee pipe2 | nc -v -v -w 10 192.168.0.20 5030

Der Trick hier ist, dass durch die "named pipes" die Festplatte auf dem Server nur ein mal gelesen werden muss. Dieses Verfahren stößt nicht schon bei drei Zielrechnern an seine Grenzen.