
Model: ATA Samsung SSD 850 (scsi)
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:
Number Start End Size File system Name Flags
1 24576B 1048575B 1024000B bios_grub
2 1048576B 537919487B 536870912B fat32 boot, esp
3 537919488B 1611661311B 1073741824B zfs
4 1611661312B 500107845119B 498496183808B zfs
parted /dev/sda align-check optimal 1
> 1 not aligned
parted /dev/sda align-check optimal 2
> 2 aligned
parted /dev/sda align-check optimal 3
> 3 aligned
parted /dev/sda align-check optimal 4
> 4 aligned
Размер сектора составляет 512 Б, но я предполагаю, что 4096 Б, поскольку это SSD, в любом случае он должен быть делимым, 24576 / 512 = 48
, 24576 / 4096 = 6
. Есть ли какая-то причина, по которой parted говорит, что он не выровнен?
Я понимаю, что эта текущая конфигурация не должна оказывать никакого влияния на производительность, поскольку она считывается (если вообще считывается) только при загрузке, но мне просто интересно, почему она отображается именно так.
Для справки, схема разделов предлагается Debian ZFS на Root (https://openzfs.github.io/openzfs-docs/Getting%20Started/Debian/Debian%20Buster%20Root%20on%20ZFS.html)
решение1
Попробуйте align-check minimal 1
, с этим должно быть все в порядке.
Независимо от того, что расстались бы,оптимальныйдля вашего оборудования, оптимизация структуры разделов для флэш-памяти должна учитывать, что чипы организованы встраницы истирать блоки.
Вы просто не можете просто перезаписатьстраница. Процессор, управляющий устройством, должен сначала стереть его, а стирание возможно только блоками, значительно превышающими размер страницы.
Если размер страницы вашего устройства, скорее всего, будет в диапазоне 2–32 КБ,стирание-блокРазмер обычно составляет от 128 КБ до 2 МБ (в 64 раза больше) в зависимости от емкости диска. 4 МБ — обычное дело в категории ГБ.
** Все операции на диске могут выполняться только в этих блоках **
=> Забудьте о размере страницы, откройте технические характеристики вашего устройства, найдите размерстирать блокизатем выровняйте разделы соответствующим образом.
Будьте осторожны: это было время, когда Samsung играл с оченьудивительноценности и не особенно стремятся раскрывать эту информацию.
решение2
Он "не выровнен", но это также не имеет значения для bios_grub
раздела. Grub хранит там всего несколько килобайт данных, которые считываются один раз при загрузке. Выравнивайте его или нет, на практике это не будет иметь никакого значения.
Последние версии parted
могут быть более подробными в отношении сообщения о выравнивании:
# parted --version
parted (GNU parted) 3.3
Copyright (C) 2019 Free Software Foundation, Inc.
...
# parted /dev/loop0 align-check optimal 1
1 not aligned: 48s % 2048s != 0s
Итак, это "не выровнено" с точки зрения выравнивания MiB. Это также может быть не выровнено, учитывая, что SSD могут использовать страницы 4K, 8K, 16K внутри, так что 6*4K — это немного странное значение для выравнивания.
Цель создания раздела таким образом — не выравнивание, а максимизация использования пространства. Хотя сложно придумать вариант использования, где Grub действительно понадобится больше, чем несколько секторов.
Если вы все равно хотите «исправить» это, вы можете поместить раздел bios_grub
со смещением 1 МБ и начать boot, esp
раздел с 2 МБ, оставив область, занимаемую в данный момент, bios_grub
как нераспределенное свободное пространство.
Но никаких изменений в функциональности или производительности не будет. Можно проигнорировать и оставить как есть.