Страница 1 из 4
утилита dd
Добавлено: 2021-04-06 14:39:15
WideAreaNetwork
хочу с помощью утилиты dd сделать образ системы на реальном железе где есть софтовый рейд и перенести ее на гипервизор
на гипервизоре у ВМ (виртуальная машина) есть установленная ОС FreeBSD 12.2, это я к тому что там уже есть диск
ada0, добавил для хранилища еще один диск
ad0
гружусь с FreeBSD LiveCD, чтобы был доступ в инет ввожу команду
так как в ливсд нету возможности что-то делать так как все ридонли то создаю папку
и монтирую папку
/etc/ чтобы возможно было наcтроить ssh
далее выставляю значение
PermitRootLogin yes в файле
/etc/ssh/sshd_config, задаю пароль руту и запускаю службу
создаю разметку GPT для добавленного диска da0 куда сохраню образ
создаю раздел на нем
форматирую
создаю папку для монтирования и монтирую
перехожу на сервак где работает система и запускаю утилиту dd с переносом образа на ВМ
Код: Выделить всё
dd if=/dev/ada0 | ssh root@host_VM "dd of=/tmp/iso/DEVICE.img"
далее пробую образ развернуть на ВМ уже где запущен LiveCD
в итоге получаю не работающую систему, подскажите плиз на каком этапе я ошибся?
утилита dd
Добавлено: 2021-04-06 17:17:12
WideAreaNetwork
попробовал на лету все сделать без сохранения образов
Код: Выделить всё
dd if=/dev/ada0 | ssh root@10.254.254.225 "dd of=/dev/ada0 bs=16m conv=noerror,sync status=progress"
Password for root@:
dd: /dev/ada0: end of device, 100 GiB) transferred 8123.672s, 13 MB/s
6401+0 records in
6400+0 records out
107374182400 bytes transferred in 8123.673972 secs (13217441 bytes/sec)
и получил
missing operating system
утилита dd
Добавлено: 2021-04-06 21:11:56
Demis
Первое, что бросается в глаза, написано:
А у Вас раскручивается на ada0
WideAreaNetwork писал(а): ↑2021-04-06 14:39:15
dd if=/tmp/iso/DEVICE.img of=/dev/ada0
Если я правильно понял исходную мысль, то ada0 уже "занят" системой, а раскрутить нужно было на ad0 (и там где налету также)...
утилита dd
Добавлено: 2021-04-06 21:26:17
WideAreaNetwork
я добавил и примонтировал новый ad0 диск чтобы было место где сохраниться образ
да, на ada0 стоит система, а разве утилита dd не затирает все что там есть? или нужно ставить именно на новый чистый диск? даже без разметок?
утилита dd
Добавлено: 2021-04-06 22:42:53
snorlov
Я бы перед 2-ым dd перешел бы в /tmp/iso и дал бы
и еще, после неудачи gpart'ом посмотрел бы что за разметка там получилась...
утилита dd
Добавлено: 2021-04-07 9:02:38
Demis
Такс, не понимаю...
Если Вы настаиваете, что "ada0" это "диск, устройство, для восстанавливаемой системы", а "ad0" - это только хранилка для образа, то (при условии, что загрузка идет с лайв сиди) почему на скриншоте мы видим попытку загрузчика искать систему на "ad0", а не на "ada0"?
("Default: 0:ad(0,a)/boot/kernel/kernel")
Какой диск прописан в VM как загрузочный?
утилита dd
Добавлено: 2021-04-07 9:15:32
guest
хочу с помощью утилиты dd сделать образ системы на реальном железе где есть софтовый рейд и перенести ее на гипервизор
никаких "dd" в случае hard или софт-рейда.
Почему - для самостоятельного обдумывания, ответ прост и очевиден.
Практически любая система переносится на раз:
- fdisk
- оформление загрузчика: gpart/grub2
- lvm если требуется
- newfs/mkfs
- rsync
Главное правильно ставить, с ядром generic, будь то xBSD или Debian/Ubuntu,
и только RH-Based требует телодвижений с initrd и dracut, так как by default
устанавливается ядро под текущее железо.
утилита dd
Добавлено: 2021-04-07 9:45:43
snorlov
Почему же для dd в случае софт рейд плохая идея? К тому же человек в данном случае просто подготавливает почву для переноса,
Прав Demius, после 2-го использования dd надо разрушить ad0
тогда загрузка пойдет со следующего диска, а так мы имеем первым da0, на котором есть раздел с ufs, но нет загрузчика...
утилита dd
Добавлено: 2021-04-07 11:49:50
WideAreaNetwork
а разве утилита не копирует все идентично? байт в байт? тоесть все что есть на диске на который переносятся данные должен в итоге быть точной копией с которого снимаем эти данные, я так понял там должна быть полная копия включая все, разметки загрузчик свап и сама ось
утилита dd
Добавлено: 2021-04-07 12:49:52
WideAreaNetwork
может я в начале делаю что-то не так
установил на железо фряху, на диск
ada0
Код: Выделить всё
# geom disk list
Geom name: ada0
Providers:
1. Name: ada0
Mediasize: 100030242816 (93G)
Sectorsize: 512
Mode: r1w1e1
descr: MK0100GCTYU
lunid: 55cd2e404b57c903
ident: BTTV403302D0100FGN
rotationrate: 0
fwsectors: 63
fwheads: 16
Geom name: ada1
Providers:
1. Name: ada1
Mediasize: 100030242816 (93G)
Sectorsize: 512
Stripesize: 4096
Stripeoffset: 0
Mode: r1w1e1
descr: INTEL SSDSC2BA100G3
lunid: 55cd2e404c1d847f
ident: BTTV610100FF100FGN
rotationrate: 0
fwsectors: 63
fwheads: 16
потом с с помощью самой оси сделал софтовый рейд
Код: Выделить всё
# gpart show
=> 63 195371504 mirror/gm0 MBR (93G)
63 1 - free - (512B)
64 195035136 1 freebsd [active] (93G)
195035200 336367 - free - (164M)
=> 0 195035136 mirror/gm0s1 BSD (93G)
0 186646528 1 freebsd-ufs (89G)
186646528 8388608 2 freebsd-swap (4.0G)
для утилиты
dd на этом же компе указываю
input file ada0 - начало правильно делаю?
утилита dd
Добавлено: 2021-04-07 13:31:30
snorlov
Проблема у тебя в другом, у тебя в виртуалке 2-а диска и cd, при этом ada0 инициализирован, поэтому она с него может нормально грузится, а на ad0 ничего нет, даже разметки, поэтому и загрузки с него нет, т.е. для вм есть только одно загрузочное устройство, затем ты втыкаешься live cd в сд, появляются 2-а загрузочных устройства и с cd вм грузиться, потом размечаешь ad0 как простой раздел с ufs, монтируешь его в /tmp/iso и создаешь на ad0 образ ada0 в виде файла, затем ты этот образ снова заливаешь на ada0, таким образом у тебя есть и ada0 и проинициализированный ad0 и после всех этих дел вынимаешь сд и делаешь перезагрузку и система у тебя начинает грузиться с ad0, а там только разметка да имидж, вот и идет останов... Вердикт: надо разрушить разметку на ad0 перед перезагрузкой
утилита dd
Добавлено: 2021-04-07 14:30:20
WideAreaNetwork
чтобы не было путаницы на ВМ удали все диски, создал новый , вот как выглядит ВМ с новыми дисками
Код: Выделить всё
geom disk list
Geom name: cd0
Providers:
1. Name: cd0
Mediasize: 4695803904 (4.4G)
Sectorsize: 2048
Mode: r1w0e1
descr: QEMU QEMU DVD-ROM
ident: (null)
rotationrate: unknown
fwsectors: 0
fwheads: 0
Geom name: da0
Providers:
1. Name: da0
Mediasize: 118111600640 (110G)
Sectorsize: 512
Stripesize: 4096
Stripeoffset: 0
Mode: r0w0e0
descr: QEMU QEMU HARDDISK
ident: (null)
rotationrate: unknown
fwsectors: 63
fwheads: 255
Geom name: da1
Providers:
1. Name: da1
Mediasize: 5368709120 (5.0G)
Sectorsize: 512
Stripesize: 4096
Stripeoffset: 0
Mode: r0w0e0
descr: QEMU QEMU HARDDISK
ident: (null)
rotationrate: unknown
fwsectors: 63
fwheads: 255
Код: Выделить всё
gpart show
=> 9 2292864 cd0 MBR (4.4G)
9 2292864 - free - (4.4G)
=> 9 2292864 iso9660/12_2_RELEASE_AMD64_DVD MBR (4.4G)
9 2292864 - free - (4.4G)
запустил утилиту dd
Код: Выделить всё
dd if=/dev/ada0 bs=4M | ssh root@10.254.254.225 "dd of=/dev/da0 bs=4M conv=noerror,sync status=progress"
где
if=/dev/ada0 это реальное железо, а
root@10.254.254.225 dd of=/dev/da0 это ВМ
пока прошло 73Гб, посмотрим на результат, по идее надо будет подправить только
fstab, это если все ОК будет
утилита dd
Добавлено: 2021-04-07 14:35:31
WideAreaNetwork
snorlov писал(а): ↑2021-04-07 13:31:30
и после всех этих дел вынимаешь сд и делаешь перезагрузку и система у тебя начинает грузиться с ad0, а там только разметка да имидж, вот и идет останов... Вердикт: надо разрушить разметку на ad0 перед перезагрузкой
теперь начинает проясняться в голове почему сначала было
no boot kernel, а после удаления диска на котором лежал образ стало
missing operation system
утилита dd
Добавлено: 2021-04-07 15:34:16
WideAreaNetwork
WideAreaNetwork писал(а): ↑2021-04-07 14:30:20
посмотрим на результат, по идее надо будет подправить только fstab, это если все ОК будет
процесс закончен
Код: Выделить всё
gpart show
=> 9 2292864 cd0 MBR (4.4G)
9 2292864 - free - (4.4G)
=> 9 2292864 iso9660/12_2_RELEASE_AMD64_DVD MBR (4.4G)
9 2292864 - free - (4.4G)
=> 63 230686657 da0 MBR (110G)
63 1 - free - (512B)
64 195035136 1 freebsd [active] (93G)
195035200 35651520 - free - (17G)
делаю перезагрузку вынимая при этом сд и получаю....
утилита dd
Добавлено: 2021-04-07 15:48:38
snorlov
Грузись на вм в live cd и смотри что там на диске...
утилита dd
Добавлено: 2021-04-07 16:05:28
WideAreaNetwork
извините, забыл написать, все тоже самое
утилита dd
Добавлено: 2021-04-07 16:43:55
snorlov
Ну так попробуйте прописать
Код: Выделить всё
gpart bootcode -b /boot/pmbr ad0
gpart bootcode -p /boot/boot -i 1 ad0
Сначала первый и попытаться загрузиться, ну а потом 2-ой, а чего вы все на mbr делаете, gtp же есть...
утилита dd
Добавлено: 2021-04-07 17:18:57
WideAreaNetwork
думаю опечатались, указывать надо было da0, но не суть, чуда не случилось
no bootable device
snorlov писал(а): ↑2021-04-07 16:43:55
а чего вы все на mbr делаете, gtp же есть
софтрейд было проще создать...
утилита dd
Добавлено: 2021-04-07 17:49:33
snorlov
А вообще сама фря на эту виртуалку встает? Можно попробовать и через dump/restore, правда встает вопрос об suj.
утилита dd
Добавлено: 2021-04-07 18:01:01
snorlov
Да вот еще в mbr надо еще ставить активный раздел
К сожалению в разметке mbr я не силен... Да и вот еще что, поскольку у нас не может загрузиться, то копировать можно только первые 8м...
утилита dd
Добавлено: 2021-04-07 18:23:50
Demis
WideAreaNetwork писал(а): ↑2021-04-07 15:34:16
делаю перезагрузку вынимая при этом сд и получаю....
Вложения
Screenshot 2021-04-07 153321.png
Дык это, ёлы палы...
Опять-жешь тоже самое...
На скриншоте загрузка с CD (
Booting from DVD/CD...) показана, а кто ее переключать для настроек VM будет?
утилита dd
Добавлено: 2021-04-07 18:26:45
WideAreaNetwork
snorlov писал(а): ↑2021-04-07 17:49:33
А вообще сама фря на эту виртуалку встает?
встает, там стояла 12.2, сейчас вот экспериментирую перед переносом того что хочу
переношу такую же 12.2
утилита dd
Добавлено: 2021-04-07 18:50:26
WideAreaNetwork
Demis писал(а): ↑2021-04-07 18:23:50
а кто ее переключать для настроек VM будет?
дурак он и в Африке дурак....

что-то я упустил на каком-то этапе этот момент
сейчас получил
Invalid partition table
утилита dd
Добавлено: 2021-04-07 19:20:27
WideAreaNetwork
snorlov писал(а): ↑2021-04-07 16:43:55
gpart bootcode -b /boot/pmbr ad0
gpart bootcode -p /boot/boot -i 1 ad0
а это разве не для gpt ? а то у меня mbr
может мне надо было это прописать?
утилита dd
Добавлено: 2021-04-07 19:25:56
Demis
Уже хорошо, хоть и не работает...
А теперь начинаются "круги ада"...
Как я их называю.
В чем суть?
В путанности сознания. Сколько
ada? в системе...
Что имею ввиду.
1. Когда загрузился с DVD/CD очень легко получить устройство
ada0 как его видит ЭТА (загруженная) бутовая система. И полученный
ada далеко не тот, на который мы хотим накатить систему...
2. Соответственно писать данные из файла на ada0 это не есть то, что правильно, хотя формально и выглядит верно.
Вот в этом и запутка.
А нужно писать именно на "второй девайс".
Какой именно?
Смотрим внимательно
ls /dev/ и ищем свои железки.
Там легко может оказаться, что-то вроде /dev/ada1 или иное подобное.
Убедившись, что найдена верная железяка (не важно, даже если она виртуальная, типа из файла или VM) прописываем именно ее как of= в команде
da пока не трогайте (если только не хотите ее переделать, но тогда файл с образом под угрозой).