Ceph (произносится как / ˈsɛf / ) — это бесплатная и программно-определяемая платформа хранения с открытым исходным кодом , которая обеспечивает объектное хранилище , [7] блочное хранилище и файловое хранилище , построенное на общей распределенной кластерной основе. Ceph обеспечивает распределенную работу без единой точки отказа и масштабируемость до уровня эксабайт . Начиная с версии 12 (Luminous), Ceph не полагается на какую-либо другую традиционную файловую систему и напрямую управляет жесткими дисками и твердотельными накопителями с помощью собственного бэкэнда хранилища BlueStore и может предоставлять файловую систему POSIX .
Ceph реплицирует данные с отказоустойчивостью [8] , используя стандартное оборудование и Ethernet IP и не требуя специальной аппаратной поддержки. Ceph отличается высокой доступностью и обеспечивает высокую надежность данных с помощью таких методов, как репликация, кодирование стирания , моментальные снимки и клоны. По своей конструкции система является как самовосстанавливающейся, так и самоуправляемой , что сводит к минимуму время администрирования и другие расходы.
Крупномасштабные производственные развертывания Ceph включают CERN , [9] [10] OVH [11] [12] [13] [14] и DigitalOcean . [15] [16]
Ceph использует пять различных видов демонов : [17]
Все они полностью распределены и могут быть развернуты на отдельных выделенных серверах или в конвергентной топологии . Клиенты с различными потребностями напрямую взаимодействуют с соответствующими компонентами кластера. [21]
Ceph распределяет данные по нескольким устройствам хранения и узлам для достижения более высокой пропускной способности, аналогично RAID . Поддерживается адаптивная балансировка нагрузки , благодаря которой часто используемые службы могут быть реплицированы на большем количестве узлов. [22]
По состоянию на сентябрь 2017 года [обновлять]BlueStore является стандартным и рекомендуемым бэкэндом хранилища для производственных сред, [23] который обеспечивает лучшую задержку и настраиваемость, чем старый бэкэнд Filestore, и избегает недостатков хранилища на основе файловой системы, включающих дополнительные уровни обработки и кэширования. Бэкэнд Filestore будет объявлен устаревшим с момента выпуска Reef в середине 2023 года. XFS была рекомендуемой базовой файловой системой для OSD Filestore, а Btrfs можно было использовать на свой страх и риск. Файловые системы ext4 не рекомендовались из-за ограниченной емкости метаданных. [24] Бэкэнд BlueStore по-прежнему использует XFS для небольшого раздела метаданных. [25]
Ceph реализует распределенное хранилище объектов через шлюз RADOS ( ceph-rgw ), который предоставляет доступ к базовому уровню хранения через интерфейс, совместимый с Amazon S3 или OpenStack Swift .
Развертывания Ceph RGW легко масштабируются и часто используют большие и плотные носители данных для массовых случаев использования, которые включают в себя большие данные (datalayes), резервные копии и архивы , IoT , мультимедиа, видеозаписи и образы развертывания для виртуальных машин и контейнеров . [26]
Библиотеки программного обеспечения Ceph предоставляют клиентским приложениям прямой доступ к надежной системе хранения объектов RADOS ( autonomic distributed object store ). Чаще всего используются библиотеки для служб Ceph RADOS Block Device (RBD), RADOS Gateway и Ceph File System . Таким образом, администраторы могут поддерживать свои устройства хранения в единой системе, что упрощает репликацию и защиту данных.
Библиотеки программного обеспечения "librados" обеспечивают доступ в C , C++ , Java , PHP и Python . RADOS Gateway также предоставляет хранилище объектов как интерфейс RESTful , который может представлять как собственные API Amazon S3 и OpenStack Swift .
Ceph может предоставлять клиентам тонко-обеспеченные блочные устройства . Когда приложение записывает данные в Ceph с помощью блочного устройства, Ceph автоматически разбивает данные на полосы и реплицирует их по всему кластеру. Устройство Ceph RADOS Block Device (RBD) также интегрируется с виртуальными машинами на основе ядра (KVM).
Блочное хранилище Ceph может быть развернуто на традиционных HDD и/или SSD , которые связаны с блочным хранилищем Ceph для вариантов использования, включая базы данных, виртуальные машины, аналитику данных, искусственный интеллект и машинное обучение. Клиенты блочного хранилища часто требуют высокой пропускной способности и IOPS , поэтому развертывания Ceph RBD все чаще используют SSD с интерфейсами NVMe .
"RBD" построен на основе основополагающей системы хранения объектов RADOS от Ceph, которая обеспечивает интерфейс librados и файловую систему CephFS. Поскольку RBD построен на librados, RBD наследует возможности librados, включая клоны и моментальные снимки . Распределяя тома по кластеру, Ceph повышает производительность для образов больших блочных устройств.
"Ceph-iSCSI" — это шлюз, который обеспечивает доступ к распределенному, высокодоступному блочному хранилищу с серверов или клиентов Microsoft Windows и VMware vSphere, способных говорить по протоколу iSCSI . Используя ceph-iscsi на одном или нескольких хостах шлюза iSCSI, образы Ceph RBD становятся доступными как логические единицы (LU), связанные с целями iSCSI, к которым можно получить доступ в опционально сбалансированном по нагрузке, высокодоступном режиме.
Поскольку конфигурация ceph-iscsi хранится в хранилище объектов Ceph RADOS, хосты шлюза ceph-iscsi изначально не имеют постоянного состояния и, таким образом, могут быть заменены, дополнены или сокращены по желанию. В результате Ceph Storage позволяет клиентам запускать действительно распределенную, высокодоступную, отказоустойчивую и самовосстанавливающуюся технологию корпоративного хранения на стандартном оборудовании и полностью открытой платформе.
Блочное устройство может быть виртуализировано, предоставляя блочное хранилище виртуальным машинам на таких платформах виртуализации, как Openshift , OpenStack , Kubernetes , OpenNebula , Ganeti , Apache CloudStack и Proxmox Virtual Environment .
Файловая система Ceph (CephFS) работает на той же основе RADOS, что и службы объектного хранилища и блочных устройств Ceph. Сервер метаданных CephFS (MDS) предоставляет службу, которая сопоставляет каталоги и имена файлов файловой системы с объектами, хранящимися в кластерах RADOS. Кластер сервера метаданных может расширяться или сжиматься, и он может динамически перебалансировать ранги метаданных файловой системы для равномерного распределения данных между хостами кластера. Это обеспечивает высокую производительность и предотвращает большие нагрузки на определенные хосты в кластере.
Клиенты монтируют файловую систему, совместимую с POSIX, используя клиент ядра Linux . Также доступен более старый клиент на базе FUSE . Серверы работают как обычные демоны Unix .
Файловое хранилище Ceph часто ассоциируется со сбором журналов, обменом сообщениями и хранением файлов.
С 2018 года также существует проект веб-интерфейса Dashboard, который помогает управлять кластером. Он разрабатывается сообществом Ceph на LGPL-3 и использует Ceph-mgr, Python , Angular framework и Grafana . [27] Целевая страница была обновлена в начале 2023 года. [28]
Предыдущие панели мониторинга были разработаны, но сейчас закрыты: Calamari (2013–2018), OpenAttic (2013–2019), VSM (2014–2016), Inkscope (2015–2016) и Ceph-Dash (2015–2017). [29]
Начиная с 2019 года проект Crimson перестраивает путь данных OSD. Цель Crimson — минимизировать задержку и нагрузку на ЦП. Современные устройства хранения данных и интерфейсы, включая NVMe и 3D XPoint, стали намного быстрее, чем HDD и даже SAS/SATA SSD , но производительность ЦП не поспевает за ними. Более того, crimson-osd призван стать обратно совместимой заменой ceph -osd . Хотя Crimson может работать с бэкэндом BlueStore (через AlienStore), новая собственная реализация ObjectStore под названием SeaStore также разрабатывается вместе с CyanStore для целей тестирования. Одной из причин создания SeaStore является то, что поддержка транзакций в бэкэнде BlueStore предоставляется RocksDB , которую необходимо перестроить для достижения лучшего параллелизма. [30] [31] [32]
Ceph был создан Сейджем Вейлом для его докторской диссертации [33] , которую консультировал профессор Скотт А. Брандт из Школы инженерии Джека Баскина Калифорнийского университета в Санта-Крузе ( UCSC) и спонсировала Программа передового моделирования и вычислений (ASC), включая Лос-Аламосскую национальную лабораторию (LANL), Сандийские национальные лаборатории (SNL) и Ливерморскую национальную лабораторию им. Лоуренса (LLNL). [34] Первая строка кода, которая в конечном итоге стала частью Ceph, была написана Сейджем Вейлом в 2004 году во время летней стажировки в LLNL, где он работал над масштабируемым управлением метаданными файловой системы (сегодня известным как MDS Ceph). [35] В 2005 году в рамках летнего проекта, инициированного Скоттом А. Брандтом и возглавляемого Карлосом Мальцаном, Сейдж Вейл создал полностью функциональный прототип файловой системы, который получил название Ceph. Ceph дебютировал с Сейджем Вейлом, который провел две презентации в ноябре 2006 года: одну на USENIX OSDI 2006 [36] и другую на SC '06. [37]
После окончания университета осенью 2007 года Вайль продолжил работать над Ceph на постоянной основе, а основная команда разработчиков расширилась, включив в себя Йехуду Садеха Вайнрауба и Грегори Фарнума. 19 марта 2010 года Линус Торвальдс объединил клиент Ceph с ядром Linux версии 2.6.34 [38] [39], которое было выпущено 16 мая 2010 года. В 2012 году Вайль создал Inktank Storage для профессиональных услуг и поддержки Ceph. [40] [41]
В апреле 2014 года Red Hat приобрела Inktank, перенеся большую часть разработки Ceph на собственные нужды, чтобы сделать его рабочей версией для предприятий с поддержкой (горячая линия) и постоянным обслуживанием (новые версии). [42]
В октябре 2015 года был сформирован Консультативный совет сообщества Ceph, чтобы помочь сообществу в продвижении направления программно-определяемой технологии хранения данных с открытым исходным кодом. В состав консультативного совета входят члены сообщества Ceph из глобальных ИТ-организаций, которые привержены проекту Ceph, включая людей из Red Hat , Intel , Canonical , CERN , Cisco , Fujitsu , SanDisk и SUSE . [43]
В ноябре 2018 года Linux Foundation запустил Ceph Foundation в качестве преемника Ceph Community Advisory Board. Среди основателей Ceph Foundation были Amihan, Canonical , China Mobile , DigitalOcean , Intel , OVH , ProphetStor Data Services, Red Hat , SoftIron, SUSE , Western Digital , XSKY Data Technology и ZTE . [44]
В марте 2021 года SUSE прекратила выпуск своего продукта Enterprise Storage, включавшего Ceph, в пользу Longhorn от Rancher [45] , а бывший веб-сайт Enterprise Storage был обновлен с заявлением о том, что «SUSE переориентировала усилия по хранению данных на обслуживание наших стратегических клиентов SUSE Enterprise Storage и больше не занимается активными продажами SUSE Enterprise Storage». [46]
Хотя Ceph в основном создан для Linux, он также частично перенесен на платформу Windows. Он готов к использованию в Windows Server 2016 (некоторые команды могут быть недоступны из-за отсутствия реализации сокета UNIX ), Windows Server 2019 и Windows Server 2022 , но тестирование/разработку можно проводить также в Windows 10 и Windows 11. Ceph RBD и CephFS можно использовать в Windows, но OSD на этой платформе не поддерживается. [54] [5] [55]
Существует также реализация Ceph для FreeBSD . [4]
Название «Ceph» является сокращенной формой от « головоногие », класса моллюсков , включающего кальмаров, каракатиц, наутилоидов и осьминогов. Название (подчеркнуто логотипом) предполагает весьма параллельное поведение осьминога и было выбрано, чтобы связать файловую систему с «Сэмми», банановым слизнем -талисманом Калифорнийского университета в Санта-Крузе . [17] И головоногие, и банановые слизни являются моллюсками.
{{cite web}}
: Отсутствует или пусто |title=
( помощь ){{cite journal}}
: CS1 maint: неподходящий URL ( ссылка )