В VMware vSphere 5.x (ESXi 5.x), и более поздних версиях, появилась новая возможность, называемая Host Cache Configuration. Эта функция позволяет администратору VMware vSphere настраивать VMware vSphere 5.x (ESXi 5.x) хост-сервер для использования кэша на твердотельных дисках (SSD) для swap файла виртуальной машины для повышения производительности, так как SSD работает гораздо быстрее традиционных жестких дисков. Среди администраторов VMware это также называют «Swap to Host Cache» или «Swap to SSD». Как только данная конфигурация кэша хоста будет включена, виртуальные машины будут свопиться на SSD, но этот swapfile не является настоящим файлом подкачки, а действительный файл подкачки виртуальной машины (.vswp) не хранится на SSD.
Однако, иногда, SSD диски определяются неправильно и не помечаются как SSD. В этой статье я покажу как правильно сконфигурировать и пометить устройство как SSD.
Если хотите поэкспериментировать, но у вас нет под руками SSD, то, в принципе, любой диск можно сконфигурировать как SSD, хотя VMware утверждает, что данная фишка не поддерживается (This is not supported by VMware, tagging a non-SSD as a SSD).
Однако, я проделал этот «фокус» на ESXI 5.5 запущенном под управлением VMware Workstation 14. И все получилось
Помечаем хранилище как SSD в vMware ESXi 5.x/6.0
Все команды в данном руководстве это консольные команды ESXi. Подробный список команд можно посмотреть в статье «Список команд ESXi».
Как подключиться к хосту? Любым удобным для вас методом. Обычно это делается через PuTTY. Важно попасть в CLI.
Но сначала запускаем клиента.
- Подключаемся клиентом к VMware ESXi
2. Проверяем помечен ли Storage как SSD
Выберите: Host -> Configuration -> Storage
На картинке видно, что устройство mpx.vmhba1:C0:T0:L0 это локальный диск, отформатированный в VMFS5. Но … помечен как non-SSD. Запишите имя устройства, в примере это — mpx.vmhba1:C0:T0:L0, оно пригодиться при выполнении следующих шагов.
3. Подключаемся к консоли ESXi через PuTTY
Логинимся от имени root’a
4. Создаем новое SATP правило
В консоли выполните следующую команду. Здесь понадобится, записанное ранее, имя устройства.
esxcli storage nmp satp rule add --satp VMW_SATP_LOCAL --device mpx.vmhba1:C0:T0:L0 --option=enable_ssd
Если все правильно, консоль просто выведет следующую, пустую строку. Чтобы проверить, что правило было создано правильно, можно ввести команду:
esxcli storage nmp satp rule list | grep enable_ssd
В результате вы увидите, примерно то, что показано ниже.
5. Назначаем (claim) наше устройство
esxcli storage core claiming reclaim -d mpx.vmhba1:C0:T0:L0
и опять используем имя, которое записали на шаге 2
Я увидел примерно следующее, когда попробовал сделать unclaim. Но это произойдет автоматически при перезагрузке хоста.
Можете попробовать выполнить unclaim самостоятельно, указав имя устройства.
esxcli storage core claiming unclaim --type device --device mpx.vmhba1:C0:T0:L0
6. Перезапускаем правила назначения (claim rules)
Я обычно пользую вот такой парочкой команд для этого.
esxcli storage core claimrule load
esxcli storage core claimrule run
7. Убеждаемся, что наше устройство теперь помечено как SSD
Наберите следующую команду в консоли
esxcli storage core device list --device=mpx.vmhba1:C0:T0:L0
Увидите нечто подобное в качестве результата отработки команды
Нас интересует строка «Is SSD: true». Если это так, то все сделано правильно.
В качестве дополнительной проверки, можно посмотреть, как наше устройство отражается в клиенте.
После включения Host Cache на “SSD” диске для хранения кэша создается отдельная папка HostCache, в которой лежит множество vswp файлов по 1 MB. Это файлы свопа страницы памяти ВМ. По этим файлам «размазывается» настоящий .vswp файл.
Помечаем хранилище как SSD vMware ESXi 6.5
Для версии гипервизора ESXi 6.5 проделывается точно такая же процедура. Разница лишь в том, что Client теперь только HTML. Без комментариев, просто скриншоты, потому что все слова написаны выше
На предыдущем скриншоте, ID диска это линк на который нажать, чтобы удобнее было копировать потом в окошко PuTTY.
Если вдруг забыли, запускаем SSH на хосте
Дальше через консоль. Вводим команды одна за другой, как описано выше.
Все сделали. Убеждаемся, что диск стал SSD командой:
esxcli storage core device list --device=mpx.vmhba0:C0:T2:L0
В моем примере это так (is ssd — true).
Сработало.
Для «очистки совести» посмотри и через клиента.
Ура! Заработало! (с) кот Матроскин
И еще момент. Этот же SSD будет использоваться в случае, если вдруг, виртуалкам не хватило оперативки в хосте.
Как пишет vMware «SSD, конечно же, медленнее чем RAM, но, как временный выход из положения, это поможет»
Вот и все.
Если хотите самостоятельно изучить данный вопрос, то вот ссылка на документацию VMware по этому вопросу.
Tag Devices as SSD
Приведу лишь финальный комментарий от VMware:
If the SSD device that you want to tag is shared among multiple hosts, make sure that you tag the device from all the hosts that share the device.
Если ваше SSD устройство раздается на несколько хостов, убедитесь, что на всех хостах оно помечено, также, на SSD.