Install Over Net HowTo


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

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

Cloning a Hard disk install (any OS) over a network:

Because of the simplicity of it and the netboot option, we are able to use Knoppix to clone computers without having to purchase a Norton Ghost license for each system. Here is how I use Knoppix on a daily basis.

We have several computers that are configured identically for the product that we sell. So I start one "set" up. One acts as the knoppix boot server and the others net boot off of it. Then I connect a long ethernet cable to a "fresh" set that has not had the OS or our special software loaded yet and net boot them off of the knoppix server.

Then one by one I execute a command like this to clone them.

  • On the machine I want to copy from:
    • Open 2 root windows
    • start xload on one of them
    • cat /dev/hda | gzip -9 | nc -l -p 5030
  • On the machine I copy to:
    • nc 192.168.0.1 5030 | gunzip > /dev/hda (192.168.0.1 is the ip of whatever machine I am cloning)

When the xload drops down to zero, then I know it is done. I can typically start about 2 or 3 clients to copy them.

For Windows 9x systems. I do a format c: /s from dos and then untar a tarred backup that I made using knoppix.

Since Knoppix auto configures the hardware, I don't have to mess with making boot floppies or keeping track of them.

Optimizing:

I often do such things although the above also works. The following is faster though:

  • First find out the IP of the targetcomputer:
    • ifconfig -a
  • Then
    • echo Data is being transferred | nc -v -v -l -p 5030 | gunzip ~| buffer -m 1m > /dev/hda
  • While it's waiting, on the Server:
    • buffer -m 1m < /dev/hda | gzip -2 | nc -v -v -w 10 192.168.0.17 5030

(Where 192.168.0.17 is the IP of the targetcomputer.)


This solution has the following pros compared to the one above:

  • More efficient due to using "buffer"
  • 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.