В обчисленнях, Ceph — вільне сховище об'єктів, яке зберігає дані на одному розподіленому комп'ютерному кластері та забезпечує інтерфейс рівня об'єкту, блоку та файлу. Основні цілі Ceph — бути повністю розподіленим без єдиної точки відмови, масштабованим до рівня ексабайт та вільно доступним.
Ceph реплікує дані та робить їх відмовостійкими,[4] використовуючи звичайне обладнання та не вимагаючи підтримки специфічного. Результатом дизайну є те, що система є як само-відновлюваною так і само-керованою, націленою на мінімізацію часу адміністрування та інших затрат.
В реалізації CephFS (файлова система) відсутні стандартні засоби відновлення файлової системи, тому користувацька документація Ceph не рекомендує зберігати критичні дані через відсутність можливості аварійного відновлення та інструментів.[5]
Ceph використовує чотири різні види демонів:[6]
Вони всі є повністю розподіленими та можуть працювати на тому ж самому наборі серверів. Клієнти напряму взаємодіють з усіма ними.[8]
Ceph робить striping індивідуальних файлів по багатьох нодах, щоб досягти найбільшої пропускної здатності, подібно до того як RAID0 розподіляє смугами розділи по багатьох твердих дисках. Адаптивний баланс навантаження підтримується за допомогою того, як часто доступаються до об'єктів, які репліковані на більшості нод.[citation needed] На Грудень 2014, файлові системи, які рекомендовано для використання у виробничих середовищах, це ext4 (маленький масштаб) та XFS (розгортання великого масштабу), поки Btrfs та ZFS рекомендовано для невиробничих середовищ.[9]
Ceph впроваджує розподілене сховище об'єктів. Програмні бібліотеки Ceph забезпечують клієнтські програми прямим доступом до надійного автоматично розподіленого зберігання об'єктів (RADOS від англ. reliable autonomic distributed object store), а також забезпечує фундамент для деяких особливостей Ceph, включаючи RADOS Block Device (RBD), RADOS Gateway, та Ceph File System.
Програмна бібліотека librados забезпечує доступ для C, C++, Java, PHP, тп Python.
Система зберігання об'єктів Ceph дозволяє користувачам монтувати Ceph як тонко підготовлений блоковий пристрій. Коли додаток пише дані на Ceph використовуючи блоковий пристрій, Ceph автоматично розкидає та реплікує дані по всьому кластеру. Блоковий пристрій Ceph (RBD) (від анг. RADOS Block Device) також інтегрується з Kernel-based Virtual Machines (KVMs).
Інтерфейси Ceph RBD з тією ж самою системою зберігання об'єктів Ceph забезпечують інтерфейс librados та файлову систему CephFS, а також зберігають образи блокових пристроїв як об'єкти. З того часу як RBD базується на librados, RBD наслідує можливості librados, включаючи знімки типу тільки-читання та повернення до знімків. Завдяки розкиданню образів по кластеру, Ceph покращує продуктивність читання для великих образів блокових пристроїв.
Блокові пристрої підтримуються платформами віртуалізації, включаючи Apache CloudStack, OpenStack, OpenNebula, Ganeti та Proxmox Virtual Environment. Ці інтеграції дозволяють адміністраторам використовувати блокові пристрої Ceph як сховище для їхніх віртуальних машин в їхніх середовищах.
Файлова система Ceph (CephFS) працює на базі тої ж самої системи зберігання об'єктів, яка забезпечує інтерфейси сховища об'єктів та блокових пристроїв. Кластер сервера метаданих Ceph забезпечує сервіс який мапить директорії та імена файлової системи до об'єктів, які зберігаються в межах RADOS кластера. Кластер сервера метаданих може розширяти або зменшувати файлову систему, а також він може динамічно її розбалансовувати, щоб розподіляти дані рівномірно по хостах кластеру. Це гарантує високу швидкодію та попереджає великі навантаження на конкретні хости кластера.
Клієнти монтують POSIX-сумісну файлову систему використовуючи клієнти Лінукс ядра. 19 березня 2010, Linus Torvalds додав Ceph клієнт в ядро Лінукс версії 2.6.34[10] реліз якого вийшов 16 березня 2010. Старіший FUSE-сумісний клієнт також доступний. Сервера працюють як звичайний Unix демон.
Ceph був створений Sage Weil (розробником концепту Webring та співзасновником DreamHost) для його дипломної роботи,[11] яка була порекомендована професором Scott A. Brandt в Jack Baskin School of Engineering при University of California, Santa Cruz та започаткована United States Department of Energy (DOE) і National Nuclear Security Administration (NNSA), за участю Lawrence Livermore National Laboratory (LLNL), Los Alamos National Laboratory (LANL), та Sandia National Laboratories (SNL).
Після його випуску восени 2007, Weil продовжив працювати над Ceph повністю, основна команда розробки була поповнена Yehuda Sadeh Weinraub та Gregory Farnum. В 2012, Weil створив Inktank Storage для професійних сервісів та підтримки Ceph.[12][13]
В квітні 2014, Red Hat купив Inktank тим самим признавши важливість розвитку Ceph development in-house.[14]
В жовтні 2015 був сформований Ceph Community Advisory Board щоб асистувати спільноту в напрямку програмно-визначеної технології сховища з відкритим кодом. Статут рекомендаційної ради включає членів глобальної IT організацій які зробили внески до проекту Ceph, включаючи осіб від Canonical, CERN, Cisco, Fujitsu, Intel, Red Hat, SanDisk, and SUSE.
Назва «Ceph» — поширене прізвисько домашніх восьминогів та походить від головоногих, клас молюски, і зрештою з давньогрецької κεφαλή (ke-pha-LEE), значення «голова» та πόδι (PO-dhi), значення «нога». Назва (підкреслені лого) передбачає високу паралельну поведінку восьминога та була обрана для з'єднання файлової системи з талісманом UCSC, a banana slug називається «Sammy».[24]