Введение в Fusion-io
Fusion-io разрабатывает карты памяти NAND flash на базе PCIe и связанное программное обеспечение, которое можно использовать для ускорения баз данных MariaDB.
Продукты под брендом ioDrive могут использоваться в качестве блочных устройств (сверхбыстрых дисков) или для расширения основной оперативной памяти DRAM. ioDrive развертывается путем установки его на сервер x86, а затем установки драйвера карты в операционной системе. Поддерживаются все основные 64-битные операционные системы и гипервизоры: RHEL, CentOS, SuSe, Debian, OEL и т. д., а также VMware, Microsoft Windows/Server и т. д. Драйверы и их функции постоянно развиваются.
Карты ioDrive поддерживают программный RAID, и вы можете объединить две или более физических карты в один логический диск. С помощью SDK ioMemory и его API можно интегрировать и обеспечить более тесное взаимодействие между собственным программным обеспечением и картами — и сократить задержки.
Ключевое отличие между картой Fusion-io и традиционным SSD/HDD заключается в следующем: карта Fusion-io подключается непосредственно к системной шине (PCIe), что обеспечивает высокую пропускную способность передачи данных (1,5 ГБ/с, 3,0 ГБ/с или 6 ГБ/с) и использование быстрого метода прямого доступа к памяти (DMA) для передачи данных. Стек протоколов ATA/SATA исключается, поэтому задержки сокращаются. Производительность Fusion-io зависит от скорости сервера: чем быстрее процессоры и новее версия PCIe-шины, тем лучше производительность ioDrive. Память Fusion-io является энергонезависимой, другими словами, данные на карте сохраняются даже при выключении сервера.
Сценарии использования
- Вы можете начать с использования ioDrive для файлов базы данных, которым требуется интенсивный случайный доступ.
- Вся база данных на ioDrive.
- В некоторых случаях устройства Fusion-io позволяют выполнять атомарные записи, что позволяет серверу безопасно отключить буфер двойной записи doublewrite buffer.
- Использование ioDrive в качестве кэша чтения с пробросом записи. Это возможно на уровне сервера с программным обеспечением Fusion-io directCache или в средах VMware с использованием программного обеспечения ioTurbine или продукта ioCache. Чтение происходит с ioDrive, а все записи направляются непосредственно в ваш SAN или диск.
- Высокодоступное совместное хранилище с ION. Имейте два разных хоста, карты Fusion-io на них и делитесь/реплицируйте данные с программным обеспечением Fusion-io ION.
- Роскошная конфигурация Platinum: Кластер MariaDB Galera, работающий на картах Fusion-io SLC на нескольких хостах.
Атомарные записи
Начиная с MariaDB 5.5.31, MariaDB Server поддерживает атомарные записи на устройствах Fusion-io, которые используют файловую систему NVMFS (ранее называлась DirectFS). К сожалению, NVMFS никогда не предлагалась в режиме «общедоступности», и SanDisk заявила, что NVMFS достигнет конца жизненного цикла в декабре 2015 года. Поэтому поддержка NVMFS больше не предоставляется компанией SanDisk.
В настоящее время MariaDB Server не поддерживает атомарные записи на устройствах Fusion-io с другими файловыми системами.
См. поддержку атомарных записей для получения дополнительной информации о поддержке атомарных записей в MariaDB Server.
Предлагаемое будущее развитие
- Расширить кэш диска InnoDB, чтобы он хранился на Fusion-io, выступая в качестве расширенной памяти.
Настройки для наилучшей производительности
Память Fusion-io может быть отформатирована с разным размером сектора: 512 или 4096 байт. Ожидается, что более крупные сектора будут быстрее, но только если ввод/вывод выполняется блоками по 4 КБ или кратными им. Говоря о MariaDB: если файлы данных InnoDB хранятся только в памяти Fusion-io, весь ввод/вывод выполняется блоками по 16 КБ, и поэтому можно использовать размер сектора 4 КБ. Если журнал переопределения InnoDB (размер блока ввода/вывода: 512 байт) также находится в памяти Fusion-io, следует использовать короткие сектора.
Примечание: XtraDB имеет экспериментальную функцию увеличения размера блока журнала InnoDB до 4 КБ. Если эта функция включена, то ввод/вывод журнала переопределения и ввод/вывод страниц в InnoDB будут соответствовать размеру сектора 4 КБ.
Что касается файловых систем: в настоящее время ожидается, что XFS обеспечит наилучшую производительность с MariaDB. Однако в зависимости от точной версии ядра и используемой версии кода XFS, могут возникнуть проблемы, которые сильно ограничивают производительность XFS в многопоточных средах. Это было исправлено в версиях ядра выше 3.5, или ядра RHEL6 kernel-2.6.32-358 или более поздние (из-за исправления ошибки 807503).
Для машины pitbull, на которой проводились такие тесты, ext4 был быстрее, чем xfs, для 32 и более потоков:
- до 8 потоков xfs был на несколько процентов быстрее (в среднем на 10%).
- при 16 потоках производительность была одинаковой (2036 tps против 2070 tps).
- при 32 потоках ext4 был на 28% быстрее (2345 tps против 1829 tps).
- при 64 потоках ext4 был даже на 47% быстрее (2362 tps против 1601 tps).
- при большей степени параллельности ext4 потерял свои позиции, но все равно постоянно превосходил xfs.
Эти цифры относятся к вращающимся дискам. Предполагаю, что для памяти Fusion-io значения XFS будут еще хуже.
Пример конфигурации
Модели карт
Существует несколько моделей карт. ioDrive — это более старое поколение, ioDrive2 — более новое. SLC поддерживает больше записей. MLC достаточно хорош для обычного использования.
- ioDrive2, емкость на карту 365 ГБ, 785 ГБ, 1,2 ТБ с MLC. 400 ГБ и 600 ГБ с SLC, производительность до 535000 IOPS и 1,5 ГБ/с пропускной способности
- ioDrive2 Duo, емкость на карту 2,4 ТБ MLC и 1,2 ТБ SLC, производительность до 935000 IOPS и 3,0 ГБ/с пропускной способности
- ioDrive, емкость на карту 320 ГБ, 640 ГБ MLC и 160 ГБ, 320 ГБ SLC, производительность до 145000 IOPS и 790 МБ/с пропускной способности
- ioDrive Duo, емкость на карту 640 ГБ, 1,28 ТБ MLC и 320 ГБ, 640 ГБ SLC, производительность до 285000 IOPS и 1,5 ГБ/с пропускной способности
- ioDrive Octal, емкость на карту 5 ТБ и 10 ТБ MLC, производительность до 1350000 IOPS и 6,7 ГБ/с пропускной способности
- ioFX, рабочая станция 420 ГБ QDP MLC, пропускная способность 1,4 ГБ/с
- ioCache, карта 600 ГБ MLC с программным обеспечением ioTurbine, которая может использоваться для ускорения виртуальных хостов на основе VMware.
- ioScale, карта 3,2 ТБ, строительный блок для развертывания всех флэш-центров обработки данных в масштабируемых средах веб- и облачных вычислений. Продукт был разработан в сотрудничестве с Facebook.
Дополнительное программное обеспечение
- directCache — преобразует ioDrive в кэш чтения на вашем сервере. Записи направляются непосредственно в ваш SAN
- ioTurbine — программное обеспечение кэша чтения для VMware
- ION — преобразует ioDrive в совместное хранилище
- ioSphere — программное обеспечение для управления и мониторинга нескольких ioDrive
См. также
© 2023 MariaDB
Licensed under the Creative Commons Attribution 3.0 Unported License and the GNU Free Documentation License.
https://mariadb.com/kb/en/fusion-io-introduction/