45

У меня было два одинаковых диска, и на каждом было по два RAID-раздела.

Один умер и я заменил его по гарантии на ту же модель.

При попытке разделить его, первый раздел может начинаться только в секторе 2048 вместо 63, как было раньше. Привод имеет другую геометрию, как предыдущие и оставшиеся. (Меньше головок / больше цилиндров)

Старый диск:

$ sudo fdisk -c -u -l /dev/sdb 

Disk /dev/sdb: 2000.4 GB, 2000398934016 bytes
255 heads, 63 sectors/track, 243201 cylinders, total 3907029168 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x000aa189

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1   *          63   174080339    87040138+  83  Linux
/dev/sdb2       174080340   182482334     4200997+  82  Linux swap / Solaris
/dev/sdb3       182482335  3907024064  1862270865   fd  Linux raid autodetect

Восстановленный диск получил от гарантии:

$ sudo fdisk -c -u -l /dev/sda

Disk /dev/sda: 2000.4 GB, 2000398934016 bytes
81 heads, 63 sectors/track, 765633 cylinders, total 3907029168 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x000d0b5d

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1            2048  ...

Это почему?

5 ответов5

38

Поскольку ваш старый диск был разбит на разделы с помощью старой утилиты, такой как Linux fdisk , которая бесполезно реализовала выравнивание дорожек с использованием совершенно фиктивной геометрии диска, о которой вы сообщали, а ваш новый диск был или разделен новой утилитой, которая ( по умолчанию) выравнивается по границам 1 МБ.

дальнейшее чтение

32
fdisk -c=dos

Вы использовали старую таблицу разделов DOS при создании раздела. Более новые версии fdisk по умолчанию не используют режим совместимости с dos.

6

Может быть, будет полезно добавить комментарий здесь. Для раздела LUKS говорят, что он удаляет и заново создает раздел в том же месте, но больше, прежде чем вызывать cryptsetup resize . Но когда вы давно создали свой раздел, он начинается с сектора 63. Используя fdisk, раздел будет воссоздан с неправильным смещением, что приведет к потере раздела.

Мне удалось восстановить его с помощью fdisk -c=dos чтобы можно было без проблем создать раздел из сектора 63.

1

Не уверен, почему он начался на 63, но, согласно fdisk, размеры вашего сектора 512.

Поэтому, если вы хотите, чтобы ваши разделы и, следовательно, кластеры были выровнены, ваше начальное смещение должно делиться на 512. В наши дни 2048 довольно распространено.

Если вы предпочитаете смещенные сектора, вы всегда можете заставить GPart переместить ваш раздел обратно на 63.

Редактировать:

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

1

Хотя я понимаю, что на настоящий вопрос был дан ответ, быстрое решение проблемы первого цилиндра 63 против 2048 выглядит примерно так:

sfdisk -d /dev/sdb | sfdisk --force /dev/sda

(если вы уверены, что у вас есть диски одинакового размера)

Затем можно продолжить добавление различных разделов обратно в RAID-массивы, где вы получили жалобы на то, что разделы не имеют одинаковый размер из-за разницы в начальном цилиндре 63/2048, отбрасывающей возможные размеры разделов.

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