• No results found

2.3.1 Surgimiento de Ceph.

A Sage Weil se le atribuye la creación de Ceph como parte de un proyecto de doctorado en la Universidad de California, Santa Cruz. El proyecto fue la culminación de años de investigación por profesores y estudiantes graduados de la Universidad de California en

Santa Cruz. El nombre se deriva de Ceph Cefalópodo, una clase de moluscos que incluye la sepia, el pulpo y el calamar.

El proyecto Ceph de código abierto se inició en 2004 y se convirtió en el software

disponible bajo una licencia de código abierto en el año 2006.

Después de completar su doctorado, Weil trabajó en el proyecto de código abierto Ceph con el apoyo de DreamHost. En 2012, formaron una empresa llamada InkTank Inc. para proporcionar una versión con soporte comercial de Ceph para los usuarios empresariales. Red Hat Inc. adquirió InkTank en 2014 por $ 175 millones. Weil asumió el papel de principal arquitecto en Ceph de Red Hat.

Los vendedores que ofrecen hardware diseñado específicamente para su uso con el software

de Ceph incluyen Fujitsu, Super Micro Computer SanDisk y división de Western Digital.

2.3.2 Arquitectura de Ceph.

Ceph es un sistema de almacenamiento muy potente, con muy buen rendimiento, altamente escalable y normalmente con un coste muy reducido (comparativamente).

Ceph es un sistema de almacenamiento distribuido altamente escalable bajo licencia GPL, pretende ser un sistema de archivos completamente distribuido y sin ningún punto de fallo. La replicación usa sistemas tolerantes a fallos para obtener datos libres de errores.

Normalmente los sistemas basados en RAID tienen más posibilidades de que los datos se corrompan a medida que aumentan de tamaño. Esto por supuesto es minimizado por las controladoras pero siempre es una posibilidad que limita físicamente el tamaño de los volúmenes que se crean. Teniendo esto en cuenta se diseña Ceph.

Ceph usa la replicación para obtener redundancia en los datos y mejorar el rendimiento de acceso a los mismos, proporcionando sistemas que garantizan la integridad de todos ellos. Desde la versión 2.6.34.2, el kernel de Linux incluye soporte a Ceph.

Esta tecnología nos permite almacenar objetos, dispositivos de bloques y ficheros, también permite acceso directo a objetos usando lenguajes nativos como bindins o radosgw y ofrece

además dispositivos de bloques a los clientes. Todo esto vinculado con recursos en red para acceder a los ficheros que queramos compartir.

Una arquitectura típica de Ceph es mostrada en la figura 2.13. Los elementos fundamentales son:

Monitores:

OSD (object storage daemon) Servicio de almacenamiento de objetos. Es básicamente el almacén donde la información real es guardada. Cada disco puede ser compartido entero o en forma parcial a la arquitectura Ceph. Todo el control de como guardar los datos tanto como entrada o como salida es realizado por este proceso. Están conectados entre ellos por una red interna que solo se usa para sincronización a alta velocidad y disponen adicionalmente de un enlace con los monitores.

Monitor. Es el encargado de mantener la comunicación con los clientes y tramitarlo a los OSD. Guarda las tablas donde están declarados que está almacenado en cada OSD y donde están las réplicas. Se supone que son servidores con gran capacidad de memoria y de gran capacidad de conexión tanto para la parte del cliente como para los OSD.

Adicionalmente hay otros servicios como RADOS que permiten la integración de los volúmenes compartidos por los monitores con los sistemas operativos en forma de un sistema de archivos.

Si se resume se puede decir que ofrece acceso a objetos, a dispositivos de bloques tipo iSCSI y a sistemas de ficheros tipo NFS o samba. Algo parecido a lo que viene siendo hoy en día los sistemas de almacenamiento SAN o los NAS más avanzados. Pero lo que lo hace completamente diferente es su capacidad de crecer con solo adicionar servidores los cuales es bueno aclarar se recomiendan que no dispongan de tarjetas RAID para hacer más transparentes el flujo de datos. [2]

Figura 2-13: Elementos que componen Ceph.

2.4 Consideraciones finales del Capítulo.

Las soluciones de almacenamiento por hardware vistas en el capítulo 1 sin duda alguna son utilizadas en el mundo actual pero hay un importante sector que no puede costearlas o a los que simplemente no les cubren los requerimientos. Para este grupo de usuarios hay soluciones basadas en software que están diseñadas específicamente teniendo en cuenta el desempeño en red, la escalabilidad y la flexibilidad.

La más sencilla de estas opciones es NFS la cual permite la conexión de varios clientes con un servidor, estos clientes pueden estar tanto en computadoras como en aplicaciones empotradas como media player o impresoras.

Cuando esta solución no es suficiente se puede optar por GlusterNFS que ya permite la interacción de varios servidores los cuales pueden estar muy separados físicamente.

Las redes de almacenamiento sobre GlusterFS pueden crecer a medida que se colocan servidores, estos ni siquiera deben ser iguales ya que solo importa el espacio en disco que ellos aportan al sistema en su totalidad. Aunque este protocolo está pensado sobre la idea

de crecer y crecer, en la práctica ha demostrado que no lo puede hacer por siempre. No existen muchos informes de escalabilidad por encima del petabyte.

Las aplicaciones que necesiten espacios de terabyte o más no son comunes pero si existen y se pueden encontrar sobre todo en el mundo de las simulaciones y del cálculo científico lo cual tiene especial importancia como se podrá ver en el capítulo siguiente.

Es este caso la solución aconsejada y más usada en el mundo es Ceph. Las nubes de Ceph pueden crecer en teoría y en la práctica sobre valores de petabyte sin perder rendimiento. Esta ventaja por supuesto lleva un costo que debe ser pagado: la cantidad de recursos a emplear en el mantenimiento y la administración es mayor. Esto quiere decir que se deben dedicar servidores con grandes capacidades de CPU y memoria solo para garantizar que toda la arquitectura trabaje, pero el beneficio final sin duda alguna hace que sea un costo soportable.

Definitivamente se puede decir que Ceph es muy escalable, completo y tecnológicamente avanzado. Es una alternativa real a los grandes sistemas de almacenamiento, permitiendo tener implementada una solución que nos ofrezca las mismas características que una red SAN por un coste menor, siendo además más fácil, sencillo y económico de escalar para satisfacer futuras necesidades de almacenado.

Related documents