primeros pasos con ceph · primeros pasos con ceph julio lozano bahilo instituto de física...

7
Primeros pasos con CEPH Julio Lozano Bahilo Instituto de Física Corpuscular U.A.M., Madrid, 17 Octubre 2016

Upload: others

Post on 02-Jun-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Primeros pasos con CEPH · Primeros pasos con CEPH Julio Lozano Bahilo Instituto de Física Corpuscular U.A.M., Madrid, 17 Octubre 2016. ... (block device) $ ceph osd pool create

Primeros pasos con CEPH

Julio Lozano Bahilo

Instituto de Física Corpuscular

U.A.M., Madrid, 17 Octubre 2016

Page 2: Primeros pasos con CEPH · Primeros pasos con CEPH Julio Lozano Bahilo Instituto de Física Corpuscular U.A.M., Madrid, 17 Octubre 2016. ... (block device) $ ceph osd pool create

Madrid, 17-Octubre-2016 Julio Lozano Bahilo 2

1. Características

● CEPH es un sistema de almacenamiento distribuido ...

– escalable. Cualquier componente tiene que ser fácilmente redimensionado

– sin puntos débiles únicos. Todo componente crítico tiene que sobreponerse afallos

– basado en software, abierto y adaptable

– operativo con hardware usual

– fácil de administrar y gestionar (en lo posible)

● CEPH es un sistema basado en

objetos ® independiente de arquitectura

y hardware; permite alcanzar el exabyte

de almacenamiento

● CEPH ofrece una solución unificada:

– servidor de objetos

– almacenamiento en bloques

– sistema de ficheros

Page 3: Primeros pasos con CEPH · Primeros pasos con CEPH Julio Lozano Bahilo Instituto de Física Corpuscular U.A.M., Madrid, 17 Octubre 2016. ... (block device) $ ceph osd pool create

Madrid, 17-Octubre-2016 Julio Lozano Bahilo 3

2. Configuración básica

● CEPH requiere de:

– Monitor: mantiene un mapa de la estructura del cluster en cada momento

– Nodos OSD: albergan los Object Storage Daemons que almacenan los datos,efectúan su replica, su recuperación y el balanceo de carga entre OSDs, etc …Se ejecutan en los servidores de almacenamiento.

– MDS: MetaData Server que se ocupa de los metadatos para el CEPHFilesystem.

– RADOSGW: Gateway que facilita conexiones externas a la red local

● CEPH implementa:

– CRUSH (Controlled Replication Under Scalable Hashing): algoritmo que calculadonde y qué OSD debe almacenar un objeto. Gracias a este algoritmo CEPHpuede reescalarse, balancearse y recuperar datos de forma dinámica.

– RADOS (Reliable Autonomic Distributed Object Store) Block Device (RBD) protocol para acceder a discos distribuidos desde clientes Linux.

– CEPH FS: sistema de fichero POSIX que admite cuotas, pero con algunaslimitaciones.

– API (librados, librbd, libcephfs, librgw): en diversos lenguajes de programaciónpara acceder a CEPH desde clientes (c, c++, python, ...). También una APIRESTful compatible con S3 (Amazon) y Swift (OpenStack)

Page 4: Primeros pasos con CEPH · Primeros pasos con CEPH Julio Lozano Bahilo Instituto de Física Corpuscular U.A.M., Madrid, 17 Octubre 2016. ... (block device) $ ceph osd pool create

Madrid, 17-Octubre-2016 Julio Lozano Bahilo 4

3.a Instalación

1. En un sistema Linux instalamos el paquete ceph-deploy y en un directoriocreado para alojar los ficheros de configuración designamos a esta máquinacomo monitor

$ ceph-deploy new monserver0

2. Instalamos el sistema operativo incluyendo ssh en una serie de servidoresde disco que incluiremos en una misma red local. Habilitamos la conexiónpor ssh sin pwd.

3. Transferimos el software necesario para poder activar cada nodo OSD y elmonitor:

$ ceph-deploy install monserver0 osdserver0osdserver1

4. Habilitamos el monitor

$ ceph-deploy mon create-initial

Page 5: Primeros pasos con CEPH · Primeros pasos con CEPH Julio Lozano Bahilo Instituto de Física Corpuscular U.A.M., Madrid, 17 Octubre 2016. ... (block device) $ ceph osd pool create

Madrid, 17-Octubre-2016 Julio Lozano Bahilo 5

3.b Instalación

5. Creamos los OSDs

$ ceph-deploy disk zap osdserver0:sdb

$ ceph-deploy osd prepare osdserver0:sdb

$ ceph-deploy osd activate osdserver0:sdb

6. Creamos

• bien un pool de réplica con un número adecuado de Placement Groups (facilitan lalocalización de los objetos)

$ ceph osd pool create replicatedpool0 200 200 replicated

• bien un erasure coded pool que es más eficiente en cuanto a consumo de espacioen disco pero requiere más computo

$ ceph osd set erasure-code-profile erasurecodeprofile0 ruleset k=2m=1 –force

$ ceph osd pool create erasurecodedpool 256 256 erasureerasurecodeprofile0

porción de datos

porción de recuperación

Page 6: Primeros pasos con CEPH · Primeros pasos con CEPH Julio Lozano Bahilo Instituto de Física Corpuscular U.A.M., Madrid, 17 Octubre 2016. ... (block device) $ ceph osd pool create

Madrid, 17-Octubre-2016 Julio Lozano Bahilo 6

3.c Instalación

• bien creamos un dispositivo de bloques (block device)

$ ceph osd pool create iscsipool 200 200 replicated

$ rbd -p iscsipool create myimage -size 10240

Creamos con rbd un dispositivo de 10GB. Ahora podemos crearparticiones en el nuevo dispositivo de bloques y un sistema de ficheros.Podremos escribir en él tras asignarlo a un punto de montaje.

Page 7: Primeros pasos con CEPH · Primeros pasos con CEPH Julio Lozano Bahilo Instituto de Física Corpuscular U.A.M., Madrid, 17 Octubre 2016. ... (block device) $ ceph osd pool create

Madrid, 17-Octubre-2016 Julio Lozano Bahilo 7

4. Primeras impresiones

➢ Instalación sencilla

➢ Versatilidad en cuanto a las posibles opciones de almacenamiento

➢ Facilidad para el cliente a la hora de manejar datos (API y otras opciones)

➢ Réplica de ficheros es costosa en términos de espacio; habría que evaluarla opción erasure coded pool en términos de eficiencia de operación.

➢ CEPH FS es una opción que solo ha adquirido el grado de madurez en laúltima versión de CEPH y parece todavía algo limitado

➢ RADOSGW implementa un servicio de acceso remoto con una APIcompatible con S3 y Swift