Ceph (pronunciado / ˈ s ɛ f / ) es una plataforma de almacenamiento definida por software gratuita y de código abierto que proporciona almacenamiento de objetos , [7] almacenamiento en bloques y almacenamiento de archivos construido sobre una base de clúster distribuido común . Ceph proporciona una operación completamente distribuida sin un único punto de falla y escalabilidad al nivel de exabyte , y está disponible gratuitamente. Desde la versión 12 (Luminous), Ceph no depende de ningún otro sistema de archivos convencional y administra directamente HDD y SSD con su propio backend de almacenamiento BlueStore y puede exponer un sistema de archivos POSIX .
Ceph replica datos con tolerancia a fallas , [8] utilizando hardware básico y Ethernet IP y no requiere soporte de hardware específico. Ceph tiene alta disponibilidad y garantiza una gran durabilidad de los datos mediante técnicas que incluyen replicación, codificación de borrado , instantáneas y clones. Por diseño, el sistema se repara y administra automáticamente , lo que minimiza el tiempo de administración y otros costos.
Las implementaciones de Ceph de producción a gran escala incluyen CERN , [9] [10] OVH [11] [12] [13] [14] y DigitalOcean . [15] [16]
Ceph emplea cinco tipos distintos de demonios : [17]
Todos ellos están completamente distribuidos y pueden implementarse en servidores dedicados separados o en una topología convergente . Los clientes con diferentes necesidades interactúan directamente con los componentes apropiados del clúster. [21]
Ceph distribuye datos entre múltiples dispositivos y nodos de almacenamiento para lograr un mayor rendimiento, de manera similar a RAID . Se admite el equilibrio de carga adaptable , mediante el cual los servicios a los que se accede con frecuencia se pueden replicar en más nodos. [22]
A partir de septiembre de 2017 [actualizar], BlueStore es el back-end de almacenamiento predeterminado y recomendado para entornos de producción, [23] que proporciona mejor latencia y capacidad de configuración que el back-end más antiguo de Filestore y evita las deficiencias del almacenamiento basado en sistemas de archivos que implican capas adicionales de procesamiento y almacenamiento en caché. El back-end de Filestore quedará obsoleto a partir del lanzamiento de Reef a mediados de 2023. XFS era el sistema de archivos subyacente recomendado para los OSD de Filestore, y Btrfs podía usarse bajo su propia responsabilidad. No se recomendaron los sistemas de archivos ext4 debido a la capacidad limitada de metadatos. [24] El back-end de BlueStore todavía usa XFS para una pequeña partición de metadatos. [25]
Ceph implementa el almacenamiento de objetos distribuidos a través de RADOS GateWay ( ceph-rgw ), que expone la capa de almacenamiento subyacente a través de una interfaz compatible con Amazon S3 u OpenStack Swift .
Las implementaciones de Ceph RGW escalan fácilmente y a menudo utilizan medios de almacenamiento grandes y densos para casos de uso masivo que incluyen Big Data (lago de datos), copias de seguridad y archivos , IOT , medios, grabación de video e imágenes de implementación para máquinas virtuales y contenedores . [26]
Las bibliotecas de software de Ceph brindan a las aplicaciones cliente acceso directo al confiable sistema de almacenamiento basado en objetos del almacén autónomo de objetos distribuidos (RADOS). Las más utilizadas son las bibliotecas para los servicios RADOS Block Device (RBD), RADOS Gateway y Ceph File System de Ceph . De esta forma, los administradores pueden mantener sus dispositivos de almacenamiento dentro de un sistema unificado, lo que facilita la replicación y protección de los datos.
Las bibliotecas de software "librados" brindan acceso en C , C++ , Java , PHP y Python . RADOS Gateway también expone el almacén de objetos como una interfaz RESTful que puede presentarse como API nativas de Amazon S3 y OpenStack Swift .
Ceph puede proporcionar a los clientes dispositivos de bloque con aprovisionamiento ligero . Cuando una aplicación escribe datos en Ceph utilizando un dispositivo de bloque, Ceph automáticamente divide y replica los datos en todo el clúster. El dispositivo de bloques RADOS (RBD) de Ceph también se integra con máquinas virtuales basadas en kernel (KVM).
El almacenamiento en bloques de Ceph se puede implementar en discos duros y/o SSD tradicionales que están asociados con el almacenamiento en bloques de Ceph para casos de uso, incluidas bases de datos, máquinas virtuales, análisis de datos, inteligencia artificial y aprendizaje automático. Los clientes de almacenamiento en bloque a menudo requieren un alto rendimiento e IOPS , por lo que las implementaciones de Ceph RBD utilizan cada vez más SSD con interfaces NVMe .
"RBD" se basa en el sistema de almacenamiento de objetos RADOS fundamental de Ceph que proporciona la interfaz librados y el sistema de archivos CephFS. Dado que RBD se basa en librados, RBD hereda las capacidades de librados, incluidos clones e instantáneas . Al dividir los volúmenes en todo el clúster, Ceph mejora el rendimiento de las imágenes de dispositivos de bloques grandes.
"Ceph-iSCSI" es una puerta de enlace que permite el acceso a almacenamiento en bloques distribuido y de alta disponibilidad desde servidores o clientes de Microsoft Windows y VMware vSphere capaces de hablar el protocolo iSCSI . Al utilizar ceph-iscsi en uno o más hosts de puerta de enlace iSCSI, las imágenes de Ceph RBD están disponibles como unidades lógicas (LU) asociadas con objetivos iSCSI, a los que se puede acceder de forma opcional con equilibrio de carga y alta disponibilidad.
Dado que la configuración de ceph-iscsi se almacena en el almacén de objetos de Ceph RADOS, los hosts de puerta de enlace ceph-iscsi no tienen inherentemente un estado persistente y, por lo tanto, pueden reemplazarse, aumentarse o reducirse a voluntad. Como resultado, Ceph Storage permite a los clientes ejecutar una tecnología de almacenamiento empresarial verdaderamente distribuida, de alta disponibilidad, resistente y con recuperación automática en hardware básico y una plataforma de código completamente abierto.
El dispositivo de bloques se puede virtualizar, proporcionando almacenamiento en bloques a máquinas virtuales, en plataformas de virtualización como Openshift , OpenStack , Kubernetes , OpenNebula , Ganeti , Apache CloudStack y Proxmox Virtual Environment .
El sistema de archivos de Ceph (CephFS) se ejecuta sobre la misma base RADOS que los servicios de dispositivos de bloques y almacenamiento de objetos de Ceph. El servidor de metadatos (MDS) CephFS proporciona un servicio que asigna los directorios y nombres de archivos del sistema de archivos a objetos almacenados dentro de los clústeres RADOS. El clúster de servidores de metadatos puede expandirse o contraerse, y puede reequilibrar dinámicamente las clasificaciones de metadatos del sistema de archivos para distribuir los datos de manera uniforme entre los hosts del clúster. Esto garantiza un alto rendimiento y evita cargas pesadas en hosts específicos dentro del clúster.
Los clientes montan el sistema de archivos compatible con POSIX utilizando un cliente del kernel de Linux . También está disponible un cliente antiguo basado en FUSE . Los servidores se ejecutan como demonios Unix normales .
El almacenamiento de archivos de Ceph a menudo se asocia con la recopilación de registros, la mensajería y el almacenamiento de archivos.
Desde 2018 también existe un proyecto de interfaz de usuario web Dashboard, que ayuda a gestionar el clúster. Está siendo desarrollado por la comunidad Ceph en LGPL-3 y utiliza Ceph-mgr, Python , Angular framework y Grafana . [27] La página de destino se actualizó a principios de 2023. [28]
Se desarrollaron paneles de control anteriores, pero ahora están cerrados: Calamari (2013–2018), OpenAttic (2013–2019), VSM (2014–2016), Inkscope (2015–2016) y Ceph-Dash (2015–2017). [29]
A partir de 2019, el proyecto Crimson ha estado reimplementando la ruta de datos OSD. El objetivo de Crimson es minimizar la latencia y la sobrecarga de la CPU. Los dispositivos e interfaces de almacenamiento modernos, incluidos NVMe y 3D XPoint, se han vuelto mucho más rápidos que los HDD e incluso los SSD SAS/SATA , pero el rendimiento de la CPU no ha seguido el ritmo. Además, crimson-osd está destinado a ser un reemplazo directo compatible con versiones anteriores de ceph-osd . Si bien Crimson puede trabajar con el backend de BlueStore (a través de AlienStore), también se está desarrollando una nueva implementación nativa de ObjectStore llamada SeaStore junto con CyanStore con fines de prueba. Una de las razones para crear SeaStore es que RocksDB proporciona soporte para transacciones en el back-end de BlueStore , que debe volver a implementarse para lograr un mejor paralelismo. [30] [31] [32]
Ceph fue creado por Sage Weil para su tesis doctoral , [33] que fue asesorada por el profesor Scott A. Brandt en la Escuela de Ingeniería Jack Baskin de la Universidad de California, Santa Cruz (UCSC), y patrocinada por el Programa de Computación y Simulación Avanzada. (ASC), incluido el Laboratorio Nacional de Los Álamos (LANL), los Laboratorios Nacionales Sandia (SNL) y el Laboratorio Nacional Lawrence Livermore (LLNL). [34] La primera línea de código que terminó siendo parte de Ceph fue escrita por Sage Weil en 2004 mientras realizaba una pasantía de verano en LLNL, trabajando en la gestión de metadatos de sistemas de archivos escalables (conocido hoy como MDS de Ceph). [35] En 2005, como parte de un proyecto de verano iniciado por Scott A. Brandt y dirigido por Carlos Maltzahn, Sage Weil creó un prototipo de sistema de archivos completamente funcional que adoptó el nombre Ceph. Ceph hizo su debut con Sage Weil realizando dos presentaciones en noviembre de 2006, una en USENIX OSDI 2006 [36] y otra en SC '06. [37]
Después de graduarse en otoño de 2007, Weil continuó trabajando en Ceph a tiempo completo y el equipo central de desarrollo se amplió para incluir a Yehuda Sadeh Weinraub y Gregory Farnum. El 19 de marzo de 2010, Linus Torvalds fusionó el cliente Ceph en la versión 2.6.34 del kernel de Linux [38] [39] que se lanzó el 16 de mayo de 2010. En 2012, Weil creó Inktank Storage para servicios profesionales y soporte para Ceph. [40] [41]
En abril de 2014, Red Hat compró Inktank, incorporando la mayor parte del desarrollo de Ceph internamente para convertirlo en una versión de producción para empresas con soporte (línea directa) y mantenimiento continuo (nuevas versiones). [42]
En octubre de 2015, se formó el Consejo Asesor de la Comunidad Ceph para ayudar a la comunidad a impulsar la dirección de la tecnología de almacenamiento definido por software de código abierto. El consejo asesor fundador incluye miembros de la comunidad Ceph de organizaciones globales de TI que están comprometidas con el proyecto Ceph, incluidos individuos de Red Hat , Intel , Canonical , CERN , Cisco , Fujitsu , SanDisk y SUSE . [43]
En noviembre de 2018, la Fundación Linux lanzó la Fundación Ceph como sucesora del Consejo Asesor de la Comunidad Ceph. Los miembros fundadores de la Fundación Ceph incluyeron a Amihan, Canonical , China Mobile , DigitalOcean , Intel , OVH , ProphetStor Data Services, Red Hat , SoftIron, SUSE , Western Digital , XSKY Data Technology y ZTE . [44]
En marzo de 2021, SUSE descontinuó su producto Enterprise Storage que incorpora Ceph en favor de Rancher 's Longhorn, [45] y el antiguo sitio web de Enterprise Storage se actualizó indicando "SUSE ha reorientado los esfuerzos de almacenamiento en torno a servir a nuestros clientes estratégicos de SUSE Enterprise Storage y ya no ya no vendemos activamente SUSE Enterprise Storage". [46]
Aunque básicamente se creó para Linux, Ceph también se ha adaptado parcialmente a la plataforma Windows. Está listo para producción para Windows Server 2016 (algunos comandos pueden no estar disponibles debido a la falta de implementación del socket UNIX ), Windows Server 2019 y Windows Server 2022 , pero las pruebas/desarrollo también se pueden realizar en Windows 10 y Windows 11 . Se pueden utilizar Ceph RBD y CephFS en Windows, pero OSD no es compatible con esta plataforma. [50] [5] [51]
También existe una implementación FreeBSD de Ceph. [4]
El nombre "Ceph" es una forma abreviada de " cefalópodo ", una clase de moluscos que incluye calamares, sepias, nautiloideos y pulpos. El nombre (resaltado por el logotipo) sugiere el comportamiento altamente paralelo de un pulpo y fue elegido para asociar el sistema de archivos con "Sammy", la mascota de la babosa banana de UCSC . [17] Tanto los cefalópodos como las babosas bananeras son moluscos.
{{cite web}}
: Falta o está vacío |title=
( ayuda ){{cite journal}}
: Mantenimiento CS1: URL no apta ( enlace )