Системное программное обеспечение NVMe
https://nvmexpress.org/wp-content/uploads/NVMe_Infrastructure_final1.pdf
Спецификация NVMe определяет набор и формат команд, описывает механизмы реализации многопутевого доступа, виртуализации и прочих полезных свойств. Но собственно управление подсистемой NVMe и обмен данными осуществляется набором программного обеспечения, не входящим в рамки стандарта.
Системное ПО выполняет две функции — управление передачей данных и управление оборудованием (сервисное ПО).
- Intel VROC. Вопросы и ответы
- NVMe Command Line Interface (NVMe-CLI)
- VirtIO или SR-IOV. Взгляд Mellanox
- Драйверы NVMe
- Сравнение производительности Tri-Mode Broadcom MegaRAID 9460-16i и Intel VROC
- Сравнение производительности программных реализаций RAID
- Управление данными
- Управление оборудованием
Управление подсистемой NVMe в операционной и файловой системе
Некоторые расширенные функции управления добавлены в операционные системы или поставляются в виде драйверов.
Например, объединение накопителей NVMe в массив RAID0, RAID1 может производиться драйвером хост-контроллера. Добавление опционального Intel VROC, который ставится в систему как драйвер, увеличивает количество подключаемых к контроллеру NVMe SSD и добавляет возможность формирования RAID5 из них.
Программный дисковый массив в Linux
Операционные системы могут поддерживать расширенный функционал управления дисковой подсистемой.
Linux содержит утилиту для создания программных RAID массивов — mdadm. https://ru.wikibooks.org/wiki/Mdadm.
Программный RAID-массив Linux хранит всю необходимую информацию о RAID-массиве в суперблоке (Superblock Metadata). Суперблок имеет длину 4096 байт и расположен зависимости от версии метаданных в последних блоках устройства (v 0.9, 1.0) или в начальных (v 1.1, 1.2).
https://raid.wiki.kernel.org/index.php/RAID_superblock_formats
Superblock Metadata накладывает следующие ограничения на создаваемый массив:
v 0.9
— максимальное количество дисков в массиве 28;
— максимальный объем диска 2ТБ для версии ядра < 3.1 и 4ТБ для ядра >= 3.1.
v 1.0 увеличивает максимальное количество устройств в массиве до 384 и поддерживает 64-битную длину сектора.
Массив дисков в файловой системе ZFS
ZFS (Zettabyte File System) — файловая система, поддерживающая большие объёмы данных.
Основное преимущество ZFS — это её полный контроль над физическими и логическими носителями. Зная, как именно расположены данные на дисках, ZFS способна обеспечить высокую скорость доступа к ним, контроль их целостности, а также минимизацию фрагментации данных.
https://ru.wikipedia.org/wiki/ZFS
ZFS имеет встроенную функцию создания RAID и встроенный менеджер томов. С их помощью создаются виртуальные блочные устройства, чем и пользуются многие производители СХД.
ZFS имеет особенности, которые можно занести в список недостатков.
Заполнение тома ZFS приводит к довольно резкому падению производительности. Есть оценка — 80% заполнения. Связано это, в том числе с принципом CoW (Copy On Write), лежащим в основе ZFS. Также нужно отметить значительно больший объем метаданных в системе и требование пространства под контрольные суммы. Частично эта проблема решается тюнингом.
Обслуживание ZFS требует большего времени и вычислительных ресурсов, поскольку все данные сопровождаются расчетом и сохранением контрольных сумм.
Том ZFS показывает очень хорошие результаты на тестах производительности при только что созданном пуле. Однако, при многократных перезаписях, показатели производительности значительно снижаются. Методика тестирования SNIA нивелирует эту особенность.
Вернитесь в раздел Программное обеспечение или в интересующий Вас раздел через меню