Non ssd что это

Обновлено: 06.07.2024

VMware vFlash Read Cache, подводные камни.


Начиная с версии vsphere 5 и старше, Vmware активно внедряет технологии использующие SSDдиски. Учитывая, что стоимость SSD постоянно снижается, быстродействие и емкость увеличиваются – тенденция понятная. Лично мне тенденция нравится, и я ее активно использую и советую использовать всем, если не на продуктивных системах то в тестовых однозначно для анализа новых технологических решений.

В данной статье расскажу про маленькую неприятность, которая может появится при определении SSD диска как Non-SSD. Данная ситуация может сложиться например при подключении SSDдиска/в через аппаратный raid контроллер.

Итак, мы хотим воспользоваться технологией VMware vFlash Read Cache для увеличения быстродействия виртуальной машины подключив SSD диск. Но по какой-то причине он определился как Non-SSD, следовательно его и не добавить в пул дисков для vFRC.

ssd-1

ssd_add_none

Первым делом необходимо подключиться к хосту по SSH.

Простой командой, мы создаем правило, устанавливающее тэг SSDдиска на выбранном носителе.

ssd-cli1

Проверяем созданное правило

ssd-cli2

esxcli-device

Теперь проверяем тип диска в консоли vsphere. Он изменился на нужный нам SSD.

add_ssd

И только после этого можно переходить к настройке пула VMware vFlash Read Cache путем добавления SSDдиска

Как Вы поняли, таким образом можно помечать любой носитель в качестве SSD диска, естественно для целей тестирования.

Что такое NVMe у твердотельных накопителей?

Аббревиатура NVMe сейчас на слуху. То тут, то там можно услышать или прочитать, что-то вроде «Не хочу SATA, это старье. Хочу NVMe!» А что же это вообще такое? Давайте разбираться.

Что же такое NVMe?


NVM Express или NVMe (от англ. Non-Volatile Memory Express) — это спецификация протокола (упрощенно — протокол) обмена данными через линии PCI Express. Создавалась специально для твердотельных накопителей и ориентировалась на достижение максимальной производительности и масштабируемости в дальнейшем.

Следует отметить, что NVMe — это именно протокол, поэтому распространенное выражение «NVME накопитель/SSD» применяется не совсем корректно. Ведь под этим пользователи практически всегда понимают устройство в формате M.2, тем самым объединяя под одним названием и протокол, и форм-фактор накопителя.

Какие преимущества дает использование NVMe в накопителях?

Использованием линий PCIe означает высокий максимальный предел теоретических скоростных характеристик дисков, что было показано еще накопителями, не поддерживающими NVMe. Тогда зачем нужна была вся затея с ее разработкой?

Увеличение глубины очереди команд и количества очередей

Первые диски хоть и показывали высокие скорости, используя преимущества шины PCIe, но использовали эмуляцию AHCI, где была лишь одна очередь на 32 команды. Использование одной очереди обусловлено тем, что AHCI создавался для жестких дисков, а у них ни о каком параллелизме при работе думать не приходилось. С появлением SSD все изменилось. В спецификации NVMe заложено использование до 65535 очередей и до 65535 команд в каждой очереди с указанием приоритета очередей и четким арбитражем последних. Эти огромные показатели хоть и не нужны сейчас, но задел на будущее оставляют приличный.

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

Работа с многоядерными/многопроцессорными системами, внедрение механизма прерываний и поддержка виртуализации

Совместно с первым пунктом это нацелено на увеличение параллелизма в работе, что в результате приводит к улучшение скоростных характеристик. Каждое ядро процессора может управлять несколькими очередями (отправка/завершение). Управление прерываниями (MSI-X — Message Signaled Interrupt Extended) позволяет при поступлении приоритетной задачи быстрее поставить ее на выполнение. Также была произведена оптимизация по поддержке работы с технологиями виртуализации, которая обязательна для серверов, куда NVMe в первую очередь и были нужны.


Проведем параллель с дорогой. Ясно, что пропускная способность однополосной дороги существенно меньше, чем у четырехполосной. Если только у нее не одна полоса (ядро) для въезда, иначе это колосс на глиняных ногах. А если по дороге будет ехать пожарная машина, то все расступятся и она проедет первой (спасибо прерываниям и приоритизации).

Сокращение задержек при работе

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


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

Ускорение работы с оперативной памятью

Если AHCI требовалось два запроса в DRAM, то NVMe использует один запрос на чтение 4 Кб, обеспечивая эффективную работу небольших операций ввода/вывода. Опять же сокращает накладные расходы, позволяя увеличить эффективность в единицу времени в сравнении с AHCI. Ведь быстрее оплатить покупку просто приложив карту, чем еще дополнительно вводить пин-код.

Это лишь несколько основных важных отличий NVMe, по которым виден основной вектор при работе над протоколом. SSD, в отличие от HDD, обладает некоторой степенью параллелизма — контроллер поддерживает несколько каналов для подключения микросхем памяти. В итоге большой пласт работы направлен на максимальную возможность распараллеливания операций. Несколько очередей с большой очередью команд — сценарий, в котором накопители показывают лучшие результаты. Работа с многоядерными процессорами также позволяет максимально загрузить работой диск.

Другой целью разработки было исключение промежуточных звеньев. Так удаление контроллера SATA из цепочки «процессор — накопитель», новые команды и драйвер позволили снизить задержки в обработке команд так, что основным фактором, влияющим на латентность, стали сами микросхемы NAND. Они же и остаются лимитирующим фактором в скорости записи. 3DXpoint от Intel сделала первый шаг в направлении уменьшения латентности памяти. Будем ждать, что смогут преподнести будущие типы микросхем.


Все внесенные изменения обеспечили не только и не столько скачок в скоростных показателях (это сделал еще переход на PCIe в SSD, эмулировавших AHCI), а существенное увеличение числа операций ввода-вывода (IOPS), что особенно важно в высоконагруженных сценариях/режимах работы.

Опять же если вернуться к AHCI, то ее разработка зиждилась на максимальном сохранении совместимости с разными устройствами. NVMe же возводили практически с нуля, основываясь лишь на использовании линий PCI-Express. И это наложило некоторые особенности реализации в конечном итоге.

Так для работы NVMe необходима поддержка со стороны операционной системы (ОС). Впрочем, сейчас драйвер есть во всех современных ОС: Windows, Mac OS и ядрах Linux/BSD. А для использования в качестве загрузочного накопителя, потребуется наличие драйвера в UEFI материнской платы. Как его добавить в старые модели плат, можно прочитать здесь.

date

20.04.2018

directory

VMWare

comments

комментария 2

В 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.

Но сначала запускаем клиента.

  1. Подключаемся клиентом к VMware ESXi

клиент vsphere

2. Проверяем помечен ли Storage как SSD

Выберите: Host -> Configuration -> Storage

хранилище помечено как nonSSD

3. Подключаемся к консоли ESXi через PuTTY

Логинимся от имени root’a

авторизация на esxi под root

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

В результате вы увидите, примерно то, что показано ниже.

esxcli storage nmp satp rule

5. Назначаем (claim) наше устройство

esxcli storage core claiming reclaim -d mpx.vmhba1:C0:T0:L0

и опять используем имя, которое записали на шаге 2

Я увидел примерно следующее, когда попробовал сделать unclaim. Но это произойдет автоматически при перезагрузке хоста.

esxcli storage core claiming reclaim

Можете попробовать выполнить 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

Увидите нечто подобное в качестве результата отработки команды

пометили локальное устройство как SSD диск

В качестве дополнительной проверки, можно посмотреть, как наше устройство отражается в клиенте.


После включения Host Cache на “SSD” диске для хранения кэша создается отдельная папка HostCache, в которой лежит множество vswp файлов по 1 MB. Это файлы свопа страницы памяти ВМ. По этим файлам «размазывается» настоящий .vswp файл.

папка HostCache с файлами vswp

Помечаем хранилище как SSD vMware ESXi 6.5

Для версии гипервизора ESXi 6.5 проделывается точно такая же процедура. Разница лишь в том, что Client теперь только HTML. Без комментариев, просто скриншоты, потому что все слова написаны выше

esxi 6.5 - non-SSD диска

определяем id vmfs хранилища

На предыдущем скриншоте, ID диска это линк на который нажать, чтобы удобнее было копировать потом в окошко PuTTY.

копируем адрес хранилища mpx.vmhba0

Если вдруг забыли, запускаем SSH на хосте

включить ssh на esxi хосте

Дальше через консоль. Вводим команды одна за другой, как описано выше.

определяем версию esxi - 6.5

esxcli storage nmp rule add

Все сделали. Убеждаемся, что диск стал SSD командой:

esxcli storage core device list --device=mpx.vmhba0:C0:T2:L0

esxi хранилище - is ssd - true

Для «очистки совести» посмотри и через клиента.

тип хранилища теперь ssd

Ура! Заработало! (с) кот Матроскин

И еще момент. Этот же SSD будет использоваться в случае, если вдруг, виртуалкам не хватило оперативки в хосте.

Если хотите самостоятельно изучить данный вопрос, то вот ссылка на документацию VMware по этому вопросу.

Tag Devices as SSD

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.

Аббревиатура NVMe уже давно вошла в повседневную жизнь, но что это такое? Чем NVMe SSD лучше SATA? Давайте разбираться.


Что такое NVMe SSD: чем он лучше SATA

Первые твердотельные накопители использовали устаревшие физические интерфейсы SATA/SAS и протоколы. Это объяснялось просто: производителям нужно было сократить издержки людей и компаний, собирающихся перейти с жестких дисков на SSD. Но ни один из этих интерфейсов и протоколов не был рассчитан на высокоскоростные накопители, откровенно тормозя их работу.


После появления PCIe ситуация немного улучшилась, но первые PCIe SSD не использовали никаких корпоративных стандартов, не имели единых функций и, в целом, затрудняли актуальное как для корпоративного, так и потребительского рынка масштабирование системы. Потребность в едином протоколе, способном работать с быстрыми SSD, нарастала. Поэтому неудивительно, что после появления NVMe, этот интерфейс быстро вошел в обиход и теперь используется практически во всех современных SSD.

NVMe или Non-Volatile Memory Express — это свежий протокол, разработанный специально для твердотельных накопителей, подключаемых по шине PCIe. Он обеспечивает намного более высокую скорость обмена данными по сравнению с SATA SSD, использующими AHCI, что объясняется сразу несколькими причинами.

Параллелизм и глубина очереди

Если устаревший SATA SSD может работать только с одной очередью, глубина которой ограничена 32 командами, то протокол NVMe добавляет твердотельным накопителям возможность одновременного обслуживания до 65 тысяч очередей с таким же числом команд в каждой.

Если проводить параллель с обычной жизнью, представьте себе забитый народом огромный торговый центр только с одной работающей кассой. Сколько времени вам придется провести в Центре, пока вы не сможете выйти из него с покупками? Это и есть SATA SSD. А теперь представьте тот же торговый центр с 65 тысячами касс, скорость обслуживания вырастет просто многократно. Конечно, на деле столько касс вам не понадобится, но в этом случае NVMe обеспечивает необходимый задел на будущее. Ведь прогресс не стоит на месте.

Читайте также: