Выпуск Btier 2.0, блочного устройства для агрегирования накопителей в Linux

18.01.2015 18:48

Представлен значительный релиз Btier 2.0.0, модуля для ядра Linux, позволяющего формировать многоуровневые блочные устройства, состоящие из нескольких разнотипных устройств небольшого размера. Исходные тексты проекта распространяются под лицензией GPL. Версия Btier 2.0 примечательна переработкой внутренней архитектуры, позволившей добиться более высокой производительности. Обратной стороной изменения архитектуры стало прекращение поддержки VFS и возможности использования отдельных файлов в качестве элементов сводного хранилища. Повышены требования к используемым ядрам Linux, если Btier 1 мог работать с ядрами, начиная с 2.6.32, то Btier 2.0 ограничен только поддержкой последних выпусков ядра.

Использование Btier позволяет достигнуть более высокой производительности по сравнению с другими методами ускорения доступа к данным через использование кэша на SSD-накопителях, благодаря применению дополнительной техники кэширования в оперативной памяти и оптимального разнесения блоков по дискам. В частности, для кэширования в ОЗУ применяются наработки, реализованные в RAM-диске EPRD, а при распределении данных по дискам учитывается статистика доступа к уже размещённым данным, например, принимается во внимание то, когда данные использовались последний раз и как часто они запрашивались. Для адаптации к меняющимся условиям работы системы, в Btier поддерживается автоматическая миграции данных между накопителями и обеспечивается "умная" балансировка размещения блоков данных на накопителях в зависимости от характера нагрузки.

При наличии разных типов накопителей в пуле, отличающихся скоростными характеристиками, наиболее востребованные данные будут вытеснены на более быстрые накопители, такие как SSD или SAS НЖМД, а редко используемые данные будут размещены на медленных дисках. Таким образом, Btier позволяет сэкономить средства, используя SSD только для действительно востребованных данных, при том, что общая ёмкость всего быстрого хранилища в Btier составляет сумму из всех подключенных устройств хранения. Например, близкий аналог flashcache может поддерживать отдельный кэш из SSD-накопителей поверх традиционных дисков, дублируя данные, в то время как Btier максимально эффективно использует доступное пространство.

Для тонкого управления миграцией данных между накопителями и получении сведения о физическом размещении данных предусмотрен специальный API, изменение конфигурации может производиться через sysfs. В тестах производительности Btier продемонстрировал возможность передачи потоков в 1100 Мб/сек и обработки 210 тысяч случайных операций ввода/вывода в секунду.