утилита dd

Простые/общие вопросы по UNIX системам. Спросите здесь, если вы новичок

Модераторы: vadim64, terminus

Правила форума
Убедительная просьба юзать теги [cоde] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
snorlov
подполковник
Сообщения: 3927
Зарегистрирован: 2008-09-04 11:51:25
Откуда: Санкт-Петербург

утилита dd

Непрочитанное сообщение snorlov » 2021-04-07 19:30:55

gpart может создать и разметку gpt и разметку mbr, в случае gpt, вы сразу делаете разделы, а в случае mrb, вы сначало создаете разметку mbr, затем делаете слайс, на слайсе снова делаете разметку только bsd, и лишь затем начинаете делать разделы, вы же писали
WideAreaNetwork писал(а):
2021-04-07 12:49:52
# 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)

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

guest
проходил мимо

утилита dd

Непрочитанное сообщение guest » 2021-04-07 19:46:08

Почему же для dd в случае софт рейд плохая идея?
если не получается представить теоретически, создайте raid и попробуйте
перенести его через dd.

подсказка: dd копирование байт в байт.

Вопрос простой, ответ уже выдан, столько лет народ переносит
с реальных серверов в виртуалки и обратно и просто виртуалки
с одного кластера в другой, что становится удивительно
как он еще возникает...

rsync - пофик что внизу, какая fs, наличие lvm или еще чего...

guest
проходил мимо

утилита dd

Непрочитанное сообщение guest » 2021-04-07 19:59:28

дурак он и в Африке дурак.... :) что-то я упустил на каком-то этапе этот момент

сейчас получил
Invalid partition table
точная самокритика, без обид.

Все от незнания, я здесь столько раз расписывал про gpt и mbr,
больше не имею желания, поиском найдете.

Соль в том что Вы делаете копи-пасте без понимания, а вот
было бы понимание, был бы иной результат.

Да и виртуалки у Вас ведь на каком-то гипервизоре, всякие qcow2, vdi, vmdk
можно переносить один в один или конвертировать в raw и если нужно
из raw снова во что угодно.

Когда разберетесь с:
- mbr partition table
- bsd slices
- guid partition table
gpart - оформление загрузчика для mbr,gpt

linux:
- fdisk/gdisk/parted - mbr/gpt
- lvm
- grub2

все проблемы исчезнут.

WideAreaNetwork
сержант
Сообщения: 239
Зарегистрирован: 2017-01-10 14:37:13

утилита dd

Непрочитанное сообщение WideAreaNetwork » 2021-04-07 20:04:27

guest писал(а):
2021-04-07 19:46:08
если не получается представить теоретически, создайте raid и попробуйте
перенести его через dd.
да вот как раз с софтовым и мучаюсь
guest писал(а):
2021-04-07 19:46:08
удивительно
как он еще возникает...
наверное от не понимания, и наверное читаю не то что надо
Demis писал(а):
2021-04-07 19:25:56
Уже хорошо, хоть и не работает...
А теперь начинаются "круги ада"...
Как я их называю.
В чем суть?
В путанности сознания. Сколько ada? в системе...

Что имею ввиду.
1. Когда загрузился с DVD/CD очень легко получить устройство ada0 как его видит ЭТА (загруженная) бутовая система. И полученный ada далеко не тот, на который мы хотим накатить систему...
2. Соответственно писать данные из файла на ada0 это не есть то, что правильно, хотя формально и выглядит верно.
Вот в этом и запутка.
А нужно писать именно на "второй девайс".
Какой именно?
Смотрим внимательно ls /dev/ и ищем свои железки.
Там легко может оказаться, что-то вроде /dev/ada1 или иное подобное.
Убедившись, что найдена верная железяка (не важно, даже если она виртуальная, типа из файла или VM) прописываем именно ее как of= в команде
КОД: ВЫДЕЛИТЬ ВСЁ

dd if=/tmp/iso/DEVICE.img of=/dev/ada0
da пока не трогайте (если только не хотите ее переделать, но тогда файл с образом под угрозой).
я уже и сам запутался

сейчас на ВМ только один диск da0, ada0 это на реальном железе, с него и переношу

WideAreaNetwork
сержант
Сообщения: 239
Зарегистрирован: 2017-01-10 14:37:13

утилита dd

Непрочитанное сообщение WideAreaNetwork » 2021-04-07 20:05:27

guest писал(а):
2021-04-07 19:59:28
Когда разберетесь с:
- mbr partition table
- bsd slices
- guid partition table
gpart - оформление загрузчика для mbr,gpt
пошел изучать ...

WideAreaNetwork
сержант
Сообщения: 239
Зарегистрирован: 2017-01-10 14:37:13

утилита dd

Непрочитанное сообщение WideAreaNetwork » 2021-04-07 21:45:25

guest писал(а):
2021-04-07 19:59:28
Соль в том что Вы делаете копи-пасте без понимания, а вот
было бы понимание, был бы иной результат.
да вроде и видео находил, так же по разным статьям по утилите dd

кстати утилита dd переносит mbr? разделы? я так понимаю что делает точную копию, соответственно должен быть второй диск такой же, это все одно что снять работающий диск и перенести его в другое место

snorlov
подполковник
Сообщения: 3927
Зарегистрирован: 2008-09-04 11:51:25
Откуда: Санкт-Петербург

утилита dd

Непрочитанное сообщение snorlov » 2021-04-07 23:05:54

Да она делает точную копию, но у вас в некотором смысле передатчик и приемник могут имеют не совсем корректную структуру, отсюда могут расти некоторые нюансы. В вашем случае, я ушел бы от прямого копирования, зеркало в виртуалке плохая идея, там ведь делают зеркало в хосте, поскольку у вас ufs, то я бы рассмотрел применение связки dump/restore ну или pax к примеру и ушел с разбивки mbr на gpt

WideAreaNetwork
сержант
Сообщения: 239
Зарегистрирован: 2017-01-10 14:37:13

утилита dd

Непрочитанное сообщение WideAreaNetwork » 2021-04-07 23:27:17

snorlov писал(а):
2021-04-07 23:05:54
зеркало в виртуалке плохая идея
мне зеркало там и не нужно

может проще развалить рейд 1, перенести данные с помощью утилиты dd на ВМ и потом заново собрать софтовый рейд1

Аватара пользователя
Neus
капитан
Сообщения: 1977
Зарегистрирован: 2008-09-08 21:59:56

утилита dd

Непрочитанное сообщение Neus » 2021-04-08 7:04:18

проще rsync-ом всё перенести.
Physics is mathematics with the constraint of reality.
Engineering is physics with the constraint of money.

LOR захватили ситхи.
Добро пожаловать на светлую сторону!

WideAreaNetwork
сержант
Сообщения: 239
Зарегистрирован: 2017-01-10 14:37:13

утилита dd

Непрочитанное сообщение WideAreaNetwork » 2021-04-08 9:21:33

интереса ради, установил на ВМ1 12.2, потом создал ВМ2 и попробовал перенести с ВМ1 на ВМ2, итог Missing operation system
хотя вот в этом видео https://www.youtube.com/watch?v=RXWGWEOgxUA все встает прекрасно, не понимаю ....
буду пробовать rsync, просто интересно почему с dd не взлетело, на видео без проблем а у меня грабли, на видео правда линух переносили

snorlov
подполковник
Сообщения: 3927
Зарегистрирован: 2008-09-04 11:51:25
Откуда: Санкт-Петербург

утилита dd

Непрочитанное сообщение snorlov » 2021-04-08 9:38:58

Я думаю дело в разметки диска, кстати после dd можно подключить получившийся диск к ВМ1 и посмотреть что получилось... Если сегодня время будет попробую сделать...

Аватара пользователя
Neus
капитан
Сообщения: 1977
Зарегистрирован: 2008-09-08 21:59:56

утилита dd

Непрочитанное сообщение Neus » 2021-04-08 10:10:43

WideAreaNetwork писал(а):
2021-04-08 9:21:33
интереса ради, установил на ВМ1 12.2, потом создал ВМ2 и попробовал перенести с ВМ1 на ВМ2, итог Missing operation system
не поверишь, я сделал тоже самое и всё нормально.
Physics is mathematics with the constraint of reality.
Engineering is physics with the constraint of money.

LOR захватили ситхи.
Добро пожаловать на светлую сторону!

snorlov
подполковник
Сообщения: 3927
Зарегистрирован: 2008-09-04 11:51:25
Откуда: Санкт-Петербург

утилита dd

Непрочитанное сообщение snorlov » 2021-04-08 11:05:55

вообщем, на VirtualBox'е в ВМ 3-и диска(одинаковой размерности, разметка gpt) + сд, гружусь с сд, правда выбираю shell, затем

Код: Выделить всё

 gpart destroy -F  ada2
 sysctl kern.geom.debugflags=16
 dd if=/dev/ada0 of=/dev/ada2 bs=16m
после окончания процесса меняя диски местами и все хоккей...
В чем может быть проблема по сравнению с живым сервером
1. в том что вы должны остановить на нем все сервисы, они свои логи и прочее пишут на диск, при применении dump(pax) это еще можно пережить, а вот в условиях dd скорее всего нет
2. при передаче по ssh образ бьется...

WideAreaNetwork
сержант
Сообщения: 239
Зарегистрирован: 2017-01-10 14:37:13

утилита dd

Непрочитанное сообщение WideAreaNetwork » 2021-04-08 20:23:13

решил еще немного помучаться
упростил задачу до самого простого, создал на ноде еще одну ВМ, перед установкой на нее ОС сделал клонирование, все делал с LiveCD как на одной так и на другой машине, закономерный для меня итог не получается даже голую ОСь перенести, пробовал как с mbr так и с gpt

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

WideAreaNetwork
сержант
Сообщения: 239
Зарегистрирован: 2017-01-10 14:37:13

утилита dd

Непрочитанное сообщение WideAreaNetwork » 2021-04-08 20:26:18

кстати когда пробовал с разметкой gpt то на ВМ на которую все переносилось, показывало ошибку, вроде как битая gpt
Вложения
Screenshot 2021-04-08 202425.png

snorlov
подполковник
Сообщения: 3927
Зарегистрирован: 2008-09-04 11:51:25
Откуда: Санкт-Петербург

утилита dd

Непрочитанное сообщение snorlov » 2021-04-08 21:49:50

Ну это означает только одно, разные размеры диска исходного и текущего, GPT имеет копию в конце диска, такое сообщение свидетельствует, что копии в конце диска нет, лечится gpt recovery.
Это кстати означает, что надо задействовать "стандартные" способы переноса (dump/restore, pax), а не сектор в сектор как в случае с dd...

WideAreaNetwork
сержант
Сообщения: 239
Зарегистрирован: 2017-01-10 14:37:13

утилита dd

Непрочитанное сообщение WideAreaNetwork » 2021-04-08 21:54:17

а как могут быть диски разные, специально клонировал ВМ, чтобы вторая была точной копией первого
попробую и dump/restore но у вас как-то получилось же с помощью dd , для меня уже прям магия как это другие делают

snorlov
подполковник
Сообщения: 3927
Зарегистрирован: 2008-09-04 11:51:25
Откуда: Санкт-Петербург

утилита dd

Непрочитанное сообщение snorlov » 2021-04-08 22:27:45

WideAreaNetwork, у меня получилось, потому, что была виртуалка, в которой были диски созданы одинаково

WideAreaNetwork
сержант
Сообщения: 239
Зарегистрирован: 2017-01-10 14:37:13

утилита dd

Непрочитанное сообщение WideAreaNetwork » 2021-04-08 23:15:51

snorlov писал(а):
2021-04-08 22:27:45
у меня получилось, потому, что была виртуалка, в которой были диски созданы одинаково
WideAreaNetwork писал(а):
2021-04-08 20:23:13
упростил задачу до самого простого, создал на ноде еще одну ВМ, перед установкой на нее ОС сделал клонирование, все делал с LiveCD как на одной так и на другой машине
думал упоминание о ноде говорит о том что делал на гипервизоре
то-есть создал ВМ и сделал ее клон, а клон это точная копия

snorlov
подполковник
Сообщения: 3927
Зарегистрирован: 2008-09-04 11:51:25
Откуда: Санкт-Петербург

утилита dd

Непрочитанное сообщение snorlov » 2021-04-09 9:38:11

WideAreaNetwork,
DD работает с блочным устройством, если приемник имеет размерность 600 блоков, а исходник 500, и юзаем dd то запишутся только 500, отсюда у тебя и выскочила ошибка

Код: Выделить всё

secondary gpt table is corrupt ,,,
,

Аватара пользователя
Neus
капитан
Сообщения: 1977
Зарегистрирован: 2008-09-08 21:59:56

утилита dd

Непрочитанное сообщение Neus » 2021-04-09 12:06:37

snorlov,
он же сказал что у него на исходном диске MBR.
откуда взялось GPT?
Physics is mathematics with the constraint of reality.
Engineering is physics with the constraint of money.

LOR захватили ситхи.
Добро пожаловать на светлую сторону!

snorlov
подполковник
Сообщения: 3927
Зарегистрирован: 2008-09-04 11:51:25
Откуда: Санкт-Петербург

утилита dd

Непрочитанное сообщение snorlov » 2021-04-09 12:23:49

Neus, Автор темы экспериментировал и с GPT.
Вообще я считаю лучше все сделать через dump/restore, т.е. сделать dump ... | gzip куда-нибудь, можно даже на флешку(usb устройство), затем в вм загрузиться с сд, создать нормальную разметку на диске вм, прописать загрузчики, отформатировать нужный раздел и уже из архива gunzip | restore ... Единственный в этом деле нюанс, если у него в сервере юзается suj (journaled), т.е. снапшоты ufs не доступны, ну так там все просто, в синг моду затем tunefs -j disable ... и перегрузились. После restore cмотрим как грузиться вм, в крайнем случае останется поправить /etc/fstab, ну и наверное сетевые интерфейсы по новой надо будет прописать

WideAreaNetwork
сержант
Сообщения: 239
Зарегистрирован: 2017-01-10 14:37:13

утилита dd

Непрочитанное сообщение WideAreaNetwork » 2021-04-09 14:24:35

https://www.youtube.com/watch?v=dm3WQZNGwuk - вот как делал, проблема уже не в том что не получается, а в том что у других получается а у меня нет, в нескольких людей получилось с первого раза и все поднимается, а у меня почему-то нет, хотя делал процедуру на видео уже десятки раз думая, что что-то пошло не так и т.д., и с mbr пробовал и с gpt
да вот выше у камрадов @Neus и @snorlov с первого раза получилось
snorlov писал(а):
2021-04-09 12:23:49
Вообще я считаю лучше все сделать через dump/restore, т.е. сделать dump ... | gzip куда-нибудь
если правильно понимаю то сделать дамп только корня / , так как других разделов нету
snorlov писал(а):
2021-04-09 12:23:49
создать нормальную разметку на диске вм, прописать загрузчики, отформатировать нужный раздел и уже из архива gunzip | restore ...
то-есть подглядеть какая разметка у ОСи с которой снимаем dump и точно также разбить на ВМ?

snorlov
подполковник
Сообщения: 3927
Зарегистрирован: 2008-09-04 11:51:25
Откуда: Санкт-Петербург

утилита dd

Непрочитанное сообщение snorlov » 2021-04-09 15:38:19

Да забей ты на DD, я ее начинаю юзать, если появились какие-то ошибки(нечитамые сектора) на диске, а инфа очень важна и имеющийся архив не спасает, во всех же остальных случаях, юзаю dump/restore, если там юзается ufs (машинка слабенькая, маленький диск, мало памяти, x32), либо снапшоты в случае zfs, если обьем относительно маленький или же сетка не гигабит, то dump/send snapshot в архив через gzip на внешний носитель. А на новое железо обычно сначала ставлю тестовую сборку той же версии, откуда перенесу, чтобы посмотреть, как ос определит железо, редко но бывают открытия...

guest
проходил мимо

утилита dd

Непрочитанное сообщение guest » 2021-04-09 17:28:42

https://www.youtube.com/watch?v=dm3WQZNGwuk - вот как делал, проблема уже не в том что не получается, а в том что у других получается а у меня нет, в нескольких людей получилось с первого раза и все поднимается, а у меня почему-то нет, хотя делал процедуру на видео уже десятки раз думая, что что-то пошло не так и т.д., и с mbr пробовал и с gpt
да вот выше у камрадов @Neus и @snorlov с первого раза получилось
если step-by-step напишите свои действия с выводом:
- gpart,mount,df : source и target
посмотрю видео и отпишу в чем проблема.

Если верхнего выхлопа не будет, ответа тоже не будет,
нет желания смотреть всякую "лабуду".

"dd" - удобно и просто использовать тогда, когда человек _понимает_
что и для чего делает.
"dd" - можно без проблем использовать в случае "объем target" == "объем source"

- в случае mbr, "dd" можно использовать без доп-телодвижений,
если target по объему равен source или больше чем source
Если target по объему больше чем source, будет пустое, неиспользованное место.

gpt:

- a) даже при одинаковом объеме, могут возникнуть проблемы,
если разное кол-во секторов.
- b) если объем target > source, возникнут проблемы

проблема с gpt простая, альтернативная копия gpt находится
в 33'ех последних секторах. И ее нужно восстановить, что
делается просто. После чего останется свободное место, что
тоже легко решается.

В случае RAID1, в зарезервированное место прописываются
метаданные, для FreeBSD это последний сектор, и опс - проблемка
нарисовалась, но тоже решаемая.

В mdadm сложней, зависит от версии:
https://raid.wiki.kernel.org/index.php/ ... ck_formats

FreeBSD software RAID1:
- на mbr?
- на gpt?
как создан: зеркало целого диска или зеркало партиций?