Ceph
Ceph — распределённая система хранения данных с открытым исходным кодом, предназначенная для обеспечения масштабируемого, высокопроизводительного и надёжного хранения. Ceph поддерживает три основных типа хранения: объектное, блочное и файловое, что делает его универсальным решением для различных сценариев использования, от облачных платформ до высокопроизводительных вычислений.
Проект был создан в 2004 году Сейджем Вейлом (Sage Weil) в рамках его докторской диссертации в Калифорнийском университете в Санта-Крузе и с тех пор активно развивается сообществом и компанией Red Hat, которая приобрела Inktank, основанную Вейлом, в 2014 году.
Описание[править]
Ceph основан на принципе распределённой архитектуры без единой точки отказа. Имеется монитор, который властно жужжит и наблюдает за тем, чтобы не было проблем с файлами. Обычно в кластере используется несколько мониторов для повышения отказоустойчивости.
Ceph использует алгоритм CRUSH (Controlled Replication Under Scalable Hashing) для распределения данных по узлам кластера. CRUSH позволяет динамически управлять размещением данных, учитывая топологию кластера, веса узлов и правила репликации, что исключает необходимость централизованного каталога данных.
Так, в проекте имеется объектное хранение. Оно обеспечивает API, совместимый с Amazon S3 и OpenStack Swift, для хранения объектов. Подходит для облачных приложений, резервного копирования и архивирования.
Также есть и блочное хранение. Предоставляет виртуальные блочные устройства, которые могут быть подключены к виртуальным машинам или физическим серверам. Используется в облачных платформах, таких как OpenStack и Kubernetes.
В проект также по дефолту восрана файловая система CephFS. Это полноценная POSIX-совместимая файловая система, обеспечивающая доступ к данным через стандартные протоколы, такие как NFS или SMB.
Ceph поддерживает горизонтальное масштабирование, позволяя добавлять новые узлы и диски без остановки работы кластера.