Этот вопрос является противоположностью этого вопроса.

Допустим, у меня есть файл изображения. example.img , хранится на сервере, доступном через ssh, rsync и wget (в зависимости от того, что работает).
Тогда у вас есть компьютер с запущенным Linux (скажем, Ubuntu.)

Вопрос, могу ли я dd из этого example.img на существующую машину через ssh или wget?
Будет ли эта команда

wget http://example.com/files/example.img | dd of=/dev/sda

работать, когда на самом деле Linux находится на /dev/sda?
и если example.img является загрузочным, сможет ли машина загрузить результат, учитывая, что сам example.img создан ранее из /dev/sda этой машины?

Спасибо!

2 ответа2

0

Отключение работающей машины заканчивается паникой ядра, и диск становится непригодным для использования.

когда linux находится в /dev /sda, и мы запускаем dd if = что-то из = /dev /sda, он зависнет на половине прогресса, а затем само ядро паникует.

0

Неясно, что именно вы спрашиваете, поэтому я буду работать над возможностями -

Если файл образа содержит сумеречный образ, включая разделы, а не только содержимое раздела, и если оборудование достаточно схоже (т. Е. Правильные драйверы - намного меньше, если проблема для Linux, то для Windows), и нет проблем, связанных с лицензией. (т.е. лицензионные ключи Windows на другом оборудовании) - если вы сможете полностью скопировать изображение, оно будет работать. Несмотря на то, что здесь есть проблемы, подобные вещи характерны для управления виртуальными машинами.

Следующая проблема связана с целевым диском - вы не хотели бы, чтобы ОС в данный момент работала с целевого диска, поэтому вам нужно загрузиться с zUSB, альтернативного dtivr PXE/ сетевой загрузки. Загрузка с существующего активного диска, скорее всего, оставит его в несогласованном состоянии со скрытыми проблемами.

На самом деле копировать образ не так уж и сложно - вы просто транслируете его (например, через ssh) и записываете его на дисковое блочное устройство. Здесь есть много опций, и вы можете включить такие вещи, как сжатие, мониторинг прогресса, ограничение скорости. Очень простая команда может быть:

 ssh root@ip.addr "cat /path/to/file.img" > /dev/sdX

Поскольку ssh пишет запросы в stderr, это может работать, даже если нам нужен пароль. Конечно, вы можете использовать SSH в любом направлении и использовать каналы для управления потоком - мне нравится использовать PV, например, чтобы показать прогресс.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .