|
|
(13 intermediate revisions by 9 users not shown) |
Line 1: |
Line 1: |
− | === Cloning a Hard disk install (any OS) over a network:===
| + | {{delete|out of date}} [[User:WPSchulz|WPSchulz]] 13:17, 5 June 2014 (MDT) |
− | | + | |
− | 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.
| + | |