User Tools

Site Tools


Sidebar


Здравствуйте!

Меня зовут Михаил!
Я системный администратор
и наполняю эту wiki,
решая разнообразные IT-задачки.

Моя специализация - виртуализация!

Я всегда готов помочь Вам
наладить IT-инфраструктуру
за скромное вознаграждение!

mike@autosys.tk
+7 (910) 911-96-23

linux_faq:копирование-дисков-по-сети-с-помощью-dd-со-сжатием-на-лету

Если мы хотим скопировать целиком диск, чтобы потом развернуть его, например, на виртуальной машине, то делаем так. На исходной машине загружаемся с Live-CD, потом набираем команду:

dd if=/dev/sda bs=16384 | pigz -c | ssh host "cat > /file_sda.gz"

Тут host - это удаленная машина на которую мы копируем содержимое диска /dev/sda в файл /file_sda.gz.

А потом можно загрузить целевую виртуальную машину с Live-CD и залить на ее диск содержимое образа. Выполнять это надо с хоста на который мы скопировали образ /file_sda.gz:

pigz -dc /file_sda.gz | ssh VMHost "dd of=/dev/sda"

Тут VMHost - это хост виртуальной машины, загруженный с Live-CD. /dev/sda - это диск на который мы разворачиваем образ.
Посмотреть прогресс выполнения можно послав процессу dd сигнал -USR1:

kill -USR1 $dd_PID

Тут $dd_PID - это PID процесса dd.

Чуть более сложный вариант:

nc -l 1234 | bzip2 -d|dd of=/tmp/image.img bs=4096
dd if=/dev/sda bs=4096| bzip2 -9 | nc 1.2.3.4 1234 

Вот так просто и хорошо получается сжатие и распаковка нелету:

dd if=/dev/sda bs=16384 | pigz -c | ssh username@hostname "pigz -cd | dd of=/dev/sda bs=16384" 

Discussion

Enter your comment. Wiki syntax is allowed:
X H T L S
 
linux_faq/копирование-дисков-по-сети-с-помощью-dd-со-сжатием-на-лету.txt · Last modified: 2018/10/18 07:11 by admin