1

Что является лучшей практики для клонирования с dd существующего 512-байт-в-сектор жесткого диска (весь диск, а не конкретных разделов) в современном 4-kibibytes-на-сектора Advanced Format Drive? Какие варианты следует использовать? Они имеют значение вообще?

3 ответа3

1

Хорошо, я думаю, что стоит опубликовать то, что я сделал сам, как ответ.

Я использовал следующую команду для клонирования диска:

dd if=/dev/sda of=/dev/sdb ibs=512 obs=4096

Здесь первый вариант ibs дает команду dd что 512 байты должны быть считаны из источника в то время , и obs , что 4096 байты должны быть записаны в то время , к месту назначения.

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

Чтобы убедиться, что выравнивание подходит для этого накопителя Advanced Format, я скачал инструмент WD Align с веб-сайта Western Digital, и он показывает, что все выровнено правильно, вот скриншот:

Я не знаю, были ли дополнительные варианты полезны для этого все же.

1

Какой это расширенный формат диска? Имеет ли он логотип "AF" (что означает, что на интерфейсе накопителя представлены 512-байтовые сектора, т.е. это действительно диск "512e") или логотип "4Kn"?

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

Если последнее, вы не можете скопировать его «без каких-либо изменений», потому что метаданные файловой системы должны измениться. Например, накопитель 512e "4 ГБ" будет иметь LBN от 0 до 7 812 500 000, в то время как истинные 4K родные "4 ГБ накопителя" LBN будут иметь только около 976 562 500. Таким образом, LBN в метаданных диска 512 байт на сектор не будет иметь смысла на диске 4Kn.

0

Поскольку вы используете диск 512e, ваш пример с dd не нужен. Вы могли бы просто использовать dd, если =/dev/sda of =/dev/sdb bs = 2M (что я обычно использую). Реальная проблема идет от 512n до 4Kn, и, по сути, это не просто. В большинстве случаев, вероятно, лучше перераспределить и cp -a все обратно в дополнение к перенастройке загрузчика и т.д.

Вы можете использовать dd туда и обратно между 512n и 4Kn с минимальным неразрушающим перераспределением, зависит от того, использовали ли вы / используете 512 кратных 8 (512 * 8 = 4096) для вашего разделения.

Пример:

512n partition under gdisk:

Number  Start (sector)    End (sector)  Size       Code  Name
   1            2048            4095   1024.0 KiB  EF02  linux-bios
   2            4096        41943006   20.0 GiB    8E00  linux-lvm

4Kn translation after dd'ing (from 512 to 4096 physical and logical),
then re-repartitioning:

Number  Start (sector)    End (sector)  Size       Code  Name
   1             256             511   1024.0 KiB  EF02  linux-bios
   2             512        5242875.75 20.0 GiB    8E00  linux-lvm

Упс! Обратите внимание на десятичную точку, (41943006+1/8)? Это не сработает.

Единственный способ - если у вас есть более 20,0 ГБ на новом диске и добавить дополнительный сектор 4kn (5242875+1), а затем изменить размер базовой файловой системы, lvm и т.д.

Теперь, если бы вы разбили свой 512n диск, используя кратные 8, то первая (512n) таблица разделов выше выглядела бы так:

Number  Start (sector)    End (sector)  Size       Code  Name
   1            2048            4095   1024.0 KiB  EF02  linux-bios
   2            4096        41942999   20.0 GiB    8E00  linux-lvm

And the proper 4Kn translation would look like this:

Number  Start (sector)    End (sector)  Size       Code  Name
   1             256             511   1024.0 KiB  EF02  linux-bios
   2             512         5242875   20.0 GiB    8E00  linux-lvm

(41942999+1) / 8 = 5242875

Мораль истории: если вы планируете использовать диски 4Kn в будущем, разделите ваши 512n дисков, используя кратные 8, и у вас все будет хорошо, если вы соответственно воссоздадите таблицу разделов.

Примечание: не забывайте ни о каком возможном клонировании GUID, не только для идентификатора диска, но и для идентификатора GUID раздела.

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