На Microsoft Лучшие практики для запуска Linux на Hyper-V странице рекомендуется использовать ext4, а не ext3 и "указать количество групп, равное 4096", используя mkfs.ext4 –G 4096 /dev/sdX1
. Что именно это делает?
На странице руководства говорится, что блоки для каждой группы (параметр -g) не следует изменять и использовать tune2fs -l
Я вижу, что он установлен на 32768. Это означает, что группы блоков размером от 128 до 512 ГиБ (в зависимости от размера блока) будут упакованы вместе, но как это соотносится со значением по умолчанию? На странице руководства не указано значение по умолчанию, и я не вижу этого в tune2fs -l
вывода тоже нет.
В -g
вариант очень и очень отличается от -G
вариант для mkfs.ext4
.
Microsoft определенно рекомендует изменить -G
вариант в документе с лучшими практиками, а не -g
вариант, который явно не рекомендуется использовать / изменять / настраивать, как вы отметили на странице руководства.
-G количество групп
Укажите количество групп блоков, которые будут упакованы вместе, чтобы создать большую группу виртуальных блоков (или «группу flex_bg») в файловой системе ext4. Это улучшает локальность метаданных и производительность при тяжелых рабочих нагрузках с метаданными. Количество групп должно быть степенью 2 и может быть указано, только если включена функция файловой системы flex_bg.
Вы можете увидеть значения по умолчанию, запустив dump2fs -h /my/file/system
и ищу Flex block group size
. Например, для моего раздела ext4 результаты следующие:
Flex block group size: 16
Это именно то, что говорит Теодор Цо из своей презентации. Ускорение проверки файловой системы в ext4 на странице 17.
По умолчанию mke2fs использует 16 групп блоков / группу flex_bg (должно быть степенью 2)
Что касается того, что он делает, вы можете увидеть разницу в производительности на fsck
операции с большими файловыми системами в Обзор файловой системы Ext4 и предвидения онлайн-дефрагментации Ext4, начиная со страницы 14.
Согласно вики-странице ядра Linux, это работает путем группирования метаданных вместе для более быстрой загрузки и для обеспечения непрерывности файлов большего размера на диске. ext4 kernel wiki: гибкие группы блоков
Последняя часть цитаты из вики-статьи enable larger files to be contiguous on disk
является ключевой частью того, почему для Hyper-V рекомендуется установить его на 4096, потому что он позволяет меньше использовать фактическое дисковое пространство для динамических файлов VHDX, потому что файлы не так сильно фрагментированы в файловой системе на виртуальный жесткий диск, и структуры данных сгруппированы более эффективно.
Более подробную информацию об обосновании рекомендаций Microsoft по передовой практике в отношении Linux можно найти в примечаниях к выпуску OpenSuSE 12.1. Форматирование больших дисковых разделов в Windows Server и технические примечания к Red Hat Enterprise Linux 6 6.4 Виртуализация слишком.
Надеюсь, это поможет прояснить ваше замешательство и ответить на ваши вопросы. знак равно