Почему раздел начинается в секторе 2048 вместо 63?

У меня было два одинаковых диска, и на каждом было по два 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 ответов

Решение

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

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

fdisk -c=dos

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

Может быть, будет полезно добавить комментарий здесь. For LUKS partition, it is said to delete and re-create the partition at the same place, but larger before calling cryptsetup resize, Но когда вы давно создали раздел, он начинается с сектора 63. Используя fdisk, раздел будет воссоздан с неправильным смещением, что приведет к потере раздела.

I've managed to recover it using fdisk -c=dos to be able to create partition from sector 63, without troubles.

Выбор 1 МБ (размер эмулируемого блока размером 2048 * 512 байт) отлично подходит для различных аппаратных конфигураций хранилища. Поскольку структуры данных файловой системы обычно выровнены с начальной точкой раздела, это может быть важно для максимизации скорости чтения / записи в хранилище.

Например:

RAID может использовать полосы данных размером от 16 до 256 КиБ. 1 МБ - это целое число, поэтому начало раздела с 1 МБ совместимо с базовой моделью RAID.

Твердотельные накопители обычно имеют размер стираемого блока от 128 до 256 страниц NAND, который в зависимости от диска может составлять 256 КиБ или 512 КиБ. Так что и здесь, начало раздела в 1 МБ совместимо с базовыми характеристиками хранения SSD.

Вращающиеся жесткие диски расширенного формата 512e имеют размер физического блока 4 КиБ, и, опять же, 1 МиБ - это целое кратное (хотя и довольно большое) из этого.

Поэтому, если у вас есть диск AF и вы создаете разделы как GPT, вы можете быть совершенно довольны своим первым разделом, начинающимся с блока 40 LBA (целое число, кратное 8 логическим блокам в каждом физическом блоке вашего жесткого диска), и вряд ли мировое хранилище теряется, просто начиная с блока 2048 LBA (1 МиБ), что является просто более гибким значением для программного обеспечения для разбиения на разделы по умолчанию, поскольку оно подходит практически для любой аппаратной конфигурации.

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

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

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

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

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

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

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

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

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

Другие вопросы по тегам