Безопасно ли заставлять fdisk использовать границу сектора 63?

По какой-то причине первый раздел моего VPS (на котором запущен Debian 8) выровнен по сектору 63 (вместо 2048)

Model: VMware Virtual disk (scsi) Disk /dev/sda: 314572800s Sector size (logical/physical): 512B/512B Partition Table: msdos Disk Flags: Number Start End Size Type File system Flags 1 63s 79971569s 79971507s primary ext4 boot 2 79971570s 83875364s 3903795s primary linux-swap(v1) 83875365s 314572799s 230697435s Free Space 

Теперь я хочу resizeы разделов, чтобы выделить свободное место, к сожалению, fdisk запускает первый сектор в 2048 году. Но, как я прочитал здесь, можно заставить fdisk запускаться с 63 с помощью этой команды.

 fdisk -c=dos -u=cylinders /dev/sda 

Насколько это безопасно? Кроме того, поскольку этот метод устарел, это вредит производительности моего VPS?

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

в противном случае он не будет распознан в лучшем случае, а в худшем может произойти повреждение данных.

Если этот VPS является шаблоном для создания других виртуальных машин, я бы попытался воссоздать / переместить начало * и * данных / секторов в сектор 2048.

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

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

Что касается выравнивания перегородок:

Вы хотите оставить раздел выровненным по границе 4096 байт. Таким образом, реальные сектора будут в основном выровнены с виртуальными секторами, и VMWare обеспечит вашему гипервизору / виртуальной машине более высокую производительность оборудования.

Чтобы понять, почему невыровненные разделы являются проблемой производительности, посмотрите это изображение на purestorage.com:

выровненным

Проконсультируйтесь с техническими документами специалиста по хранению данных в отрасли, чтобы получить лучшее представление о том, какие текущие лучшие практики

Современные поддерживаемые поставщиками операционные системы (ОС) от дистрибьюторов Microsoft и Linux, такие как Red Hat, больше не требуют настроек для выравнивания раздела файловой системы с блоками базовой системы хранения в виртуальной среде.

(.eg “оставить настройки по умолчанию в покое”)

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

Выравнивание ваших разделов по границе 4K в VMDK и LUN – это рекомендуемая лучшая практика

А также:

В выходных данных для каждого устройства умножьте старт на размер сектора (обычно 512 в выводе fdisk), а затем разделите его на 4096. Если результатом является целое число (целое число), оно ВЫРАВНИВАЕТСЯ, если нет, то НЕ УКАЗАНО ,

Итак, проверяем ваш вопрос о создании раздела в секторе 63:

512 * 63/4096 = 7,875 => НЕПРАВИЛЬНО

Я бы, вероятно, использовал и оставил значение по умолчанию в будущем на 2048. Давайте проверим это:

512 * 2048/4096 = 156 => ALIGNED

Рекомендации:

Часто задаваемые вопросы: разделение / дисковая файловая система гостевой виртуальной машины для VMware vSphere, других виртуальных сред и систем хранения NetApp

Как исправить выравнивание разделов данных гостевой виртуальной машины в среде VMware vSphere 5.x

Как выровнять блоки в VMWare ESX

Для справки:

  • Сектор 2048 на обычном накопителе с 512b секторами является первым сектором после отметки 1 МБ.
  • Сектор 63 является сектором непосредственно перед отметкой 32k и первоначально соответствовал последнему сектору первой дорожки на первом диске большинства жестких дисков (по крайней мере, после того, как geometry диска стала достаточно стандартизированной).

Итак, почему они вообще актуальны?

Есть несколько причин, по которым вы обычно не запускаете разделы в секторе 1:

  • Оставляет место для загрузчика. Формат MBR оставляет загрузчику чуть более 40 байтов. Этого могло быть достаточно в дни CP / M и DOS, но быстро стало слишком мало. Итак, конвенция заключалась в том, что вы оставили (почти весь) первый трек первого диска для загрузчика. GRUB, например, фактически требует этого при использовании на многораздельном диске MBR.
  • Это также важно при работе с дисками, разделенными несколькими способами. Некоторые форматы таблиц разделов не начинаются в секторе 0. Современный пример этого – GPT, который начинается в секторе 1 и обычно идет вплоть до сектора 31. Гораздо более старый пример – формат таблицы разделов, используемый системами Apple. с classической ОС. Это гораздо более нишевое использование, но оно все еще по крайней мере несколько уместно из-за GPT.
  • Выравнивание разделов таким образом, чтобы они начинались и заканчивались на естественных границах геометрии жесткого диска (таких как границы цилиндров или дорожек), повышает производительность. Сектор 63 оказывается прямо у естественной границы, и большинство файловых систем на самом деле не очень часто касаются их первого сектора (если вообще), поэтому он заканчивается размещением второго сектора в начале нового цилиндра, и обычно также в начало новой дорожки, к которой обычно очень часто обращаются в некоторых старых файловых системах (хотя в некоторых других ее вообще нет), например, ext4 и BTRFS, как правило, никогда не коснутся ее).

Из-за пунктов 1 и 3 сектор 63 стал стандартом. Однако по большей части он вышел из употребления по причинам, которые я изложу ниже.

Хорошо, так почему это увеличилось до 1 МБ?

Этот немного сложнее. Я не видел ни одного фактического окончательного исторического ответа о том, почему был выбран 1 МБ, или даже когда именно это стало нормой. У ИТ есть некоторые преимущества:

  • Он оказывается правильно выровненным для секторов размером 512b и 4k, в отличие от сектора 63, что обычно приводит к выравниванию большинства файлов в самой файловой системе (изначально это не было проблемой для FAT12 и FAT16, поскольку они обычно по умолчанию работает с внутренним сектором 512b).
  • Многие протоколы сетевого хранения определяют 1 МБ как максимальный размер блока для чтения и записи. Выравнивая разделы, как это, вы в конечном итоге выровнены должным образом с блочными протоколами и, таким образом, избегаете возможности выполнять циклы RMW, когда вы хотите выполнить только частичную запись.
  • Большинство современных SSD имеют секторы 512b или 4k, но на самом деле они работают внутри с гораздо большими блоками. Обычно это блоки по 2 МБ или 4 МБ, но многие старые использовали блоки по 1 МБ. Правильное выравнивание с этими блоками фактически значительно увеличивает ожидаемый срок службы некоторых твердотельных накопителей, а также значительно повышает производительность записи.

Хорошо, но как насчет оригинального вопроса?

Учитывая вышесказанное, переход к 2048 году в качестве основы должен немного улучшить производительность вашей виртуальной машины.

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