
Я читал об использовании логического размера блока 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 и записей таблицы разделов.