Виртуальные машины и TRIM

18

Хотя поддержка TRIM была введена для улучшения работы SSD, она также должна помочь виртуальным машинам оптимизировать виртуальные диски (например, узнать, какие части виртуальных дисков не требуют хранения в физических разделах). Любая машина VM использует TRIM таким образом?

liori
источник

Ответы:

10

Virtualbox поддерживает TRIM начиная с версии 4.2

  • Хранение: реализована поддержка сброса неиспользуемых блоков изображений через TRIM для SATA и IDE и UNMAP для SCSI при использовании образов VDI

Вы должны будете использовать --nonrotational onи --discard onвозможности :

  • --discard

    Включает функцию автоматического удаления виртуальных жестких дисков. Это указывает, что образ VDI будет сокращен в ответ на команду обрезки гостевой ОС. Следующие требования должны быть выполнены:

    • Формат диска должен быть VDI.
    • Размер очищаемой области должен быть не менее 1 МБ.
    • Oracle VM VirtualBox будет обрезать только целые блоки размером 1 МБ. Сами VDI организованы в блоки по 1 МБ, поэтому это будет работать только в том случае, если урезанное пространство составляет не менее 1 МБ непрерывного блока на границе 1 МБ. В Windows может быть полезна периодическая дефрагментация defrag.exe /Dв Linux или в Linux, выполняемая btrfs filesystem defragв качестве фонового задания cron.

Более подробную информацию можно найти в


Hyper-V может также сжимать изображения VHD и VHDX

Случаи использования

  • ...
  • Потребительский VHD, установленный на SAN с тонкой подготовкой:

    Первоначально VHD монтируется на одной минимальной плите с тонкой подготовкой среды. Поскольку файлы хранятся на виртуальном жестком диске, объем хранилища виртуального жесткого диска увеличивается в несколько слоев. Когда файлы удаляются в виртуальном жестком диске, Hyper-V вызывает File_TRIM для базовой SAN с тонкой подготовкой. Если TRIM больше, чем гранулярность SLAB, SAN теперь может удалить SLAB и, следовательно, уменьшить площадь VHD в этой SAN.

Если виртуальный жесткий диск находится на сервере под управлением Windows 8, оптимизатор хранилища также отправит TRIM для уменьшения занимаемой площади виртуального жесткого диска из подключенного виртуального жесткого диска.

Новый API позволяет приложениям отправлять подсказки «TRIM and Unmap» на носитель

Смотрите также


VMware Workstation 10 заявляет о поддержке сквозного прохождения SSD

  • SSD Pass-through Windows 8 способна определять, когда он запускается с твердотельного накопителя (SSD), и оптимизирует себя под это оборудование. На рабочей станции 10 гостевая операционная система сможет определять, когда файл диска виртуальной машины хранится на диске SSD, и операционная система может выполнять те же оптимизации, когда работает на виртуальной машине.

Замечания к выпуску VMware Workstation 10.0

Это также упомянуто в Требованиях к дисковому центру Центра документации VMWare Workstation Pro для хост-систем - твердотельные накопители :

Если на вашем хост-компьютере есть физический твердотельный накопитель (SSD), он информирует гостевые операционные системы о том, что они работают на SSD.

Это позволяет гостевым операционным системам оптимизировать поведение. То, как виртуальные машины распознают SSD и используют эту информацию, зависит от гостевой операционной системы и типа диска виртуального диска (SCSI, SATA или IDE).

Но по тексту похоже, что команда TRIM передается только базовому физическому SSD вместо сокращения образа VMDK

Другие продукты VMware, такие как vSphere и ESXi, также поддерживают TRIM, но до сих пор неясно, используют ли они его для уменьшения изображения или нет

Q. Поддерживает ли VMware UNMAP непосредственно из гостевой ОС в vSphere 6.0.

Да. Выдача UNMAP непосредственно из гостевой ОС для освобождения пространства поддерживается в vSphere 6.0.

В. Каковы предварительные условия, необходимые для запуска UNMAP?

Есть ряд предварительных условий, которые должны быть выполнены. Эти:

  • VMDK должен быть тонко подготовлен
  • Версия оборудования виртуальной машины должна быть 11 (ESXi 6.0)
  • Расширенная настройка EnableBlockDelete должна быть установлена ​​на 1
  • Гостевая ОС должна иметь возможность идентифицировать диск как тонкий (Windows 2012 [обновлено 30 октября 2015] использует страницу режима B2 для достижения этой цели)

В. Работает ли рекламация только для UNMAP? Как насчет TRIM?

Это ответ «все зависит». TRIM используется только в том случае, если базовым устройством является твердотельный диск. Насколько я понимаю, TRIM преобразуется в UNMAP в стеке ввода-вывода. Однако есть некоторые проблемы с преобразованием TRIM в UNMAP. UNMAP работают на определенных границах блоков в VMFS, тогда как TRIM не имеет таких ограничений. Таким образом, некоторые TRIM, преобразованные в UNMAP, могут не работать из-за проблем с выравниванием блоков.

Функции хранения vSphere 6.0, часть 8. Изменения в VAAI UNMAP

Смотрите также

phuclv
источник
1
Я полагаю, что VMware удалила это маркетинговое требование из будущих версий, потому что оно было повреждено, поскольку они не поддерживали TRIM. Смотрите здесь и здесь
Том Хейл
1

Поддержка TRIM требует глубоких знаний базового оборудования. Поскольку виртуальные машины ( гостевые виртуальные машины ) по определению работают на виртуальном оборудовании, они не осведомлены о деталях жесткого диска или SSD, на котором они находятся.

Таким образом, если операционная система VM Host понимает TRIM, этого должно быть достаточно для всех гостей VM, работающих поверх нее.

Некоторые виртуальные хосты могут «проходить» через физический диск и монтировать его непосредственно в операционной системе на гостевой виртуальной машине. В зависимости от точной реализации, теоретически возможно, что гость тогда может поддерживать функцию TRIM SSD. Как и в большинстве случаев, ваш пробег может отличаться, и если это критично для вашей среды, вы должны тщательно протестировать его, прежде чем совершить коммит.

stewartwb
источник
1
Единственное, что я хотел бы добавить, - это если файл жесткого диска vm является динамическим, вы можете уменьшить его, а хост при необходимости скажет SSD обрезать только что освобожденные сектора. Это может ускорить запись в файл на жестком диске vm, поскольку при увеличении размера файла, который вы не изменяете, существующие сектора хоста, новые / урезанные сектора могут использоваться для записи гостя. Обычно я фиксирую размер файлов на жестком диске vm, но это предотвращает фрагментацию на жестких дисках. С твердотельными накопителями я бы, вероятно, пошел на динамическое и периодическое сокращение
Скотт МакКленнинг
2
-1. Вам не хватает того факта, что TRIM / unmap используется для сжатия файла образа виртуальной машины. И, как результат, хост-ОС может выдавать TRIM / unmap на базовом оборудовании. Это важная часть концепции тонкого обеспечения.
rustyx
-1

TRIM был изобретен, потому что запись на SSD должна выполняться в блоках по 512 Кбайт, и определение того, какая часть блока фактически используется файлом или файлами, невозможно для самого SSD-диска и должно передаваться операционной системой и файловой системой.

Видеть

http://en.wikipedia.org/wiki/TRIM

РЕДАКТИРОВАТЬ:

Вики-ссылка говорит, что это лучше, чем я мог:

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

bot403
источник
6
ВМ может хранить информацию о том, какие блоки были обрезаны для использования при запросе пользователя на перепаковку и сжатие виртуальных дисков. В настоящее время VMWare выполняет аналогичную операцию, но сначала она перезаписывает все свободное пространство внутри VM.
Лиори
6
Вопрос не в том, чтобы преобразовать операцию TRIM на виртуальном диске в операцию TRIM на диске хоста. Как вы указываете, это не работает так напрямую. Очевидно, что вопрос заключается в том, чтобы преобразовать вызов TRIM на виртуальном диске в укорочение файла образа на диске хоста (что, в свою очередь, может, в свою очередь, вызвать операцию TRIM на диске хоста, но вопрос касается первого шага).
Паскаль Куок
1
Существуют запасные файлы , которые идеально подходят для использования в качестве усеченного образа диска для виртуальной машины.
не пользователь