stringtranslate.com

Ceph (software)

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]

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

Almacenamiento de objetos S3

Un diagrama de arquitectura que muestra las relaciones entre los componentes de la plataforma de almacenamiento Ceph.

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 .

Almacenamiento en bloque

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 .

Almacenamiento de archivos

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.

Panel

Página de inicio de Ceph Dashboard (2023)

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]

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

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

Historial de lanzamientos

Leyenda:
Versión antigua
Versión anterior, aún mantenida.
Ultima versión
Última versión preliminar
Lanzamiento futuro

Plataformas disponibles

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]

Etimología

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.

Ver también

Referencias

  1. ^ "Junta asesora de formularios comunitarios de Ceph". 2015-10-28. Archivado desde el original el 29 de enero de 2019 . Consultado el 20 de enero de 2016 .
  2. ^ https://github.com/ceph/ceph/releases/tag/v18.2.0 . Consultado el 26 de agosto de 2023 . {{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". Cefe . Consultado el 2 de julio de 2023 .
  6. ^ "Archivo de licencia LGPL2.1 en las fuentes de Ceph". GitHub . 2014-10-24 . Consultado el 24 de octubre de 2014 .
  7. ^ Nicolás, Philippe (15 de julio de 2016). "The History Boys: Almacenamiento de objetos... desde el principio". El registro .
  8. ^ Jeremy Andrews (15 de noviembre de 2007). "Sistema de archivos de red distribuida Ceph". Trampa del núcleo . Archivado desde el original el 17 de noviembre de 2007 . Consultado el 15 de noviembre de 2007 .
  9. ^ "Cúmulos Ceph". 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". OVH nube . Consultado el 12 de noviembre de 2022 .
  12. ^ "Sistema de archivos distribuido CephFS". OVH nube . 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 construir almacenamiento en bloques". Océano Digital . Consultado el 12 de noviembre de 2022 .
  16. ^ "Charla técnica de Ceph: 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 de Linux a escala de petabytes" (PDF) . IBM . Consultado el 3 de diciembre de 2014 .
  18. ^ "Tienda Azul". Cefe . 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". Paquete .
  23. ^ Sabio Weil (29 de agosto de 2017). "Lanzamiento de 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. ^ "X Conferencia Internacional" Computación distribuida y tecnologías Grid en ciencia y educación "(GRID'2023)". JINR (Índico) . 2023-07-03 . Consultado el 9 de agosto de 2023 .
  27. ^ "Panel de control Ceph". Documentación ceph . Consultado el 11 de abril de 2023 .
  28. ^ Gómez, Pedro González (23 de febrero de 2023). "Presentación de la nueva página de inicio del panel" . Consultado el 11 de abril de 2023 .
  29. ^ "Operación de Ceph desde Ceph Dashboard: pasado, presente y futuro". YouTube . 22 de noviembre de 2022 . Consultado el 11 de abril de 2023 .
  30. ^ Justo, Sam (18 de enero de 2021). "Crimson: evolución de Ceph para NVMe de alto rendimiento". Tecnologías emergentes de Red Hat . Consultado el 12 de noviembre de 2022 .
  31. ^ Just, Samuel (10 de noviembre de 2022). "¿Qué hay de nuevo con Crimson y Seastore?". YouTube . Consultado el 12 de noviembre de 2022 .
  32. ^ "Crimson: Ceph OSD de próxima generación para escalabilidad multinúcleo". Blog de Ceph . Cefe. 7 de febrero de 2023 . Consultado el 11 de abril de 2023 .
  33. ^ Sabio 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 de 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. ^ Sabio 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 UCSC". noticias.ucsc.edu.
  40. ^ Bryan Bogensberger (3 de mayo de 2012). "Y todo se junta". Blog de tanque de tinta. 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 mejores empresas emergentes de almacenamiento 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". Sombrero rojo . Consultado el 19 de agosto de 2014 .
  43. ^ "Junta asesora de formularios comunitarios de Ceph". 2015-10-28. 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". 2018-11-12.[ enlace muerto permanente ]
  45. ^ "SUSE dice tschüss al producto de almacenamiento empresarial basado en Ceph; de ahora en adelante, es Rancher's Longhorn".
  46. ^ "Almacenamiento definido por software SUSE Enterprise".
  47. ^ Ceph.io - v16.2.0 Pacífico lanzado
  48. ^ Ceph.io - v17.2.0 Quincy lanzado
  49. ^ Flores, Laura (6 de agosto de 2023). "Lanzamiento de la versión 18.2.0 Reef". Blog de Ceph . Consultado el 26 de agosto de 2023 .
  50. ^ "Cef para Windows". Soluciones de base en la nube . Consultado el 2 de julio de 2023 .
  51. ^ Pilotti, Alessandro. "Cef en Windows". YouTube . Consultado el 2 de julio de 2023 .

Otras lecturas

enlaces externos