Добавить в корзинуПозвонить
Найти в Дзене
Николай Калюжный

Конфигурация многоуровневой памяти NVMe в VMware: в 4 раза больше оперативной памяти!

Узнайте о многоуровневом распределении памяти NVMe в VMware vSphere 8.0 Update 3, о том, как его настроить, а также о моих мыслях после использования в течение нескольких месяцев. В последнее время в мире VMware vSphere было добавлено много новых функций, особенно в VMware vSphere 8.0 Update 3. Когда вы думаете, что можете найти альтернативу vSphere или думаете, что есть другое решение, которое лучше, VMware доказывает, что они по-прежнему лидируют, и на то есть веские причины. Одной из замечательных новых функций vSphere 8.0 Update 3 является новая функция, которая находится в Tech Preview под названием многоуровневое хранение памяти NVMe. Что это такое и что с этим можно сделать? Кроме того, я дам вам некоторые реальные результаты его использования, а также некоторые проблемы со стабильностью, на которые стоит обратить внимание. Новое многоуровневое хранение памяти NVMe (vSphere memory tiering) — это новая функция, которая позволяет распределять память по уровням на быстрых флэш-нако
Оглавление

Узнайте о многоуровневом распределении памяти NVMe в VMware vSphere 8.0 Update 3, о том, как его настроить, а также о моих мыслях после использования в течение нескольких месяцев.

В последнее время в мире VMware vSphere было добавлено много новых функций, особенно в VMware vSphere 8.0 Update 3. Когда вы думаете, что можете найти альтернативу vSphere или думаете, что есть другое решение, которое лучше, VMware доказывает, что они по-прежнему лидируют, и на то есть веские причины. Одной из замечательных новых функций vSphere 8.0 Update 3 является новая функция, которая находится в Tech Preview под названием многоуровневое хранение памяти NVMe. Что это такое и что с этим можно сделать? Кроме того, я дам вам некоторые реальные результаты его использования, а также некоторые проблемы со стабильностью, на которые стоит обратить внимание.

Что такое многоуровневое хранение памяти NVMe?

Новое многоуровневое хранение памяти NVMe (vSphere memory tiering) — это новая функция, которая позволяет распределять память по уровням на быстрых флэш-накопителях, таких как хранилище NVMe. Это позволяет использовать устройства NVMe, которые установлены локально на хосте в качестве многоуровневой памяти. Это не «тупое пейджинг», как некоторые спрашивают о новой функции. Нет, это нечто большее. Он может интеллектуально выбирать, какая память виртуальной машины будет храниться в том или ином месте.

Там хранятся страницы памяти, которые должны быть в более быстрой DRAM на хосте. Затем страницы памяти, которые могут быть распределены по уровням в более медленном хранилище NVMe, могут быть распределены по уровням в этот уровень памяти, чтобы при необходимости можно было использовать более быстрое хранилище памяти. Очень, очень круто.

Вы можете узнать больше о новой функции многоуровневого хранения памяти vSphere в официальной статье Broadcom здесь: https://knowledge.broadcom.com/external/article/311934/using-the-memory-tiering-over-nvme-featu.html.

Обновление*** – Ограничения, которые я обнаружил после использования в течение некоторого времени

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

  • Вы не можете делать моментальные снимки на виртуальных машинах с включенной памятью с виртуальными машинами, работающими на узлах с включенным распределением памяти по уровням.
  • Я не нашел этого конкретно в выносках в официальной документации, но миграция хранилища также не работает для меня. Таким образом, если вы просто переносите виртуальную машину из одного хранилища данных в другое, это не удастся, скорее всего, из-за ограничений базового снимка, которые связаны с вышеуказанным.
  • У меня было несколько фиолетовых экранов на моих Minisforum MS-01 с включенной функцией. Я не сделал скриншот ошибки фиолетового экрана, но она была связана с многоуровневым хранением памяти.

Обновление до vSphere 8.0 Update 3

Шаги по включению многоуровневого хранения памяти NVMe довольно просты. Во-первых, необходимо убедиться, что вы обновили vSphere до версии 8.0 с обновлением 3. Если ваш хост ESXi не работает под управлением ESXi 8.0 Update 3, вы можете легко обновить хост ESXi до этой версии с помощью команды:

##Enable the HTTP client
esxcli network firewall ruleset set -e true -r httpClient

##Pull the vSphere 8.0 Update 3 update file
esxcli software profile update -d https://hostupdate.vmware.com/software/VUM/PRODUCTION/main/vmw-depot-index.xml -p ESXi-8.0U3-24022510-standard

Обновление узла esxi до vsphere 8.0 с обновлением 3
Обновление узла esxi до vsphere 8.0 с обновлением 3

Через несколько секунд обновление успешно вступит в силу. На этом этапе нам нужно перезагрузиться.

После успешного применения обновления необходимо перезагрузить vsphere 8.0 с обновлением 3
После успешного применения обновления необходимо перезагрузить vsphere 8.0 с обновлением 3

Настройка многоуровневого хранения памяти NVMe

Теперь, когда у нас есть версия, необходимая для технической предварительной версии многоуровневого хранения памяти NVMe, мы можем включить новую функцию, выполнив три коротких шага:

Шаг 1

Чтобы фактически включить новую функцию, можно использовать одну простую подкладку:

esxcli system settings kernel set -s MemoryTiering -v TRUE

Включение многоуровневого хранения памяти в vsphere 8.0 с обновлением 3
Включение многоуровневого хранения памяти в vsphere 8.0 с обновлением 3

Шаг 2

Вам нужно найти свое устройство NVMe. Чтобы просмотреть строку устройства NVMe, вы можете использовать эту команду:

esxcli storage core path list

Поиск устройства nvme
Поиск устройства nvme

Шаг 3

Чтобы настроить устройство NVMe, выполните следующие действия. У меня на верстаке стоял старый диск Samsung EVO 960 емкостью 1 ТБ. Итак, вставил это в мой мини-ПК Minisforum и включил с помощью этой команды:

esxcli system tierdevice create -d /vmfs/devices/disks/t10.NVMe____Samsung_SSD_960_EVO_1TB_________________9199B0615B382500

Настройка устройства уровня esxi nvme в vsphere 8.0 update 3
Настройка устройства уровня esxi nvme в vsphere 8.0 update 3

Заметка: Если на вашем диске NVMe уже найдены разделы, вы увидите сообщение об ошибке при выполнении приведенной выше команды для установки устройства уровня:

Существующие разделы на устройстве уровня nvme
Существующие разделы на устройстве уровня nvme

Вы можете просмотреть существующие разделы с помощью команды:

partedUtil getptbl /vmfs/devices/disks/t10.NVMe____Samsung_SSD_960_EVO_1TB_________________9199B0615B382500

Затем вы можете удалить разделы с помощью команд, при этом «1, 2 и 3» — это разделы, которые отображаются в выходных данных приведенной выше команды.

partedUtil delete /vmfs/devices/disks/t10.NVMe____Samsung_SSD_960_EVO_1TB_________________9199B0615B382500 1
partedUtil delete /vmfs/devices/disks/t10.NVMe____Samsung_SSD_960_EVO_1TB_________________9199B0615B382500 2
partedUtil delete /vmfs/devices/disks/t10.NVMe____Samsung_SSD_960_EVO_1TB_________________9199B0615B382500 3

После того как вы очистите все разделы, повторно выполните команду для настройки устройства уровня. Чтобы увидеть устройство уровня, которое вы настроили, вы можете использовать команду:

esxcli system tierdevice list

Просмотр устройства уровня памяти nvme в vSphere 8.0 с обновлением 3
Просмотр устройства уровня памяти nvme в vSphere 8.0 с обновлением 3

Шаг 4

Наконец, мы устанавливаем фактический процент распределения памяти NVMe. Диапазон, который вы можете настроить, составляет 25-400.

esxcli system settings advanced set -o /Mem/TierNvmePct -i 400

Шаг 5

Последним шагом в этом процессе является перезагрузка хоста ESXi

Перезагрузите хост esxi 8.0 с обновлением 3, чтобы включить многоуровневое хранение памяти nvme
Перезагрузите хост esxi 8.0 с обновлением 3, чтобы включить многоуровневое хранение памяти nvme

Просмотр памяти мини-ПК после включения

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

Например, это было после того, как я включил значение 400 на своем устройстве с 64 ГБ оперативной памяти. Когда миниПК все еще загружается, вы увидите следующее:

-9

По-прежнему сохраняется многоуровневая загрузка памяти в vsphere 8.0 с обновлением 3

Но, после того как он закончил загрузку все:

-10

В коробке с 64 ГБ памяти теперь 158 ГБ

Рекомендовал бы я его использовать?

В вашей домашней лаборатории это может быть отличным инструментом, который позволит вам выйти далеко за рамки объема физической памяти, доступной в вашей системе. Если у вас всего 32, 64 или даже 96 ГБ памяти, что обычно используется в конфигурациях мини-ПК, это определенно может изменить правила игры, позволив иметь гораздо больше рабочих нагрузок, чем вы могли бы иметь в своей домашней лаборатории.

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

Заключение

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