Ceph (pronunciado / ˈsɛf / ) es una plataforma de almacenamiento definida por software libre y de código abierto que proporciona almacenamiento de objetos , [ 7] almacenamiento en bloque y almacenamiento de archivos construidos sobre una base de clúster distribuido común. Ceph proporciona un funcionamiento distribuido sin un único punto de fallo y escalabilidad a nivel de exabyte . Desde la versión 12 (Luminous), Ceph no depende de ningún otro sistema de archivos convencional y gestiona directamente los HDD y SSD con su propio backend de almacenamiento BlueStore y puede exponer un sistema de archivos POSIX .
Ceph replica datos con tolerancia a fallos , [8] utilizando hardware básico y Ethernet IP y sin necesidad de soporte de hardware específico. Ceph tiene una 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 es autocurativo y autogestionable , 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 del clúster apropiados. [21]
Ceph distribuye datos entre varios dispositivos y nodos de almacenamiento para lograr un mayor rendimiento, de manera similar a RAID . Se admite el equilibrio de carga adaptativo , por lo que 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 una mejor latencia y capacidad de configuración que el back-end Filestore anterior, y evita las deficiencias del almacenamiento basado en sistemas de archivos que involucra capas adicionales de procesamiento y almacenamiento en caché. El back-end 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 se podía usar bajo su propio riesgo. Los sistemas de archivos ext4 no se recomendaron debido a la capacidad limitada de metadatos. [24] El back-end BlueStore todavía usa XFS para una partición de metadatos pequeña. [25]
Ceph implementa 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 o OpenStack Swift .
Las implementaciones de Ceph RGW se escalan fácilmente y a menudo utilizan medios de almacenamiento grandes y densos para casos de uso masivo que incluyen Big Data (datalake), 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 proporcionan a las aplicaciones cliente acceso directo al sistema de almacenamiento basado en objetos RADOS ( Reliable Autonomic Distributed Object Store ). Las bibliotecas más utilizadas son las de RADOS Block Device (RBD), RADOS Gateway y Ceph File System . De esta manera, 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 bloques con aprovisionamiento fino . Cuando una aplicación escribe datos en Ceph mediante un dispositivo de bloques, Ceph distribuye y replica automáticamente 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 bloque de Ceph se puede implementar en discos duros y/o SSD tradicionales que están asociados con el almacenamiento en bloque 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 y 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 de Ceph, que proporciona la interfaz de Librados y el sistema de archivos CephFS. Dado que RBD se basa en Librados, hereda las capacidades de Librados, incluidos los clones y las instantáneas . Al distribuir volúmenes en 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 bloque 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 RBD de Ceph se vuelven disponibles como unidades lógicas (LU) asociadas con destinos iSCSI, a los que se puede acceder de manera opcional con equilibrio de carga y alta disponibilidad.
Dado que la configuración de ceph-iscsi se almacena en el almacén de objetos Ceph RADOS, los hosts de la puerta de enlace de ceph-iscsi carecen de estado persistente y, por lo tanto, se pueden reemplazar, aumentar o reducir a voluntad. Como resultado, Ceph Storage permite a los clientes ejecutar una tecnología de almacenamiento empresarial verdaderamente distribuida, altamente disponible, resistente y autorreparable en hardware básico y una plataforma de código abierto.
El dispositivo de bloque se puede virtualizar, proporcionando almacenamiento en bloque 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 almacenamiento de objetos y dispositivos de bloque de Ceph. El servidor de metadatos de CephFS (MDS) proporciona un servicio que asigna los directorios y los nombres de archivo del sistema de archivos a los objetos almacenados dentro de los clústeres RADOS. El clúster del servidor 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 mediante un cliente de kernel de Linux . También está disponible un cliente más antiguo basado en FUSE . Los servidores se ejecutan como daemons 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 de Dashboard, que ayuda a administrar el clúster. Lo está desarrollando 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 de almacenamiento e interfaces 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 compatible con versiones anteriores para ceph-osd . Si bien Crimson puede funcionar con el back end de BlueStore (a través de AlienStore), también se está desarrollando una nueva implementación nativa de ObjectStore llamada SeaStore junto con CyanStore para fines de prueba. Una razón para crear SeaStore es que el soporte de transacciones en el back end de BlueStore lo proporciona RocksDB , 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 , Universidad de California, Santa Cruz (UCSC), y patrocinada por el Programa de Simulación y Computación Avanzada (ASC), incluyendo 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 estaba en una pasantía de verano en LLNL, trabajando en la gestión escalable de metadatos del sistema de archivos (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 de Ceph. Ceph hizo su debut con Sage Weil dando dos presentaciones en noviembre de 2006, una en USENIX OSDI 2006 [36] y otra en SC '06. [37]
Después de su graduación en otoño de 2007, Weil continuó trabajando en Ceph a tiempo completo y el equipo de desarrollo principal se expandió 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 brindar servicios profesionales y soporte para Ceph. [40] [41]
En abril de 2014, Red Hat compró Inktank, llevando la mayor parte del desarrollo de Ceph a la empresa 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 definida por software de código abierto. El consejo asesor de la comunidad Ceph incluye miembros de las organizaciones de TI globales 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. Entre los miembros fundadores de la Fundación Ceph se encuentran 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 suspendió su producto Enterprise Storage que incorporaba Ceph a favor de Rancher 's Longhorn, [45] y el antiguo sitio web Enterprise Storage se actualizó indicando que "SUSE ha reorientado los esfuerzos de almacenamiento en torno a atender a nuestros clientes estratégicos de SUSE Enterprise Storage y ya no vende activamente SUSE Enterprise Storage". [46]
Aunque Ceph está diseñado básicamente para Linux, 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 de sockets UNIX ), Windows Server 2019 y Windows Server 2022 , pero las pruebas y el desarrollo también se pueden realizar en Windows 10 y Windows 11. Se puede usar Ceph RBD y CephFS en Windows, pero OSD no es compatible con esta plataforma. [54] [5] [55]
También existe una implementación de Ceph en FreeBSD . [4]
El nombre "Ceph" es una forma abreviada de " cefalópodo ", una clase de moluscos que incluye calamares, sepias, nautiloides y pulpos. El nombre (enfatizado por el logotipo) sugiere el comportamiento altamente paralelo de un pulpo y fue elegido para asociar el sistema de archivos con "Sammy", la babosa banana mascota de UCSC . [17] Tanto los cefalópodos como las babosas banana son moluscos.
{{cite web}}
: Falta o está vacío |title=
( ayuda ){{cite journal}}
: CS1 maint: URL no apta ( enlace )