Выравнивание разделов: parted показывает предупреждение

Выравнивание разделов: parted показывает предупреждение

Я читал об использовании логического размера блока 4096 байт, если мой жесткий диск использует физический размер блока 4096 байт для своих секторов. Поэтому я просто попытался создать его на запасном жестком диске, и я не понимаю предупреждения в последнем запросе. Смотрите ниже.

~$ cat /sys/class/block/sda/queue/physical_block_size
4096
~$ cat /sys/class/block/sda/queue/logical_block_size
512
server@Server:~$ sudo parted /dev/sda
GNU Parted 2.3
Using /dev/sda
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) print
Model: ATA WDC WD30EFRX-68A (scsi)
Disk /dev/sda: 3001GB
Sector size (logical/physical): 512B/4096B
Partition Table: gpt

Number  Start  End  Size  File system  Name  Flags

(parted) mklabel gpt
Warning: The existing disk label on /dev/sda will be destroyed and all data on this disk will be lost. Do you want to continue?
Yes/No? yes                                                               
(parted) mkpart primary 4096B 3001GB
Warning: You requested a partition from 4096B to 3001GB.                  
The closest location we can manage is 17.4kB to 3001GB.
Is this still acceptable to you?
Yes/No? n

Почему я просто не могу использовать размер блока 4096?

решение1

Размеры физического и логического блока (сектора) определяются аппаратным обеспечением вашего диска и не могут быть изменены. Подавляющее большинство жестких дисков сегодня используют логические сектора размером 512 байт, хотя я слышал о некоторых высокопроизводительных дисках, которые теперь используют логические сектора размером 4096 байт. Некоторые внешние корпуса также переназначают размер логического сектора на 4096 байт.

Комбинация логических секторов размером 512 байт с физическими секторами размером 4096 байт может привести к проблемам с производительностью, если разделы не выровнены по секторам, кратным 8. Большинство современных инструментов для разбиения на разделы справляются с этим автоматически — на самом деле, они обычно выравниваются по секторам, кратным 2048 (1 МиБ), что, конечно, кратно 8 секторам и поэтому работает хорошо. (Использование выравнивания по секторам размером 2048 также работает со многими продуктами RAID и SSD, которым требуется выравнивание по значениям степени двойки выше 8, поэтому значение по умолчанию — 2048.) Старые инструменты выравнивались по границам «цилиндров». В далеком прошлом (1980-е годы) выравнивание по цилиндрам давало выигрыш в производительности; но затем «цилиндры» стали удобной фикцией, затем неудобной фикцией, затем серьезной проблемой. Инструменты Linux довольно медленно адаптировались к этим изменениям, но сегодня все основные программы игнорируют цилиндры и по умолчанию используют выравнивание по секторам размером 2048.

Вы можете настроить значение выравнивания на любое, что вам нравится, с помощью gdisk-- вы должны ввести текст x, чтобы попасть в меню экспертов, затем ввести текст, dчтобы изменить значение выравнивания. Обратите внимание, что эта опция находится наэкспертыmenu по причине: если вы не до конца понимаете, что делаете, вы, скорее всего, создадите проблемы, чем решите их, используя эту функцию. Даже если вы эксперт, экономия места от изменения выравнивания с 2048 на 8 секторов будет незначительной (менее 1 МБ), поэтому даже я почти никогда этого не делаю. (Я gdiskавтор .)

решение2

Warning: You requested a partition from 4096B to 3001GB.                  
The closest location we can manage is 17.4kB to 3001GB.
Is this still acceptable to you?

Это говорит о том, что из-за других вещей в начале диска (метаданные о схеме разбиения или что-то подобное) самое близкое расстояние, которое он может получить от начала диска, составляет 17,4 КБ. Вынехотите этого; вы хотите, чтобы он начинался с границы 4КиБ. Поэтому вам следует отменить и попробовать снова, на этот раз запросив начать раздел с первой границы 4096Б за этой точкой (попробуйте 20480Б).

Причина, по которой вам нужно сделать это вручную, заключается в том, что вы используете инструмент разбиения на разделы низкого уровня. Инструмент более высокого уровня, такой какgpartedавтоматически выровняет начало раздела по круглому числу. В наши дни многие подобные инструменты выравнивают разделы по кратным 1 МБ (1024x1024 байт), поскольку это аккуратно решает как границы в 512 байт, так и 4096 байт, а также выравнивание по блокам на таких устройствах, как USB-флешки.

решение3

Просто оставьте расчет, partedиспользуя в качестве единиц проценты:

mkpart primary 0% 100%

Что должно привести к выровненному разделу:

(parted) print                                                            
Model: ATA SAMSUNG MZ7LM3T8 (scsi)
Disk /dev/sdb: 3841GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags: 

Number  Start   End     Size    File system  Name     Flags
 1      1049kB  3841GB  3841GB               primary

решение4

GPT нужны первые 34 сектора вашего диска для хранения

  • защитный MBR в первом секторе (LBA 0),
  • первичный GPT-заголовок во втором секторе (LBA 1),
  • и до 128 записей таблицы разделов в следующих 32 секторах (LBA 2 - LBA 33)

Эти сектора зарезервированы, в них не могут храниться никакие другие данные, ни в одном из них не может быть создан раздел.

34 сектора размером 512Б = 17408Б = 17,4кБ

Вот почему вы получаете предупреждение The closest location we can manage is 17.4kB to 3001GB.

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

Обратите внимание, что последние 33 сектора диска также зарезервированы для хранения копии первичного заголовка GPT и записей таблицы разделов.

https://en.wikipedia.org/wiki/GUID_Partition_Table

Связанный контент