пятница, 15 октября 2010 г.

Клонирование Linux по сети

Это короткая, но очень удобная инструкция по клонированию одной Linux-машины на другую (или просто созданию полной копии рабочей станции/сервера).
Возможно, у вас есть небольшой офис, в котором вы настроили одну машину так, как вам удобно, и вам нужно развернуть ее на N других ПК или вы просто хотите сделать резервную копию сервера или рабочей машины на другую, или даже просто файл образа.
Основной инструмент для этого – netcat, который является чрезвычайно мощным и имеет множество других методов применения, которые здесь рассмотрены не будут.
Машина назначения:
** Загрузить в режиме восстановления Linux с поддержкой сети (CentOS работает отлично).
Инициируйте netcat на прослушивание 30-го порта – nc -l -p <portnumber> | dd of=/dev/sda (предполагается, что жёсткий диск sda, а не had):
# nc -l -p 30 | dd of=/dev/sda
Машина источник:
Сбросьте содержимое диска на ПК назначения – #dd if=/dev/sda | nc <ipaddresstarget> <portnumber>
# dd if=/dev/sda | nc 192.168.0.20 30
Затем, чтобы проверить, что трафик идет от источника, переключитесь на другой терминал (ALT/F2) и сбросьте данные tcp на NIC (предполагается, что это eth0):
tcpdump -tnli eth0 port 30
Если вы хотите просто сделать образ, то измените путь на:
# nc -l -p 30 | dd of=mybackup.img
Вот и все. Естественно, что целевой ПК/диск не может быть меньше источника. Я надеюсь, что это поможет кому-то сохранить кучу времени.
.
В комментариях к статье также советуют тупо сделать: dd if=/dev/sda | pv | nc 192.168.0.20
.
Оригинал:  http://www.howtoforge.com/ghosting-the-machine

---------
Assuming you have an ssh server running, which is more secure than opening a port to anyone:

If the target machine or network is the limiting factor:

dd if=/sourcepath/sourcefilename | gzip | ssh user@desthost "dd of=/targetpath/backup.img.gz"

If the source machine is the limiting factor:

dd if=/sourcepath/sourcefilename | ssh user@desthost "gzip > /targetpath/backup.img.gz"

If you are wanting to use netcat, just break up the commands above and use the netcat commands from the original post.

eg

dd if=/sourcepath/sourcefilename | gzip | nc 192.168.0.20 30 if the target or network are the limiting factors

or

nc -l -p 30 | gzip | dd of=mybackup.img.gz

only compress it at one end as compressing something twice is generally little gain over compressing once.

------------
pv is a program that graphically displays the progress/status of data going through a pipe. install it and try "pv cat /dev/random > /dev/null"

Комментариев нет:

Отправить комментарий