stringtranslate.com

Ceph (software)

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]

Diseño

Una descripción general de alto nivel de la organización interna de Ceph [17] : 4 

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 , 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]

Almacenamiento de objetos S3

Diagrama de arquitectura que muestra las relaciones entre los componentes de la plataforma de almacenamiento Ceph

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 .

Almacenamiento en bloque

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 .

Almacenamiento de archivos

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.

Panel

Página de inicio del panel de Ceph (2023)

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]

Carmesí

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]

Historia

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]

Historial de versiones

Leyenda:
Versión antigua, sin mantenimiento
Versión antigua, aún mantenida
Última versión
Última versión preliminar
Lanzamiento futuro

Plataformas disponibles

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]

Etimología

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.

Véase también

Referencias

  1. ^ "Consejo asesor de formularios comunitarios de Ceph". 28 de octubre de 2015. Archivado desde el original el 29 de enero de 2019. Consultado el 20 de enero de 2016 .
  2. ^ https://ceph.io/en/news/blog/2024/v19-2-0-squid-released/ . Consultado el 3 de octubre de 2024 . {{cite web}}: Falta o está vacío |title=( ayuda )
  3. ^ "Repositorio de GitHub". GitHub .
  4. ^ ab "Informe de estado trimestral de FreeBSD".
  5. ^ ab "Instalación de Ceph en Windows". Ceph . Consultado el 2 de julio de 2023 .
  6. ^ "Archivo de licencia LGPL2.1 en las fuentes de Ceph". GitHub . 2014-10-24 . Consultado el 2014-10-24 .
  7. ^ Nicolas, Philippe (15 de julio de 2016). "The History Boys: almacenamiento de objetos... desde el principio". The Register .
  8. ^ Jeremy Andrews (15 de noviembre de 2007). "Sistema de archivos de red distribuido Ceph". KernelTrap . Archivado desde el original el 17 de noviembre de 2007 . Consultado el 15 de noviembre de 2007 .
  9. ^ "Cúmulos de cefalópodos". CERN . Consultado el 12 de noviembre de 2022 .
  10. ^ "Operaciones Ceph en el CERN: ¿hacia dónde vamos desde aquí? - Dan van der Ster y Teo Mouratidis, CERN". YouTube . 24 de mayo de 2019 . Consultado el 12 de noviembre de 2022 .
  11. ^ Dorosz, Filip (15 de junio de 2020). "Viaje al almacenamiento Ceph de próxima generación en OVHcloud con LXD". OVHcloud . Consultado el 12 de noviembre de 2022 .
  12. ^ "Sistema de archivos distribuido CephFS". OVHcloud . Consultado el 12 de noviembre de 2022 .
  13. ^ "Ceph - Sistema de almacenamiento distribuido en OVH [en] - Bartłomiej Święcki". YouTube . 7 de abril de 2016 . Consultado el 12 de noviembre de 2022 .
  14. ^ "200 clústeres frente a 1 administrador: Bartosz Rabiega, OVH". YouTube . 24 de mayo de 2019 . Consultado el 15 de noviembre de 2022 .
  15. ^ D'Atri, Anthony (31 de mayo de 2018). "Por qué elegimos Ceph para crear almacenamiento en bloque". DigitalOcean . Consultado el 12 de noviembre de 2022 .
  16. ^ "Ceph Tech Talk: Ceph en DigitalOcean". YouTube . 7 de octubre de 2021 . Consultado el 12 de noviembre de 2022 .
  17. ^ abc M. Tim Jones (4 de junio de 2010). "Ceph: Un sistema de archivos distribuido a escala de petabytes de Linux" (PDF) . IBM . Consultado el 3 de diciembre de 2014 .
  18. ^ "BlueStore". Ceph . Consultado el 29 de septiembre de 2017 .
  19. ^ "Migración de BlueStore". Archivado desde el original el 4 de diciembre de 2019. Consultado el 12 de abril de 2020 .
  20. ^ "Ceph Manager Daemon — Documentación de Ceph". docs.ceph.com . Archivado desde el original el 6 de junio de 2018 . Consultado el 31 de enero de 2019 . enlace de archivo Archivado el 19 de junio de 2020 en Wayback Machine.
  21. ^ Jake Edge (14 de noviembre de 2007). "El sistema de archivos Ceph". LWN.net .
  22. ^ Anthony D'Atri, Vaibhav Bhembre (1 de octubre de 2017). "Aprendiendo Ceph, segunda edición". Packt .
  23. ^ Sage Weil (29 de agosto de 2017). "Lanzamiento de la versión v12.2.0 Luminous". Blog de Ceph.
  24. ^ "Recomendaciones sobre discos duros y sistemas de archivos". ceph.com. Archivado desde el original el 14 de julio de 2017. Consultado el 26 de junio de 2017 .
  25. ^ "Referencia de configuración de BlueStore". Archivado desde el original el 20 de julio de 2019 . Consultado el 12 de abril de 2020 .
  26. ^ "10ª Conferencia Internacional "Computación distribuida y tecnologías Grid en ciencia y educación" (GRID'2023)". JINR (Indico) . 2023-07-03 . Consultado el 2023-08-09 .
  27. ^ "Panel de control de Ceph". Documentación de Ceph . Consultado el 11 de abril de 2023 .
  28. ^ Gomez, Pedro Gonzalez (23 de febrero de 2023). "Presentamos la nueva página de inicio del Dashboard" . Consultado el 11 de abril de 2023 .
  29. ^ "Operando Ceph desde el Ceph Dashboard: pasado, presente y futuro". YouTube . 22 de noviembre de 2022 . Consultado el 11 de abril de 2023 .
  30. ^ Just, Sam (18 de enero de 2021). «Crimson: evolución de Ceph para NVMe de alto rendimiento». Red Hat Emerging Technologies . Consultado el 12 de noviembre de 2022 .
  31. ^ Just, Samuel (10 de noviembre de 2022). "¿Qué novedades hay en Crimson y Seastore?". YouTube . Consultado el 12 de noviembre de 2022 .
  32. ^ "Crimson: OSD Ceph de próxima generación para escalabilidad multinúcleo". Blog de Ceph . Ceph. 7 de febrero de 2023 . Consultado el 11 de abril de 2023 .
  33. ^ Sage Weil (1 de diciembre de 2007). «Ceph: almacenamiento distribuido confiable, escalable y de alto rendimiento» (PDF) . Universidad de California, Santa Cruz . Archivado desde el original (PDF) el 6 de julio de 2017. Consultado el 11 de marzo de 2017 .
  34. ^ Gary Grider (1 de mayo de 2004). "La historia y la estrategia de E/S escalables ASCI/DOD" (PDF) . Universidad de Minnesota . Consultado el 17 de julio de 2019 .
  35. ^ Gestión dinámica de metadatos para sistemas de archivos a escala de petabytes, SA Weil, KT Pollack, SA Brandt, EL Miller, Proc. SC'04, Pittsburgh, PA, noviembre de 2004
  36. ^ "Ceph: Un sistema de archivos distribuido escalable y de alto rendimiento", SA Weil, SA Brandt, EL Miller, DDE Long, C Maltzahn, Proc. OSDI, Seattle, WA, noviembre de 2006
  37. ^ "CRUSH: Colocación controlada, escalable y descentralizada de datos replicados", SA Weil, SA Brandt, EL Miller, DDE Long, C Maltzahn, SC'06, Tampa, FL, noviembre de 2006
  38. ^ Sage Weil (19 de febrero de 2010). "Cliente fusionado para 2.6.34". ceph.newdream.net. Archivado desde el original el 23 de marzo de 2010. Consultado el 21 de marzo de 2010 .
  39. ^ Tim Stephens (20 de mayo de 2010). "La nueva versión del sistema operativo Linux incluye el sistema de archivos Ceph desarrollado en la UCSC". news.ucsc.edu.
  40. ^ Bryan Bogensberger (3 de mayo de 2012). "Y todo se une". Blog de Inktank. Archivado desde el original el 19 de julio de 2012. Consultado el 10 de julio de 2012 .
  41. ^ Joseph F. Kovar (10 de julio de 2012). "Las 10 empresas emergentes de almacenamiento más interesantes de 2012 (hasta ahora)". CRN . Consultado el 19 de julio de 2013 .
  42. ^ Red Hat Inc (30 de abril de 2014). "Red Hat adquirirá Inktank, proveedor de Ceph". Red Hat . Consultado el 19 de agosto de 2014 .
  43. ^ "Consejo asesor de formularios comunitarios de Ceph". 28 de octubre de 2015. Archivado desde el original el 29 de enero de 2019. Consultado el 20 de enero de 2016 .
  44. ^ "La Fundación Linux lanza la Fundación Ceph para promover el almacenamiento de código abierto". 12 de noviembre de 2018.[ enlace muerto permanente ]
  45. ^ "SUSE dice adiós al producto de almacenamiento empresarial basado en Ceph: de ahora en adelante será Rancher's Longhorn".
  46. ^ "Almacenamiento definido por software de SUSE Enterprise".
  47. ^ Ceph.io — Lanzamiento de la versión 16.2.0 Pacific
  48. ^ Ceph.io — Lanzamiento de la versión 17.2.0 Quincy
  49. ^ Flores, Laura (6 de agosto de 2023). «Se lanzó la versión v18.2.0 Reef». Blog de Ceph . Consultado el 26 de agosto de 2023 .
  50. ^ "Active Releases" (Versiones activas). docs.ceph.com . Consultado el 3 de octubre de 2024 .
  51. ^ Flores, Laura (26 de septiembre de 2024). «Se lanzó la versión v19.2.0 de Squid». Blog de Ceph . Consultado el 3 de octubre de 2024 .
  52. ^ "Active Releases" (Versiones activas). docs.ceph.com . Consultado el 3 de octubre de 2024 .
  53. ^ "Cumbre de desarrolladores de Ceph: Tentacle". ceph.io . Consultado el 3 de octubre de 2024 .
  54. ^ "Ceph para Windows". Cloudbase Solutions . Consultado el 2 de julio de 2023 .
  55. ^ Pilotti, Alessandro. "Ceph en Windows". YouTube . Consultado el 2 de julio de 2023 .

Lectura adicional

Enlaces externos