1

РЕЗЮМЕ

У меня есть ноутбук Dell Inspiron 17-5767 с внутренним диском 1 ТБ, и я позволил исходной версии Windows 10 продолжать иметь и доминировать над собой (это моя игровая ОС). Кроме того, у меня есть два внешних диска, с которых я делаю и буду загружать мою текущую и будущую ОС Linux. Моя текущая настройка выглядит следующим образом:

  1. Порт USB 3.0 № 0: расширение Seagate + 931,5 ГБ (1000204885504 байт). Внешний жесткий диск распознается как /dev /sdb
    • в настоящее время размещается один полноразмерный пустой раздел ext4, но изо всех сил пытался заменить его оптимальной выровненной схемой разбиения из 12 разделов (точка борьбы заключается в выравнивании)
  2. Порт USB 3.0 № 1: 238,5 ГБ (256060514304 байта) Samsung SSD 840 Pro распознается как /dev /sdc
    • был разделен с помощью установщика Fedora LiveCD (с опцией "custom") и содержит оба дистрибутива Fedora LXDE и Lubuntu linux в одном LVM, содержащем общее пространство подкачки, общее пространство пользователя, отдельные корни и отдельные внешние загрузочные разделы ( внешний здесь, я имею в виду не в LVM, а в своих отдельных основных разделах в другом месте на том же диске)
    • Этот диск имеет как физический, так и логический размер блока 512, и оптимально выровнен, в соответствии с утилитой parted 'align-check opt x', и fdisk также доволен выравниванием (нет жалоб на выравнивание ни от одной утилиты)
  3. UEFI BIOS пытается загрузиться с USB до внутреннего, поэтому я получаю всплывающее окно со всеми моими доступными опциями

ЦЕЛЬ

Я пытаюсь воспроизвести что-то похожее на то, что у меня происходит с /dev /sdc на диске /dev /sdb, но с 5 дистрибутивами Linux. Этот аспект моего проекта я рассмотрел, так как я опытный мультизагрузчик. Но другая часть моей цели состоит в том, чтобы разделение на /dev /sdb было оптимально выровнено, как в случае с /dev /sdc, и здесь я столкнулся с проблемой.

СРЕДА

В настоящее время я работаю с моей относительно свежей и обновленной установкой Fedora LXDE, и результаты, которые я получаю, полностью повторяются в моей относительно свежей и обновленной установке Lubuntu.

ОТЧЕТНЫЕ ПАРАМЕТРЫ ДИСКА

[root@frank ~]# cat /sys/class/block/sdb/queue/physical_block_size 
4096
[root@frank ~]# cat /sys/class/block/sdb/queue/logical_block_size 
512
[root@frank ~]# cat /sys/class/block/sdb/queue/minimum_io_size 
4096
[root@frank ~]# cat /sys/class/block/sdb/queue/optimal_io_size 
33553920
[root@frank ~]# cat /sys/class/block/sdb/alignment_offset 
0
[root@frank ~]# fdisk -l /dev/sdb
Disk /dev/sdb: 931.5 GiB, 1000204885504 bytes, 1953525167 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 33553920 bytes
Disklabel type: gpt
Disk identifier: 9428D9DB-746C-40CA-B189-060F92A10E3C

Device     Start        End    Sectors   Size Type
/dev/sdb1  65535 1953467279 1953401745 931.5G Linux filesystem

Partition 1 does not start on physical sector boundary.
[root@frank ~]#

ПРОБЛЕМА

Таким образом, на основе отчетов о размере физического блока получается, что диск имеет размер 4 КБ (расширенный формат), а не 512b, как у другого диска, хотя для целей обратной совместимости он использует логический размер сектора 512 КБ. Я могу сказать, что утилита parted GNU принимает размер блока 512, потому что при вычислении оптимального интервала ввода-вывода

(optimal_io_size + alignment_offset) / physical_block_size = optimal_sector_interval

он получает значение 65535, то есть там, где он автоматически запускает первый раздел, и единственный способ, чтобы вспомогательная утилита проверки выравнивания прошла выравнивание раздела как оптимальное, - если он начинается с кратного 65535. Единственный способ, которым результат parted имеет смысл, - это если вы считаете, что он обрабатывает phys_io_size как 512 вместо 4096

(33553920 + 0) / 512 = 65535.

Однако по понятным причинам parted не может использовать размер блока 4096, потому что тогда уравнение сработает для

(33553920 + 0) / 4096 = 8191.875.

Этот ответ удовлетворил бы учителя старшей школы по алгебре, но, очевидно, не имеет смысла как интервал сектора, для которого можно было бы ожидать дискретное значение (то есть целое число!). В любом случае, поскольку я хочу создать 12 разделов, некоторые из которых имеют размер не более 256 МБ, это невозможно сделать в GNU Parted с использованием процентов, а вкратце я смог выполнить только проверки выравнивания для оптимального выравнивания придерживаясь 'unit s' и выполняя модульную арифметику самостоятельно, чтобы убедиться, что мои разделы начинаются с интервалами 65535, я захотел, чтобы расставался раздел. Основываясь на моих исследованиях, я не думал, что было так важно, чтобы мои разделы также заканчивались с такими интервалами, и, следовательно, у меня остались промежутки (очевидно, не более 65535) между большинством моих разделов.

Еще раз расстался, подумал, что мой результат выровнен оптимально, рассматривая размер физического блока как 512 вместо 4096. Но затем, после выхода из parted и запуска fdisk -l /dev /sdb, я получил следующее:

Partition 1 does not start on physical sector boundary.
Partition 2 does not start on physical sector boundary.
Partition 3 does not start on physical sector boundary.
Partition 4 does not start on physical sector boundary.
Partition 5 does not start on physical sector boundary.
Partition 6 does not start on physical sector boundary.
Partition 7 does not start on physical sector boundary.
Partition 8 does not start on physical sector boundary.
Partition 9 does not start on physical sector boundary.
Partition 10 does not start on physical sector boundary.
Partition 11 does not start on physical sector boundary.
Partition 12 does not start on physical sector boundary.

Итак, что любит расстаться, fdisk нет. Затем я попытался использовать gParted, чтобы переделать мою схему разбиения, позволив ей использовать размер 1 МБ, и он начал первый раздел в 2048 с, как вы видели на моем другом диске (/dev/sdc). Тогда fdisk был доволен и перестал жаловаться на выравнивание секторов, но после этого GNU parted не прошел тесты проверки выравнивания для оптимального режима, хотя он прошел бы для минимального режима.

Однако я обнаружил, что в обоих случаях mkswap (который я использовал для создания тома подкачки в LVM, который я поместил в /dev /sdb11) дал мне следующее предупреждение:

[root@frank ~]# mkswap /dev/strange_quark_experimental/swap
mkswap: warning: /dev/strange_quark_experimental/swap is misaligned

Таким образом, mkswap находит, что мой том подкачки не выровнен, независимо от того, считает ли parted, что диск оптимально выровнен или выровнен по минимуму, и mkswap также обнаружит, что мой том подкачки не выровнен, независимо от того, радует fdisk выравнивание или нет.

ТЕОРИЙ

Все это оставляет у меня впечатление, что мне, возможно, придется игнорировать предупреждения, по крайней мере, от одной утилиты создания отчетов или разбиения диска, но я не уверен, какая именно. Также возможно, что все отчеты с самого начала ненадежны, так как USB-совместимый корпус, содержащий жесткий диск, может неверно сообщать хотя бы один из параметров сектора. Например, может быть, это на самом деле не диск AF? Или возможно это оптимальный размер IO, о котором сообщают неправильно. Или может оба? И, поверьте мне, я также рассмотрел возможность того, что это случай PEBKAC, так как я мог бы просто неправильно понять что-то о том, как выровнять разделы на диске 4k. Я не уверен.

Что бы ни происходило, я буду рад двигаться вперед с моими фактическими установками Linux, как только я верю, что мои разделы оптимально выровнены и mkswap, или, по крайней мере, утилиты, которым я действительно должен доверять больше всего, перестанут жаловаться на выравнивание.

ПОМОГИТЕ

Пожалуйста, помогите мне понять, почему я не могу разойтись и другие дисковые утилиты, чтобы договориться о чем-то большем, чем минимальное выравнивание (достигается только при разбиении на разделы с помощью gParted или gdisk), и, пожалуйста, посоветуйте мне, действительно ли я должен слишком беспокоиться о преимуществах оптимального выравнивания по сравнению с минимальным выравниванием в моем случае, поскольку я не буду тратить впустую дополнительное время, если есть слишком незначительная разница в производительности или исправности диска. В противном случае я бы хотел в полной мере воспользоваться преимуществами расширенного формата моего диска.

0