утилита dd

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

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

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

утилита dd

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

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

WideAreaNetwork
сержант
Сообщения: 199
Зарегистрирован: 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
капитан
Сообщения: 1831
Зарегистрирован: 2008-09-08 21:59:56

утилита dd

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

проще rsync-ом всё перенести.
«Вы никогда не сумеете решить возникшую проблему,
если сохраните то же мышление и тот же подход,
который привёл вас к этой проблеме.»
© Альберт Эйнштейн

WideAreaNetwork
сержант
Сообщения: 199
Зарегистрирован: 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
подполковник
Сообщения: 3883
Зарегистрирован: 2008-09-04 11:51:25
Откуда: Санкт-Петербург

утилита dd

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

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

Аватара пользователя
Neus
капитан
Сообщения: 1831
Зарегистрирован: 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
не поверишь, я сделал тоже самое и всё нормально.
«Вы никогда не сумеете решить возникшую проблему,
если сохраните то же мышление и тот же подход,
который привёл вас к этой проблеме.»
© Альберт Эйнштейн

snorlov
подполковник
Сообщения: 3883
Зарегистрирован: 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
сержант
Сообщения: 199
Зарегистрирован: 2017-01-10 14:37:13

утилита dd

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

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

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

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

утилита dd

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

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

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

утилита dd

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

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

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

утилита dd

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

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

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

утилита dd

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

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

WideAreaNetwork
сержант
Сообщения: 199
Зарегистрирован: 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
подполковник
Сообщения: 3883
Зарегистрирован: 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
капитан
Сообщения: 1831
Зарегистрирован: 2008-09-08 21:59:56

утилита dd

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

snorlov,
он же сказал что у него на исходном диске MBR.
откуда взялось GPT?
«Вы никогда не сумеете решить возникшую проблему,
если сохраните то же мышление и тот же подход,
который привёл вас к этой проблеме.»
© Альберт Эйнштейн

snorlov
подполковник
Сообщения: 3883
Зарегистрирован: 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
сержант
Сообщения: 199
Зарегистрирован: 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
подполковник
Сообщения: 3883
Зарегистрирован: 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?
как создан: зеркало целого диска или зеркало партиций?