Узнайте о многоуровневом распределении памяти 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
Через несколько секунд обновление успешно вступит в силу. На этом этапе нам нужно перезагрузиться.
Настройка многоуровневого хранения памяти NVMe
Теперь, когда у нас есть версия, необходимая для технической предварительной версии многоуровневого хранения памяти NVMe, мы можем включить новую функцию, выполнив три коротких шага:
Шаг 1
Чтобы фактически включить новую функцию, можно использовать одну простую подкладку:
esxcli system settings kernel set -s MemoryTiering -v TRUE
Шаг 2
Вам нужно найти свое устройство NVMe. Чтобы просмотреть строку устройства NVMe, вы можете использовать эту команду:
esxcli storage core path list
Шаг 3
Чтобы настроить устройство NVMe, выполните следующие действия. У меня на верстаке стоял старый диск Samsung EVO 960 емкостью 1 ТБ. Итак, вставил это в мой мини-ПК Minisforum и включил с помощью этой команды:
esxcli system tierdevice create -d /vmfs/devices/disks/t10.NVMe____Samsung_SSD_960_EVO_1TB_________________9199B0615B382500
Заметка: Если на вашем диске 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
Шаг 4
Наконец, мы устанавливаем фактический процент распределения памяти NVMe. Диапазон, который вы можете настроить, составляет 25-400.
esxcli system settings advanced set -o /Mem/TierNvmePct -i 400
Шаг 5
Последним шагом в этом процессе является перезагрузка хоста ESXi
Просмотр памяти мини-ПК после включения
После перезагрузки вы можете увидеть новую память, но не при первой загрузке, а через несколько мгновений после завершения процесса загрузки. Он обновит заставку.
Например, это было после того, как я включил значение 400 на своем устройстве с 64 ГБ оперативной памяти. Когда миниПК все еще загружается, вы увидите следующее:
По-прежнему сохраняется многоуровневая загрузка памяти в vsphere 8.0 с обновлением 3
Но, после того как он закончил загрузку все:
В коробке с 64 ГБ памяти теперь 158 ГБ
Рекомендовал бы я его использовать?
В вашей домашней лаборатории это может быть отличным инструментом, который позволит вам выйти далеко за рамки объема физической памяти, доступной в вашей системе. Если у вас всего 32, 64 или даже 96 ГБ памяти, что обычно используется в конфигурациях мини-ПК, это определенно может изменить правила игры, позволив иметь гораздо больше рабочих нагрузок, чем вы могли бы иметь в своей домашней лаборатории.
Однако, если у вас есть «критически важные» или «производственные» рабочие нагрузки, работающие в вашей домашней лаборатории, и вы хотите убедиться, что они максимально стабильны, я бы не рекомендовал запускать их для этих типов рабочих нагрузок, просто из-за ограничений, о которых я упоминал в начале, а также я видел пару фиолетовых экранов. Пусть и после его прогона в течение месяца и более с включенным многоуровневым хранением.
Заключение
Это определенно чрезвычайно захватывающая разработка, и возможности расширения домашних лабораторий и периферийных сред с помощью этой новой функциональности просто невероятны. Имейте в виду, что это все еще техническая предварительная версия, поэтому она еще не полностью готова к производству, хотя в домашней лаборатории мы не ограничены такого рода рекомендациями.