Имеет ли смысл дефрагментация диска в гостевой ОС?
Тема дефрагментации файловой системы периодически всплывает то на форуме, то просто в почте.
Так нужна ли дефрагментация в виртуальном мире, которая как известно, сильно помогает в мире физическом?
Начем с того, что такое фрагментация вообще и каково ее влияние на производительность. Итак, фрагментация — ситуация, когда блоки большого файла разбросаны по физическому диску в случайном порядке. Влияние фрагментации отлично видно на обычной домашней машине с одним жестким диском и большим количеством больших файлов (кино, фото и т.д.). В этом случае для чтения файла (например при копировании) головка диска не может осуществлять линейное последовательное чтение на максимальной скорости, а вынуждена метаться между блоками. Разумеется, все то время, что головка перемещается к нужному цилиндру и ждет начала блока с данными, чтения не происходит. Итог — снижение скорости чтения. Иногда кардинальное снижение, если файл оказался разбит на множество блоков малого размера.
Лечение — путем последовательных чтения/записи переместить по диску блоки файла таким образом, чтобы в максимальной степени сделать их последовательными и соотв. свести перемещания головки к минимуму.
Просто, очевидно и ведет к легко измеримому преимуществу. Но так ли это в виртуальном мире?
А вот здесь как раз зарыт бегемот.
Давайте представим себе среднего размера инфраструктуру с парой сотен виртуальных машин. Есть производительный массив с множеством дисков в RAID, машины генерируют нагрузку, жизнь движется.
Влияет ли как-то фрагментация файловых систем внутри ВМ на общую производительность. Парадокс, но практически нет.



