ceph (программа)

Материал из Национальной библиотеки им. Н. Э. Баумана
Последнее изменение этой страницы: 10:13, 10 июня 2017.

Ceph
Ceph logo.png
Создатели: Inktank Storage (Sage Wei], Yehuda Sadeh Weinraub, Gregory Farnum, Josh Durgin, Samuel Just, Wido den Hollander)
Разработчики: Canonical Ltd
CERN
Cisco Systems, Inc.
Fujitsu Ltd.
Intel Corporation
Red Hat, Inc.
SanDisk Corporation
SUSE[1]
Постоянный выпуск: 9.2.0 "Infernalis"[2] / 6 November 2015 года; 4 years ago (2015-11-06)
Написана на: C++, Python[citation needed]
Операционная система: Linux
Тип ПО: Distributed object store
Лицензия: LGPL 2.1[3]
Веб-сайт ceph.com

Ceph - это масштабируемое петабайтное хранилище с открытым исходным кодом, в основе которого лежит принцип объединения дисковых пространств серверов в единое объектное хранилище, что позволяет реализовать гибкую многократную псевдослучайную избыточность данных[4].

История

Разработка Ceph была начата Сейдж Вейлем (Sage Weil) в Калифорнийском Университете в Санта-Круз (University of California, Santa Cruz - UCSC) как исследовательский проект по системам хранения данных, выполняемый на звание доктора философии, с участием Ливерморской Национальной лаборатории, Лос-Аламосской Национальной лаборатории, и Сандийской Национальной лаборатории (СНЛ)[5]. После его окончания осенью 2007 года, Вейль продолжал работать над Ceph, и основная команда разработчиков расширилась. В 2012 году Вейль создал Inktank хранения на профессиональные услуги и поддержку для Ceph.Но уже с конца марта 2010 года вы можете обнаружить Ceph в основной ветке ядра Linux (с версии 2.6.34). Хотя система Ceph, возможно, еще не готова для промышленной эксплуатации, она по-прежнему интересна с точки зрения ее оценки.

Архитектура

Файловая система Ceph работает на базе той системы хранения объектов, которая обеспечивает хранение объектов и блокируют интерфейсы устройств . Кластер Ceph с сервером метаданных предоставляет услугу, которая сопоставляет имена каталогов и файлов файловой системы для объектов, хранящихся в RADOS кластеров. Кластер серверов метаданных могут расширяться или сужаться, и это может динамического перераспределения файловой системы для распространения данных равномерно между узлами кластера. Это обеспечивает высокую производительность и предотвращает тяжелые нагрузки на отдельных узлах кластера[6]. Ceph можно поделить на 4 части:

Архитектура Ceph
  • Клиенты

Пользователи данных с помощью серверов метаданных выполняют операции с метаданными для определения местонахождения данных.

  • Сервера метаданных

Кэшируют и синхронизируют распределенные метаданные. С помощью метаданных клиент в любой промежуток времени знает, где находятся нужные ему данные. Также сервера метаданных выполняют распределение новых данных.

  • Кластер хранения объектов

В виде объектов хранятся как данные,так и метаданные.

  • Кластерные мониторы

С их помощью реализуются функции мониторинга.

Фактический файловый ввод/вывод происходит между клиентом и кластером хранения объектов. Таким образом, управление высокоуровневыми функциями POSIX (открытие, закрытие и переименование) осуществляется с помощью серверов метаданных, а управление обычными функциями POSIX (чтение и запись) осуществляется непосредственно через кластер хранения объектов. Любых компонентов может быть несколько, в зависимости от стоящих перед администратором задач. Файловая система может быть подключена как напрямую, с помощью модуля ядра, так через FUSE. С точки зрения пользователя, файловая система Ceph является прозрачной. Они просто имеют доступ к огромной системе хранения данных и не осведомлены об используемых для этого серверах метаданных, мониторах и отдельных устройствах, составляющих массивный пул системы хранения данных. Пользователи просто видят точку монтирования, в которой могут быть выполнены стандартные операции файлового ввода / вывода. С точки зрения администратора имеется возможность прозрачно расширить кластер, добавив сколько угодно необходимых компонентов, мониторов, хранилищ, серверов метаданных.

Разработчики называют Ceph экосистемой

Ceph предоставляет на выбор три различных абстракции для работы с хранилищем: абстракцию объектного хранилища (RADOS Gateway), блочного устройства (RADOS Block Device) или POSIX-совместимой файловой системы (CephFS):

  • RADOS Gateway

Абстракция объектного хранилища (RADOS Gateway, или RGW) вкупе с FastCGI-сервером позволяет использовать Ceph для хранения пользовательских объектов и предоставляет API, совместимый с S3/Swift. В режиме объектного хранилища Ceph давно и успешно используется в производстве у ряда компаний. Библиотеки Ceph обеспечивают клиентским приложениям прямой доступ к RADOS объектно-ориентированным системам хранения, а также обеспечивают основу для некоторых расширенных функций Ceph, в том числе для устройств RADOS Block Device (RBD), RADOS Gateway, и the Ceph File System.

  • RADOS Block Device

Абстракция блочного устройства (в оригинале — RADOS Block Device, или RBD) предоставляет пользователю возможность создавать и использовать виртуальные блочные устройства произвольного размера. Программный интерфейс RBD позволяет работать с этими устройствами в режиме чтения/записи и выполнять служебные операции — изменение размера, клонирование, создание и возврат к снимку состояния и т.д. Гипервизор QEMU содержит драйвер для работы с Ceph и обеспечивает виртуальным машинам доступ к блочным устройствам RBD. Поэтому Ceph сейчас поддерживается во всех популярных решениях для оркестровки облаков — OpenStack, CloudStack, ProxMox. RBD также готов к промышленному использованию.

  • CephFS

Это POSIX-совместимая файловая система, использующая Ceph в качестве хранилища. Несмотря на то, что CephFS не является production-ready и пока не имеет значимого промышленного применения. Система хранения объектов Ceph предлагает существенную особенность по сравнению со многими системами хранения объектов сегодня: Ceph обеспечивает традиционной файловой системы интерфейс с семантикой posix. Системы хранения объектов являются значительной инновацией, и они дополняют, а не заменяют традиционные файловые системы. Поскольку требования к системам хранения растут для старых приложений, организации могут настроить свои унаследованные приложения для использования файловой системы Ceph тоже. Это означает, что вы можете запустить один кластер для хранения объекта, блок и файловое хранилище данных.

Пример установки

Особенности

  • Ceph обеспечивает более высокий уровень безопасности данных для критически важных приложений
  • Она предоставляет практически неограниченное пространство для хранения данных в файловых системах
  • Приложениям, которыми пользуются файловыми системами, можно использовать системы ceph FS с семантики posix, ибо никакой интеграции или настройки не требуется
  • Ceph автоматически распределяет файловую систему для обеспечения максимальной производительности

Примечания

  1. "Ceph Community Forms Advisory Board". 2015-10-28. Retrieved 2016-01-20. 
  2. "v9.2.0 Infernalis released". 
  3. "LGPL2.1 license file in the Ceph sources". 2014-10-24. Retrieved 2014-10-24. 
  4. Ceph [Электронный ресурс]: Ceph / Дата обращения: 09.07.2016. — Режим доступа: http://ceph.com
  5. Ceph: Распределенная файловая система петабайтных масштабов для Linux [Электронный ресурс] : Материал из http://rus-linux.net/: — Режим доступа: http://rus-linux.net/nlib.php?name=/MyLDP/file-sys/ceph/ceph.html
  6. Хабрахабр [Электронный ресурс]: Ceph: Cloud Storage без компромиссов / Дата обращения: 10.07.2016. — Режим доступа: https://habrahabr.ru/company/performix/blog/218065/