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


18

Хоча підтримка TRIM була введена для покращення роботи SSD, вона також повинна допомогти віртуальним машинам оптимізувати віртуальні диски (наприклад, знати, які частини віртуальних дисків не потребують зберігання на фізичних розділах). Чи використовує будь-який апарат VM TRIM таким чином?

Відповіді:


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 /DLinux або Linux, що працює btrfs filesystem defragяк фонове завдання.

Більше інформації можна знайти в


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

Використовуйте випадки

  • ...
  • Споживчий VHD, встановлений на тонко передбаченому SAN:

    СХД спочатку встановлюється на одній мінімальній плиті навколишнього середовища. Оскільки файли зберігаються у VHD, слід зберігати VHD у кількох плитах. Коли файли видаляються у VHD, Hyper-V викликає File_TRIM до нижнього тонко передбаченого SAN. Якщо TRIMs більше, ніж зернистість SLAB, SAN тепер може видалити SLAB і, отже, зменшити слід VHD на цьому SAN.

Якщо VHD є резидентом на сервері на базі Windows 8, оптимізатор зберігання також надішле TRIM для зменшення сліду плити VHD у межах встановленого VHD.

Новий API дозволяє програмам надсилати підказки "TRIM і Unmap" на носії інформації

Дивись також


VMware Workstation 10 стверджує, що підтримує проходження SSD

  • Пропуск SSD через Windows 8 здатний виявляти, коли він працює з твердотільного накопичувача (SSD), і оптимізує себе для цього обладнання. У Workstation 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 для досягнення цього)

Q. Чи вимагає відшкодування лише для UNMAP? А як щодо TRIM?

Це відповідь "це залежить". TRIM використовується лише тоді, коли базовим пристроєм є SSD - твердотільний диск. З того, що я розумію, TRIM перетворюється на UNMAP у стеці вводу / виводу. Однак є деякі проблеми з перетворенням TRIM в UNMAP. UNMAP працює у певних блокових межах на VMFS, тоді як TRIM не має таких обмежень. Таким чином, деякі TRIM, перетворені в UNMAP, можуть не працювати через проблеми блокування вирівнювання.

vSphere 6.0 Особливості зберігання Частина 8: Зміни VAAI UNMAP

Дивись також


1
Я вважаю, що VMware видалила цю заяву щодо маркетингу з майбутніх версій, оскільки вона була каліка, оскільки вони не підтримували TRIM. Дивіться тут і тут
Том Хейл

1

Підтримка TRIM вимагає глибокого знання базового обладнання. Оскільки віртуальні машини ( гості VM ) за визначенням працюють на віртуальному апаратному забезпеченні, вони не знають про деталі жорсткого диска або SSD, на якому вони перебувають.

Отже, якщо операційна система VM Host розуміє TRIM, цього повинно вистачити для всіх гостей VM, які працюють над ним.

Деякі хости VM можуть "пропустити" фізичний привід і встановити його безпосередньо в операційну систему на VM Guest. Залежно від точної реалізації, теоретично можливо, що Гість може потім підтримати функцію TRIM SSD. Як і в більшості речей, ваш пробіг може відрізнятися, і якщо це важливо для вашого оточення, ви повинні ретельно перевірити його перед тим, як здійснити вчинення.


1
Єдине, що я хотів би додати, це якщо файл жорсткого диска vm є динамічним, ви можете зменшити його, і хост тоді, якщо потрібно, скаже SSD обрізати щойно звільнені сектори. Це може пришвидшити запис файлу на жорсткий диск vm, оскільки коли файл зростає, не змінюючи існуючі хост-сектори, для запису гостя можуть використовуватися нові / обрізані сектори. Зазвичай я фіксую розмір на своїх файлах жорсткого диска vm, але це запобігає фрагментації на жорстких дисках. З SSD-дисками я б, мабуть, динамічно і періодично скорочувався.
Скотт Маккленінг

2
-1. Вам не вистачає факту, що TRIM / unmap використовується для зменшення динамічного розміру файлу зображення VM. І як результат, хост ОС може видавати TRIM / unmap на базовому апаратному забезпеченні. Це важлива частина концепції тонкого забезпечення.
rustyx

-1

TRIM був винайдений, тому що запис на SSD повинен бути виконаний у блоках 512K, і шкода того, яка частина блоку фактично використовується файлом або файлами, неможлива для самого SSD-накопичувача і повинна передаватися ОС і файловою системою.

Побачити

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

Редагувати:

Вікі-посилання говорить про це краще, ніж я міг:

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


6
VM може зберігати інформацію про те, які блоки були оброблені для використання під час запиту користувача на перепакування та стискання віртуальних дисків. Наразі VMWare має подібну операцію, але вона працює, спочатку перезаписавши весь вільний простір всередині VM.
liori

6
Питання полягає не в перекладі операції TRIM на віртуальний диск в операцію TRIM на хост-диску. Як ви вказуєте, це не працює так прямо. Питання чітко полягає в перекладі виклику TRIM на віртуальний диск до скорочення файлу зображення на хост-диску (що, до речі, може в свою чергу запустити операцію TRIM на хост-диску, але питання стосується першого кроку)
Паскаль Куок

1
Є запасні файли , які повинні бути ідеальними для використання в якості обрізного дискового зображення для vm.
не-користувач
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.