Выпуск распределенного хранилища Ceph 10.2.0
Компания Red Hat представила релиз проекта Ceph 10.2.0, предоставляющего инфраструктуру для создания блочных устройств и файловых систем, распределенных по тысячам машин и способных хранить эксабайты данных. Выпуск позиционируется как новый значительный релиз, который послужит основой для формирования новой ветки с длительным циклом поддержки (LTS). Пакеты сформированы для CentOS 7.x, Debian Jessie 8.x, Ubuntu 14.04/16.04 и Fedora 22+.
Благодаря отсутствию единой точки отказа и репликации с хранением нескольких экземпляров данных на разных узлах Ceph позволяет добиться очень высокого уровня отказоустойчивости хранилища. При добавлении или удалении новых узлов, массив данных автоматически ребалансируется с учетом изменения конфигурации. Обработку данных и метаданных выполняют различные группы узлов в кластере, примерно как это сделано в Lustre, с тем различием, что обработка производится на уровне пользователя, не требуя какой-либо особой поддержки от ядра. В Ceph имеется поддержка снапшотов, причем снапшот может быть создан не только для ФC, но и для отдельных директорий. Ceph может работать поверх блочных устройств, внутри одного файла или через размещение данных в существующих ФС.
Ceph 10.2.0 примечателен стабилизацией реализации POSIX-совместимой файловой системы CephFS. Как и в случае блочного устройства и объектного хранилища Ceph, файловая система CephFS разворачивается поверх распределенного кластера хранения Ceph, включающего как минимум один сервер мета-данных. Предлагается два варианта клиентской части файловой системы CephFS: модуль ядра Linux и реализация в пространстве пользователя через подсистему FUSE. В связи с переводом CephFS в разряд стабильный подсистем, некоторые возможности теперь отключены по умолчанию, например, недоступны снапшоты и конфигурации с несколькими активными серверами метаданных. До полнофункционального состояния доведена утилита для восстановления целостности ФС после сбоя. В состав включен новый модуль cephfs-volume-manager, позволяющий управлять хранилищами для OpenStack. Добавлена экспериментальная поддержка развертывания нескольких ФС в одном кластере.
В реализации блочного устройства RBD (Ceph Block Device) добавлена поддержка зеркалирования разделов (асинхронной репликации) с привлечением нескольких разных кластеров хранения. Репликация основана на трансляции в другой кластер журнала изменений и может использоваться для организации зеркала в территориально разнесенном хранилище, доступном через глобальную сеть. Из других новшеств отмечается поддержка динамического управления включением таких возможностей, как эксклюзивные блокировки, object-map, fast-diff и журналирование. Добавлена возможность переименования снапшотов RBD. Полностью переписан интерфейс командной строки, добавлена поддержка автодополнения ввода в bash.
В объектном хранилище RADOS (Reliable Autonomic Distributed Object Store), позволяющем организовать хранение данных из приложений на различных языках программирования и служащем основой для RBD и CephFS, представлен новый OSD-бэкенд BlueStore (Object Storage Device), который пока рассматривается как экспериментальная возможность, но в будущем запланирован для включения по умолчанию. В RADOS Gateway, прослойке для организации доступа к объектному хранилищу RADOS через типовые RESTful API (Amazon S3, OpenStack Swift), переписана и перепроектирована система межкластерного взаимодействия, что позволило реализовать возможность создания active/active конфигураций и двунаправленного восстановления (bidirectional fail-over). Добавлена экспериментальная поддержка доступа ка данным через NFS. Реализована поддержка протокола AWS4 и OpenStack Keystone v3 API.