17

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

3 ответа3

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

http://www.fb-developers.info/blog/2012/virtualbox-v4-2-is-coming/

VHDX - это новый формат виртуальных жестких дисков, представленный в Windows Server 2012, который позволяет создавать устойчивые высокопроизводительные виртуальные диски объемом до 64 терабайт ... Формат VHDX также обеспечивает следующие преимущества производительности:

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

https://msdn.microsoft.com/en-us/library/windows/hardware/dn567657(v=vs.85).aspx

Случаи применения

  • Потребительский виртуальный жесткий диск (VHD), смонтированный на SSD:

    VHD изначально установлен на «чистых» неиспользованных носителях. Поскольку используется виртуальный жесткий диск, виртуальный жесткий диск использует части носителя для файлов и т.д. При удалении файлов на носителе эти файлы не удаляются с SSD, поскольку весь виртуальный жесткий диск хранится в виде одного файла на SSD. Среда Hyper-V вызывает File TRIM для всех регионов, которые удаляются, когда delete-file происходит в среде VHD. File_TRIMs транслируются на SSD, так что производительность SSD может быть оптимизирована.
  • Бытовой VHD, установленный на SAN с тонкой подготовкой:

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

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

https://msdn.microsoft.com/en-us/library/hh848053(v=vs.85).aspx

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

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

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

  • В виртуальных машинах Windows 8, Windows 10, Ubuntu и Red Hat Enterprise Linux все типы дисков могут сообщать о своих виртуальных дисках как диски SSD.
  • На виртуальных машинах Windows 7 только виртуальные диски IDE и SATA могут сообщать о своих виртуальных дисках как SSD. Виртуальные диски SCSI сообщаются как SSD только в том случае, если они используются в качестве системного диска в виртуальной машине, или в качестве механического диска, если они используются в качестве диска данных внутри виртуальной машины.
  • На виртуальных машинах Mac в качестве SSD указываются только виртуальные диски SATA. Виртуальные диски IDE и SCSI считаются механическими дисками.

Используйте операционную систему виртуальной машины, чтобы убедиться, что ваша виртуальная машина использует SSD в качестве своего виртуального диска.

  • То же самое относится и к другим продуктам VMware, таким как vSphere и ESXi.

В. Поддерживает ли 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, могут не работать из-за проблем с выравниванием блоков.

http://cormachogan.com/2015/05/07/vsphere-6-0-storage-features-part-8-vaai-unmap-changes/

http://www.codyhosterman.com/2015/04/direct-guest-os-unmap-in-vsphere-6-0/

1

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

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

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

-1

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

Увидеть

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

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

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

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .