Download Primeros pasos con CEPH

Document related concepts
no text concepts found
Transcript
Primeros pasos con CEPH
Julio Lozano Bahilo
Instituto de Física Corpuscular
U.A.M., Madrid, 17 Octubre 2016
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 a
fallos
–
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
Madrid, 17-Octubre-2016
Julio Lozano Bahilo
2
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 CEPH
Filesystem.
–
RADOSGW: Gateway que facilita conexiones externas a la red local
CEPH implementa:
–
CRUSH (Controlled Replication Under Scalable Hashing): algoritmo que calcula
donde y qué OSD debe almacenar un objeto. Gracias a este algoritmo CEPH
puede 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 algunas
limitaciones.
–
API (librados, librbd, libcephfs, librgw): en diversos lenguajes de programación
para acceder a CEPH desde clientes (c, c++, python, ...). También una API
RESTful compatible con S3 (Amazon) y Swift (OpenStack)
Madrid, 17-Octubre-2016
Julio Lozano Bahilo
3
3.a Instalación
1. En un sistema Linux instalamos el paquete ceph-deploy y en un directorio
creado para alojar los ficheros de configuración designamos a esta máquina
como monitor
$ ceph-deploy new monserver0
2. Instalamos el sistema operativo incluyendo ssh en una serie de servidores
de disco que incluiremos en una misma red local. Habilitamos la conexión
por ssh sin pwd.
3. Transferimos el software necesario para poder activar cada nodo OSD y el
monitor:
$ ceph-deploy install monserver0 osdserver0
osdserver1
4. Habilitamos el monitor
$ ceph-deploy mon create-initial
Madrid, 17-Octubre-2016
Julio Lozano Bahilo
4
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 la
localizació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 espacio
en disco pero requiere más computo
$ ceph osd set erasure-code-profile erasurecodeprofile0 ruleset k=2
m=1 –force
$ ceph osd pool create erasurecodedpool 256 256 erasure
erasurecodeprofile0
porción de datos
porción de recuperación
Madrid, 17-Octubre-2016
Julio Lozano Bahilo
5
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 crear
particiones en el nuevo dispositivo de bloques y un sistema de ficheros.
Podremos escribir en él tras asignarlo a un punto de montaje.
Madrid, 17-Octubre-2016
Julio Lozano Bahilo
6
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 evaluar
la 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 API
compatible con S3 y Swift
Madrid, 17-Octubre-2016
Julio Lozano Bahilo
7