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 GateWay ( ceph-rgw ), который предоставляет базовый уровень хранения через интерфейс, совместимый с Amazon S3 или OpenStack Swift .
Развертывания Ceph RGW легко масштабируются и часто используют большие и плотные носители данных для массовых случаев использования, которые включают большие данные (datalake), резервное копирование и архивирование , Интернет вещей , носители, видеозапись и образы развертывания для виртуальных машин и контейнеров . [26]
Библиотеки программного обеспечения Ceph предоставляют клиентским приложениям прямой доступ к надежной объектно-ориентированной системе хранения данных автономного распределенного хранилища объектов (RADOS). Чаще используются библиотеки для блочного устройства RADOS Ceph (RBD), шлюза RADOS и служб файловой системы Ceph . Таким образом, администраторы могут поддерживать свои устройства хранения данных в единой системе, что упрощает репликацию и защиту данных.
Программные библиотеки librados обеспечивают доступ к C , C++ , Java , PHP и Python . Шлюз RADOS также предоставляет хранилище объектов как интерфейс RESTful , который может представлять собой как собственные API-интерфейсы Amazon S3 , так и OpenStack Swift .
Ceph может предоставлять клиентам блочные устройства с тонким предоставлением . Когда приложение записывает данные в Ceph с использованием блочного устройства, Ceph автоматически распределяет и реплицирует данные по кластеру. Блочное устройство RADOS (RBD) Ceph также интегрируется с виртуальными машинами на основе ядра (KVM).
Блочное хранилище Ceph может быть развернуто на традиционных жестких дисках и/или твердотельных накопителях , которые связаны с блочным хранилищем Ceph для сценариев использования, включая базы данных, виртуальные машины, анализ данных, искусственный интеллект и машинное обучение. Клиентам блочного хранилища часто требуется высокая пропускная способность и IOPS , поэтому при развертывании Ceph RBD все чаще используются твердотельные накопители с интерфейсами 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, стали намного быстрее, чем жесткие диски и даже твердотельные накопители SAS/SATA , но производительность процессора отстает. Более того, crimson-osd задуман как обратно совместимая замена ceph -osd . Хотя Crimson может работать с серверной частью BlueStore (через AlienStore), для целей тестирования вместе с CyanStore также разрабатывается новая собственная реализация ObjectStore под названием SeaStore. Одной из причин создания SeaStore является то, что поддержка транзакций в серверной части BlueStore обеспечивается RocksDB , которую необходимо повторно реализовать для достижения лучшего параллелизма. [30] [31] [32]
Ceph был создан Сейджем Вейлом для его докторской диссертации [ 33] , которую консультировал профессор Скотт А. Брандт в Инженерной школе Джека Баскина Калифорнийского университета в Санта-Крус (UCSC) и спонсировался программой Advanced Simulation and Computing Programme. (ASC), включая Национальную лабораторию Лос-Аламоса (LANL), Национальные лаборатории Сандии (SNL) и Ливерморскую национальную лабораторию Лоуренса (LLNL). [34] Первая строка кода, которая в конечном итоге стала частью Ceph, была написана Сейджем Вейлом в 2004 году во время летней стажировки в LLNL, где он работал над управлением метаданными масштабируемой файловой системы (известной сегодня как Ceph MDS). [35] В 2005 году в рамках летнего проекта, инициированного Скоттом А. Брандтом и возглавляемого Карлосом Мальцаном, Сейдж Вейл создал полнофункциональный прототип файловой системы, получивший название Ceph. Дебют Ceph состоялся вместе с Sage Weil, который провел две презентации в ноябре 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. В число основателей 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 [45] , а прежний веб-сайт Enterprise Storage был обновлен, в котором говорилось: «SUSE переориентировала усилия по хранению данных на обслуживание наших стратегических клиентов SUSE Enterprise Storage и больше не занимается активными продажами». Корпоративное хранилище SUSE». [46]
Хотя Ceph в основном создан для Linux, он также частично перенесен на платформу Windows. Он готов к работе для Windows Server 2016 (некоторые команды могут быть недоступны из-за отсутствия реализации сокетов UNIX ), Windows Server 2019 и Windows Server 2022 , но тестирование/разработку можно проводить и в Windows 10 и Windows 11 . В Windows можно использовать Ceph RBD и CephFS, но OSD на этой платформе не поддерживается. [50] [5] [51]
Существует также реализация Ceph для FreeBSD . [4]
Название «Цеф» — это сокращенная форма от « головоногих моллюсков », класса моллюсков , в который входят кальмары, каракатицы, наутилоиды и осьминоги. Название (подчеркнутое логотипом) предполагает весьма параллельное поведение осьминога и было выбрано, чтобы связать файловую систему с «Сэмми», талисманом бананового слизняка UCSC . [17] И головоногие моллюски, и банановые слизни являются моллюсками.
{{cite journal}}
: CS1 maint: неподходящий URL ( ссылка )