утилита dd

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

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

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

утилита dd

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

Ну debugflags нужен, если у вас на диске есть метаданные уже загруженных модулей (mirror, gjournal и т.д.), т.е. он входил в состав зеркала, даже не вашего, на нем была ufs с журналированием(geom_journal), ну и т.д., либо вы инициализируете эти системы, dd надо применять только при неизменных данных, в лучшем случае при ufs надо будет запускать fsck...

Хостинговая компания 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-12 23:10:25

Вопрос: нужно выставлять переменную kern.geom.debugflags=16 для
- разметки ada1?
- для копирования dd if=/dev/ada0 of=/dev/ada1 ?
думаю что нет
правильно, если бы хоть одна из размеченных партиций была
смонтирована, тогда: umount и kern.geom.debugflags=16
для изменений или полной модификации.

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

утилита dd

Непрочитанное сообщение WideAreaNetwork » 2021-04-12 23:52:55

вот сейчас перенес ОС с железа где есть софт рейд, на ВМ (гипервизор Proxmox)
получил в итоге

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

mountroot>
немного погуглив прописал диск с системой, хотя сама фря выдала подсказку - <fs>:<device>

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

mountroot> ufs:ada0s1a
потом в fstab заменил /dev/mirror/gm на /dev/ada и следующая загрузка прошла без проблем

ps: на очереди перенос с аппаратного рейда

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

утилита dd

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

WideAreaNetwork писал(а):
2021-04-12 23:52:55
ps: на очереди перенос с аппаратного рейда
железо: HP ProLiant DL360 G5 raid controller Smart Array E200i
есть какие-то нюансы при переноси с помощью утилиты dd ?

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

утилита dd

Непрочитанное сообщение snorlov » 2021-04-14 11:22:37

На самом деле, проблемы переноса это проблемы переноса, помимо переназначивания разделов еще могут появится и другие проблемы в старте самого софта и тут надо выделить 2-е вещи, 1: не поддерживаемое железо в самой фри на приемнике, т.е. нужен специфический драйвер поставляемый производителем, его тогда надо компилять в ядро работающей системы до переноса , и 2: если вы юзаете самосборное ядро, не Generic, тогда тоже возникнет эта проблема

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

утилита dd

Непрочитанное сообщение WideAreaNetwork » 2021-04-14 15:41:28

snorlov писал(а):
2021-04-14 11:22:37
1: не поддерживаемое железо в самой фри на приемнике, т.е. нужен специфический драйвер поставляемый производителем, его тогда надо компилять в ядро работающей системы до переноса , и 2: если вы юзаете самосборное ядро, не Generic, тогда тоже возникнет эта проблема
с этим все хорошо, по железке переносится с вышеуказанного на supermicro F2HY-M, там проц интеловский на 12 ядер, а сетевая встроенная также интел 10G под SFP, а ядро GENERIC, стандартное
я думал может в чем другом могут быть траблы при переносе

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

утилита dd

Непрочитанное сообщение WideAreaNetwork » 2021-04-19 13:05:30

фух, провозился 3 дня, но таки перенес биллинг с железа на ВМ

получилось только при указании bs=64k в утилите dd, все что выше уже сыпалось (наверное)

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

# dd if=/dev/da0 bs=64k conv=noerror,sync | gzip --fast | ssh root@10.254.254.212 'gunzip | dd of=/dev/ada0 bs=64k conv=noerror,sync status=progress'
еще такой вопрос, а если переносить с помощью утилиты dd на диск большего размера, то каким образом задействовать свободное пространство? на диске есть один раздел, корневой, плюс свап, как увеличить корневой?

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

утилита dd

Непрочитанное сообщение Neus » 2021-04-19 16:05:56

WideAreaNetwork писал(а):
2021-04-19 13:05:30
conv=noerror,sync
т.е. ты игнорируешь ошибки при чтении?
WideAreaNetwork писал(а):
2021-04-19 13:05:30
status=progress
профессор же написал - это надо указывать при чтении.
«Вы никогда не сумеете решить возникшую проблему,
если сохраните то же мышление и тот же подход,
который привёл вас к этой проблеме.»
© Альберт Эйнштейн

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

утилита dd

Непрочитанное сообщение snorlov » 2021-04-19 16:33:48

WideAreaNetwork писал(а):
2021-04-19 13:05:30
а если переносить с помощью утилиты dd на диск большего размера, то каким образом задействовать свободное пространство? на диске есть один раздел, корневой, плюс свап, как увеличить корневой?
dd работает с блочным устройством, сколько она прочитало столько она и приняла и запишет...
Вы вообще документацию читаете, или как...

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

утилита dd

Непрочитанное сообщение WideAreaNetwork » 2021-04-19 17:15:03

Neus писал(а):
2021-04-19 16:05:56
профессор же написал - это надо указывать при чтении.
Я указал и там и там, просто здесь в команде не указал, пробовал разные способы интереса ради
snorlov писал(а):
2021-04-19 16:33:48
Вы вообще документацию читаете, или как...
Читал вроде как, потому и спросил так как можно переносить на объем большего размера, главное не меньшего

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

утилита dd

Непрочитанное сообщение WideAreaNetwork » 2021-04-19 17:18:15

Может не правильно вопрос задал, если перенести данные на диск большего размера, то каким способом задействовать другое пространство? Если хочу увеличить корневой раздел

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

утилита dd

Непрочитанное сообщение guest » 2021-04-19 17:44:16

получилось только при указании bs=64k в утилите dd, все что выше уже сыпалось (наверное)

# dd if=/dev/da0 bs=64k conv=noerror,sync | gzip --fast | ssh root@10.254.254.212 'gunzip | dd of=/dev/ada0 bs=64k conv=noerror,sync status=progress'
что сыпалось?
- Дохтур, у мине эта...
- Что это?
- Ну Вы то знаете...
- Знаю, но Вам не скажу...

Исходный raw device = /dev/da0 - он в рейде?
еще такой вопрос, а если переносить с помощью утилиты dd на диск большего размера, то каким образом задействовать свободное пространство? на диске есть один раздел, корневой, плюс свап, как увеличить корневой?
Дык Вам уж отписывали... Похоже без step-by-step гиблое дело...
1. Перенос через dd диска с mbr на диск большего размера:
a) останется свободный кусок - партицию нужно расширить через gpart
b) после того как расширили партицию - можно создать bsd slice или расширить через growfs последний
2. Перенос через dd диска с gpt на диск большего раздела
a) gpart recover
b) создать расширить последнюю или создать новую или...

ps. Нет желания писать статью, бо Вы учиться и думать не хотите
pps. Вместо того чтобы использовать gpart/fdisk[gdisk] + прописывать руками загрузчик, создавать FS[lvm] и делать rsync,
Вы мягко говоря, занимаетесь ерундой, отсюда вопросы:
каким образом задействовать свободное пространство? на диске есть один раздел, корневой, плюс свап, как увеличить корневой?

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

утилита dd

Непрочитанное сообщение WideAreaNetwork » 2021-04-19 23:52:48

guest писал(а):
2021-04-19 17:44:16
что сыпалось?
получал на выходе приблизительно это (размеры могут быть не совсем точные)

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

=>       63  142606273  ada0  MBR  (68G)
         63       1985        - free -  (993K)
       2048  142128831     1  freebsd  [active]  (68G)
  142130879     475457        - free -  (232M)
а надо чтобы было как сейчас

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

gpart show
=>       63  142606273  ada0  MBR  (68G)
         63       1985        - free -  (993K)
       2048  142128831     1  freebsd  [active]  (68G)
  142130879     475457        - free -  (232M)

=>        0  142128831  ada0s1  BSD  (68G)
          0  134217728       1  freebsd-ufs  (64G)
  134217728    7106560       2  freebsd-swap  (3.4G)
  141324288     804543          - free -  (393M)
то-есть слайсы уже не переносились
guest писал(а):
2021-04-19 17:44:16
Исходный raw device = /dev/da0 - он в рейде?
да, рейд аппаратный 1+0
guest писал(а):
2021-04-19 17:44:16
1. Перенос через dd диска с mbr на диск большего размера:
a) останется свободный кусок - партицию нужно расширить через gpart
b) после того как расширили партицию - можно создать bsd slice или расширить через growfs последний
спасибо за подсказку
guest писал(а):
2021-04-19 17:44:16
ps. Нет желания писать статью, бо Вы учиться и думать не хотите
не все такие умные)
guest писал(а):
2021-04-19 17:44:16
pps. Вместо того чтобы использовать gpart/fdisk[gdisk] + прописывать руками загрузчик, создавать FS[lvm] и делать rsync,
Вы мягко говоря, занимаетесь ерундой, отсюда вопросы:
каким образом задействовать свободное пространство? на диске есть один раздел, корневой, плюс свап, как увеличить корневой?
об методе подготовки диска, а именно сначала сделать разметку диска, а далее сделать дамп и перенести данные видел/слышал, находил статьи и манулы по этому вопросу, в принципе ничего трудного, особенно подготовка, она напомнила мне еще 8 версию где разбивка шла через sysinstal , мне было интересно сделать через dd, особенно после того как у форумчан все завелось с первого раза, благодаря Вам это получилось и у меня

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

утилита dd

Непрочитанное сообщение guest » 2021-04-20 8:31:28

то-есть слайсы уже не переносились
рейд аппаратный
мы уже разобрали подобную ситуацию:

- использование кеширования в Proxmox

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