Ceph – лучшее универсальное программно-определяемое хранилище с открытым исходным кодом.
Что такое ceph?
Ceph – свободное программное обеспечение, относящееся к классу программно-определяемых хранилищ (SDS, softwere-definition storage). Программное обеспечение устанавливается на обычные сервера под управлением операционной системы Linux, позволяя собрать локальные диски нескольких серверов в гибко конфигурируемое отказоустойчивое хранилище.
Почему ceph?
Отказоустойчивость
Отказоустойчивость системы обеспечивается распределением копий данных по нескольким узлам кластера. При выходе одно из узлов (или компонентов узла) кластер продолжает функционировать в обычном режиме, самостоятельно устраняя аварию путем создания недостающих копий на оставшихся узлах.
Возможность создания собственных правил распределения данных в кластере позволяет удовлетворить практически любые требования к сохранности и доступности данных.
Масштабируемость
За счет того, что ceph изначально является распределенной системой, масштабировать систему очень легко – добавляем новую ноду в кластер, и ceph самостоятельно распределит данные по узлам.
Теоретически хранилище на базе ceph можно масштабировать бесконечно. В мире существуют публичные примеры кластеров, насчитывающих несколько тысяч дисков и десятки петабайт данных. У меня в эксплуатации есть кластер, приближающийся к десятку петабайт.
Функциональность
Ceph уникальное хранилище предоставляющее три способа хранения – блочное, файловое, объектное в рамках одной системы.
- Объектное хранилище (Rados Gateway) – представляет собой RESTful интерфейс реализующий S3 и Swift совместимое API.
- Блочное хранилище (Rados Block Device) – позволяет презентовать болчные устройства размером до 16 экзабайт большому количеству систем, от kubernates и libvirt до windows, а системам для которых нет целевой интеграции можно отдать блочное устройство через iscsi гейт.
- Файловое хранилище (Ceph File System) – POSIX совместимая, распределённая файловая система. Может быть смонтирована на сервера linux через модуль ядра или FUSE, а так же презентована по протоколам NFS/CIFS.