Ceph Storage Distribuido – Centos 7


Buen dia Gente,

Como estan? En el dia de hoy les voy a contar como crear un Storage Distribuido en Ceph utilizando Centos 7. En este tutorial voy a explicar como generar un cephfs con failover de aproximadamente 20 segundos.


ARQUITECTURA:


Lo primero que vamos a realizar es definir cuestiones propias de arquitecturas:
Segun la documentaciòn oficial de Ceph se recomienda tener 2 redes:


Public Network (En mi caso vlan68 192.168.68.0/24): Utilizada para replicaciòn de datos y conexion de los servidores OSD.


Private Network (En mi caso vlan70 192.168.70.0/24): Utilizada para monitoreo y acceso cliente.

NOTA: La red de monitoreo funciona como quorum del estado del Cluster.



Componentes de Ceph:


OSD: http://docs.ceph.com/docs/master/rados/
MDS: http://docs.ceph.com/docs/master/cephfs/
Monitor: http://docs.ceph.com/docs/master/rados/configuration/mon-config-ref/
Ceph: http://docs.ceph.com/docs/master/rados/


Ceph cuenta con 3 formatos de storage para ser utilizado entre ellos se detallan:.


File system Distribuido : Al igual que un servidor en NFS pero con HA.
Block device: dispositivo por bloques, como tener un disco duro asignado pero distribuido
Object Storage: almacenamiento de objectos estilo – AWS S3

Bueno vamos arrancar con la instalaciòn de nuestro Storage Distrubuido en mi caso voy a utilizar el CEPHFS.


Redes definidas:


Public Network (En mi caso vlan68 192.168.68.0/24)
Private Network (En mi caso vlan70 192.168.70.0/24)


Roles:


Admin Server: Es el encargado de administrar el cluster y ejecutar nuestros comandos.

Deploy Server: Es el servidor que va a deployar el cliente de CEPH en los nodos y instalarlos

OSD: Servidores de Almacenamiento de Datos.

METADATA: El Servidor de Metadatos (MDS) es el encargado de guardar la estructura de directorios y permisos de nuestro FileSystem Distribuido, si bien los datos se almacenan en OSD atraves de Rados, este es el servicio encargado de brindarnos la disponibilidad.

Monitoreo: Servidores encargados de escribir un quorum donde se guardan los datos del estado del cluster.


El 1er paso que debemos realizar es tener 5 servidores centos 7 pre-instalados.(Instalamos los servidores con el hostname que vamos a utilizar en mi caso son cephadm,ceph1,ceph2,ceph3,cephcli)


Servidores:


       cephadm - 192.168.68.200/24 | VLAN 68 Public Network
               - 192.168.70.200/24 | VLAN 70 Private Network
       Rol: Encargado de ser Administrador del Cluster / MDS1(METADATA) / Deploy de Servers


       ceph1 - 192.168.68.201/24 | VLAN 68 Public Network
             - 192.168.70.200/24 | VLAN 70 Private Network
       Rol: OSD(Encargado de Almacenar Datos) y Monitoreo


       ceph2 - 192.168.68.202/24 | VLAN 68 Public Network
             - 192.168.70.200/24 | VLAN 70 Private Network
       Rol: OSD(Encargado de Almacenar Datos) y Monitoreo


       ceph3 - 192.168.68.203/24 | VLAN 68 Public Network
             - 192.168.70.200/24 | VLAN 70 Private Network
       Rol: OSD(Encargado de Almacenar Datos) y MDS2(Metadata)

       cephcli - 192.168.68.210/24 | VLAN 68
       Rol: Cliente Final

**Arrancamos con la Instalaciòn de los servidores ( A EJECUTAR EN TODOS LOS SERVERS) **:

setenforce 0
systemctl stop firewalld
systemctl disable firewalld

En caso de querer Utilizar el Firewalld de Centos debemos obviar los comandos para detener el firewalld y deshabilitarlo.

Y Habilitamos el acceso de estos puertos:

firewall-cmd --add-service=ssh --permanent 
firewall-cmd --reload 
firewall-cmd --add-port=6789/tcp --permanent 
firewall-cmd --reload 
firewall-cmd --add-port=6800-7100/tcp --permanent 
firewall-cmd --reload 

Agregamos nuestros servidores en /etc/hosts para no depender del DNS a la hora de resolver nombres.

echo "192.168.68.200 cephadm
192.168.68.201 ceph1
192.168.68.202 ceph2
192.168.68.203 ceph3
192.168.68.210 cephcli" >> /etc/hosts

Agregamos el Repo de CEPH.

yum -y install epel-release yum-plugin-priorities \
https://download.ceph.com/rpm-jewel/el7/noarch/ceph-release-1-1.el7.noarch.rpm 
sed -i -e "s/enabled=1/enabled=1\npriority=1/g" /etc/yum.repos.d/ceph.repo

Instalamos NTP y lo habilitamos para mantener la hora sincronizada correctamente.

yum -y install ntp
systemctl start ntpd
systemctl enable ntpd

Creamos el usuario cephadm

useradd -d /home/cephadm -m cephadm -s /bin/bash
passwd cephadm
Changing password for user test.
New password: (Password que vamos a utilizar debe ser la misma para todos los nodos.)
Re-type password: (Password que vamos a utilizar debe ser la misma para todos los nodos.)

Agregamos Permisos de administrador a la cuenta cephadm

visudo
cephadm ALL = (root) NOPASSWD:ALL

Terminando de ejecutar los comandos en todos los servers nos logeamos en el server cephadm
login: cephadm
pass: cephadm

Generamos la llave privada, sin introducir contraseñas ni nada. (todo enter)

ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/home/cephadm/.ssh/id_rsa): 
Created directory '/home/cephadm/.ssh'.
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /home/cephadm/.ssh/id_rsa.
Your public key has been saved in /home/cephadm/.ssh/id_rsa.pub.
The key fingerprint is:
7f:36:98:6d:7f:71:dd:6c:9b:0e:50:65:b8:a5:66:4d [email protected]
The key's randomart image is:
+---[RSA 2048]----+
|              .o |
|             .oE |
|             .*  |
|            .= . |
|        S  .o  .o|
|         . +.  .*|
|          + *. .=|
|           + o.o.|
|              oo |
+-----------------+

Copiamos la clave pública SSH del nodo ‘cephadm’ a los otros nodos

ssh-copy-id [email protected]
ssh-copy-id [email protected]
ssh-copy-id [email protected]
ssh-copy-id [email protected]
ssh-copy-id [email protected]

IMPORTANTE AHORA EJECUTAMOS:

cat .ssh/id_rsa.pub > .ssh/authorized_keys && chmod 600 .ssh/authorized_keys

Podemos verificar que tenemos acceso SSH(sin contraseña) y ‘sudo su’ en todos los nodos desde el ceph

[email protected]:~$ ssh [email protected]
[email protected]:~$ sudo su
[email protected]:/home/cephadm#exit

Seguimos trabajando con el usuario ‘cephadm’ EN EL NODO ADMIN

login: cephadm
pass: cephadm

Creamos el archivo config en el directorio .ssh del root :

vi ~/.ssh/config

Dento del archivo añadimos lo siguiente:

Host ceph1
   Hostname ceph1
   User cephadm
Host ceph2
   Hostname ceph2
   User cephadm
Host ceph3
   Hostname ceph3
   User cephadm
Host ceph4
   Hostname ceph4
   User cephadm
Host cephcli
   Hostname cephcli
   User cephadm

IMPORTANTE O EXPLOTA TODO JEJEJ! GUARDAMOS EL ARCHIVO Y LE DAMOS EL SIGUIENTE NIVEL DE ACCESO.

chmod 600 ~/.ssh/config

SEGUIMOS EN EL NODO ADMIN CREAMOS LOS SIGUIENTES DIRECTORIOS CON LA CONFIGURACIN DEL CLUSTER.

EN NODO ADMIN

cd /home/cephadm/
mkdir cluster && cd cluster

Instalamos el Nodo Admin

ceph-deploy new cephadm

Verificamos que se genero la configuraciòn

[email protected]:~/cluster$ ls -lh
total 12K
-rw-r--r-- 1 cephadm cephadm  198 Aug  1 13:41 ceph.conf
-rw-r--r-- 1 cephadm cephadm 3.0K Aug  1 13:41 ceph-deploy-ceph.log
-rw------- 1 cephadm cephadm   73 Aug  1 13:41 ceph.mon.keyring

En este punto editamos nuestras redes publicas y privadas \ copiamos la configuraciòn tal como esta armada

vi ceph.conf

public network = 192.168.68.0/24
cluster network = 192.168.70.0/24

#Choose reasonable numbers for number of replicas and placement groups.
osd pool default size = 2 # Write an object 2 times
osd pool default min size = 1 # Allow writing 1 copy in a degraded state
osd pool default pg num = 256
osd pool default pgp num = 256

#Choose a reasonable crush leaf type
#0 for a 1-node cluster.
#1 for a multi node cluster in a single rack
#2 for a multi node, multi chassis cluster with multiple hosts in a chassis
#3 for a multi node cluster with hosts across racks, etc.
osd crush chooseleaf type = 1

Lanzamos la instalación de ceph en todos los nodos del cluster.

ceph-deploy install cephadm ceph1 ceph2 ceph3 cephcli

Instalamos el monitorizador en el nodo ‘cephadm’

ceph-deploy mon create-initial

Podemos ver como tenemos mas archivos de configuración y claves en el directorio de trabajo

[email protected]:~/cluster$ ls -lh
total 308K
-rw------- 1 cephadm cephadm   71 Aug  1 20:28 ceph.bootstrap-mds.keyring
-rw------- 1 cephadm cephadm   71 Aug  1 20:28 ceph.bootstrap-osd.keyring
-rw------- 1 cephadm cephadm   71 Aug  1 20:28 ceph.bootstrap-rgw.keyring
-rw------- 1 cephadm cephadm   63 Aug  1 20:28 ceph.client.admin.keyring
-rw-r--r-- 1 cephadm cephadm  198 Aug  1 13:41 ceph.conf
-rw-r--r-- 1 cephadm cephadm 274K Aug  1 20:28 ceph-deploy-ceph.log
-rw------- 1 cephadm cephadm   73 Aug  1 13:41 ceph.mon.keyring
-rw-r--r-- 1 root    root    1.7K Oct 15  2015 release.asc

Ahora ya tenemos los paquetes de Ceph instalados en todos los nodos y el monitorizador preparado. Seguidamente vamos a añadir los discos extras (/dev/sdb) de cada nodo OSD al clúster.

Primero analizaremos los discos que hay en el nodo ceph1 donde veremos que el /dev/sda está particionado y corresponde al sistema operativo y /dev/sdb no contiene particiones y es el disco que vamos a utilizar para el clúster Ceph.

Listar informaciòn de discos

[email protected]:~/cluster$ ceph-deploy disk list ceph1

AHORA AÑADIMOS EL DISCO A CADA UNA DE LAS VIRTUALES OSD EN MI CASO VOY AÑADIR UN DISCO de 500GB A CADA NODO OSD.

AÑADIMOS EL DISCO Y LUEGO.

AÑADIR DISCOS A LA VIRTUAL Y LUEGO EJECUTAMOS LO SIGUIENTE:

ceph-deploy disk zap ceph1:sdb
ceph-deploy disk zap ceph2:sdb
ceph-deploy disk zap ceph3:sdb
ceph-deploy --overwrite-conf osd prepare ceph1:sdb
ceph-deploy --overwrite-conf osd prepare ceph2:sdb
ceph-deploy --overwrite-conf osd prepare ceph3:sdb
ceph-deploy osd activate ceph1:sdb1
ceph-deploy osd activate ceph2:sdb1
ceph-deploy osd activate ceph3:sdb1

Seguimos, vamos a copiar los archivos de configuración en todos los nodos y poner los permisos correctos a la clave privada.

[email protected]:~/cluster$ ceph-deploy admin cephadm ceph1 ceph2 ceph3 cephcli
[email protected]:~/cluster$ sudo chmod +r /etc/ceph/ceph.client.admin.keyring
[email protected]:~/cluster$ ssh [email protected] "sudo chmod +r /etc/ceph/ceph.client.admin.keyring"
[email protected]:~/cluster$ ssh [email protected] "sudo chmod +r /etc/ceph/ceph.client.admin.keyring"
[email protected]:~/cluster$ ssh [email protected] "sudo chmod +r /etc/ceph/ceph.client.admin.keyring"
[email protected]:~/cluster$ ssh [email protected] "sudo chmod +r /etc/ceph/ceph.client.admin.keyring"

CEPH FILESYSTEM – LEER ANTE DE EJECUTAR!!!

Solo si vamos a usar Ceph Filesystem necesitamos un servidor de Metadatos, para ello lo instalaremos en el mismo servidor de monitorización cephadm.

Instalamos Ceph Metadata Server MDS para File SystemShell

[email protected]:~/cluster$ ceph-deploy mds create cephadm
[email protected]:~/cluster$ ceph mds stat
e2:, 1 up:standby

CEPH OBJECT STORE – LEER ANTES DE EJECUTAR!!!

Solo si vamos a usar Ceph Object Gateway necesitamos un RGW (Radow Geteway), para ello lo instalaremos en el mismo servidor de monitorización cephadm.

[email protected]:~/cluster$ ceph-deploy rgw create cephadm

Ahora ya podemos ver desde el nodo monitor cephadm el estado del clúster.

[email protected]:~/cluster$ ceph -s
[email protected]:~/cluster$ ceph osd tree

Añadir puntos de montajee FSTAB en los nodos por si se reinicia para q monte el disco – EJECUTAR EN ALL OSD NODES

NODO1

r[email protected]:~/$ RES=`mount | grep osd | awk '{print $3}'`; echo "/dev/sdb1 $RES  xfs rw,noatime,attr2,inode64,noquota        0       0" >> /etc/fstab

NODO2

[email protected]:~/$ RES=`mount | grep osd | awk '{print $3}'`; echo "/dev/sdb1 $RES  xfs rw,noatime,attr2,inode64,noquota        0       0" >> /etc/fstab

NODO3

[email protected]:~/$ RES=`mount | grep osd | awk '{print $3}'`; echo "/dev/sdb1 $RES  xfs rw,noatime,attr2,inode64,noquota        0       0" >> /etc/fstab

Revisamos que tenemos servidor de Metadatos

[email protected]:~/cluster$ ceph fs ls
No filesystems enabled
[email protected]:~/cluster$ ceph mds stat
e4:, 1 up:standby
[email protected]:~/cluster$ ceph osd lspools
0 rbd,

Ahora ya podemos crear un nuevo File system. Dependiendo de los OSD indicaremos un valor u otro de pg_num (Placement group), en nuestros ejemplos tenemos 3 OSD, con lo cual usaremos el valor 128.

http://docs.ceph.com/docs/master/rados/operations/placement-groups/#a-preselection-of-pg-num

Segun la documentaciòn oficial estos son los valores aproximados tambien tienen una calculadora:

Less than 5 OSDs set pg_num to 128
Between 5 and 10 OSDs set pg_num to 512
Between 10 and 50 OSDs set pg_num to 1024
If you have more than 50 OSDs, you need to understand the tradeoffs and how to calculate the pg_num value by yourself
For calculating pg_num value by yourself please take help of pgcalc tool

EXAMPLE: ceph osd pool create {pool-name} pg_num


Creamos el OSD POOL

[email protected]:~/cluster$ ceph osd pool create cephfs_datos 128
pool 'cephfs_datos' created
[email protected]:~/cluster$ ceph osd pool create cephfs_metadatos 128
pool 'cephfs_metadatos' created
[email protected]:~/cluster$ ceph osd lspools
0 rbd,1 cephfs_datos,2 cephfs_metadatos,
[email protected]:~/cluster$ ceph osd dump
epoch 105
fsid 20579a1d-4dec-49a8-8f44-f28f68a3a77f
created 2016-08-11 23:57:08.666011
modified 2016-08-12 19:37:11.271108
flags sortbitwise
pool 0 'rbd' replicated size 3 min_size 2 crush_ruleset 0 object_hash rjenkins pg_num 64 pgp_num 64 last_change 96 flags hashpspool stripe_width 0
 removed_snaps [1~3]
pool 1 'cephfs_datos' replicated size 3 min_size 2 crush_ruleset 0 object_hash rjenkins pg_num 128 pgp_num 128 last_change 102 flags hashpspool stripe_width 0
pool 2 'cephfs_metadatos' replicated size 3 min_size 2 crush_ruleset 0 object_hash rjenkins pg_num 128 pgp_num 128 last_change 104 flags hashpspool stripe_width 0
max_osd 4
osd.0 up in weight 1 up_from 99 up_thru 104 down_at 97 last_clean_interval [83,98) 192.168.8.101:6800/501 192.168.8.101:6804/1000501 192.168.8.101:6805/1000501 192.168.8.101:6806/1000501 exists,up a0bea96f-6a0a-47c4-b854-55257248456a
osd.1 up in weight 1 up_from 85 up_thru 104 down_at 79 last_clean_interval [73,78) 192.168.8.102:6800/498 192.168.8.102:6801/498 192.168.8.102:6802/498 192.168.8.102:6803/498 exists,up dd835a7c-f2f6-47cc-9626-786ea956585e
osd.2 up in weight 1 up_from 92 up_thru 104 down_at 90 last_clean_interval [87,89) 192.168.8.103:6800/505 192.168.8.103:6801/505 192.168.8.103:6802/505 192.168.8.103:6803/505 exists,up 3b878d89-c9f1-4cfb-8e1c-44f70dd6b9d3
osd.3 up in weight 1 up_from 92 up_thru 104 down_at 77 last_clean_interval [74,76) 192.168.8.104:6800/501 192.168.8.104:6801/501 192.168.8.104:6802/501 192.168.8.104:6803/501 exists,up 017d0973-8aab-4359-871c-509f0a4b59df
 ```
 ```
[email protected]:~/cluster$ ceph fs new cephfs cephfs_datos cephfs_metadatos
new fs with metadata pool 1 and data pool 2
 ```
 ```
[email protected]:~/cluster$ ceph fs ls
name: cephfs, metadata pool: cephfs_datos, data pools: [cephfs_metadatos ]

[email protected]:~/cluster$ ceph mds stat
e7: 1/1/1 up {0=cephadm=up:active} ```

AHORA YA ESTAMOS PREPARADOS PARA MONTAR NUESTRO FILESYSTEM DISTRIBUIDO

AGREGAR LOS CLIENTES EN LOS SERVERS DE CEPH y EN LOS SERVERS DE CEPH LOS CLIENTES

CREAR USUARIO CEPH CON CLAVE Y CONTRASEÑA EN TODOS LOS NODOS CLIENTES

EXAMPLE AGREGAR CLIENTES EN SERVERS DE CEPH ( EN TODOS LOS SERVERS):

echo "192.168.68.10 kube1
192.168.68.11 kube2
192.168.68.12 kube3
192.168.68.50 kube-lb
192.168.68.20 minion1
192.168.68.21 minion2
192.168.68.22 minion3" >> /etc/hosts

EXAMPLE EN CLIENTE:

echo "192.168.68.200 cephadm
192.168.68.201 ceph1
192.168.68.202 ceph2
192.168.68.203 ceph3
192.168.68.210 cephcli" >> /etc/hosts

AGREGAMOS EL REPO CEPH EN TODOS LOS CLIENTES

yum -y install epel-release yum-plugin-priorities \
https://download.ceph.com/rpm-jewel/el7/noarch/ceph-release-1-1.el7.noarch.rpm 
sed -i -e "s/enabled=1/enabled=1\npriority=1/g" /etc/yum.repos.d/ceph.repo
useradd -d /home/cephadm -m cephadm -s /bin/bash
passwd cephadm
visudo
     cephadm ALL = (root) NOPASSWD:ALL
firewall-cmd --add-service=ssh --permanent 
firewall-cmd --reload 
firewall-cmd --add-port=6789/tcp --permanent 
firewall-cmd --reload 
firewall-cmd --add-port=6800-7100/tcp --permanent 
firewall-cmd --reload 

AHORA VOLVEMOS AL CEPHADM

# Hacemos login con el usuario 'cephadm'
login cephadm
pass: cephadm

Copiamos la clave pública SSH del nodo ‘cephadm’ a los otros nodos

ssh-copy-id [email protected]
ssh-copy-id [email protected]
ssh-copy-id [email protected]
ssh-copy-id [email protected]
ssh-copy-id [email protected]

Añadimos al archivo del CEPHADMIN LOS CLIENTES NUEVOS:

vi ~/.ssh/config

#AGREGAMOS A LO Q YA TENEMOS! SIN BORRAR NADA

Host kube1
   Hostname kube1
   User cephadm
Host kube2
   Hostname kube2
   User cephadm
Host kube3
   Hostname kube3
   User cephadm
Host minion1
   Hostname minion1
   User cephadm
Host minion2
   Hostname minion2
   User cephadm

INSTALAMOS CEPH CLIENT

ceph-deploy install kube1 kube2 kube3 minion1 minion2

COPIAMOS ARCHIVOS DE CONFIGURACION NECESARIOS

ceph-deploy admin kube1 kube2 kube3 minion1 minion2

sudo chmod +r /etc/ceph/ceph.client.admin.keyring
“`

ssh [email protected] "sudo chmod +r /etc/ceph/ceph.client.admin.keyring"
ssh [email protected] "sudo chmod +r /etc/ceph/ceph.client.admin.keyring"
ssh [email protected] "sudo chmod +r /etc/ceph/ceph.client.admin.keyring"
ssh [email protected] "sudo chmod +r /etc/ceph/ceph.client.admin.keyring"
ssh [email protected] "sudo chmod +r /etc/ceph/ceph.client.admin.keyring"

CEPHADMIN!! OBTENER LA CLAVE PARA PODER MONTAR EN LOS CLIENTES

ceph auth get client.admin

DESDE CLIENTE!!! EN LOS CLIENTES DEBEMOS MONTAR NUESTRO FILESYSTEM DISTRIBUIDO – DIRECCION DE NODO MDS (FYLESYSTEM)

mount | grep ceph

mkdir -p /mnt/cephfs

mount -t ceph 192.168.68.200:6789:/ /mnt/cephfs -o name=admin,secret=AQDYNmBZ8z4iAxAAiJhfTHMyLcjj4sO7RmB2jg==

mount | grep ceph

YA TENEMOS NUESTRO ALMACENAMIENTO DISTRIBUIDO MONTADO EN EL CLIENTE!!

MEJORANDO LA ARQUITECTURA DE NUESTRA INFRA:

1- Vamos añadir mas nodos de monitoreo – YA QUE FUNCIONAN COMO QUORUM DEL ESTADO DEL CLUSTER.

PUEDE QUE UNO DE ESTOS COMANDOS LES TIRE ERROR CONTINUEN CON EL OTRO.

ceph-deploy mon create ceph1 ceph2 ceph3
ceph-deploy mon initial add ceph1 ceph2 ceph3
ceph-deploy mon initial members
ceph-deploy mon add ceph1 
ceph-deploy mon add ceph2
ceph-deploy mon add ceph3

CHEKEAMOS EL QUORUM

ceph quorum_status

CHEKEAMOS EL ESTADO DEL CLUSTER

ceph health
ceph df
ceph -s
ceph mon_status
ceph mds stat

AGREGAR UN NUEVO MDS COMO STANBY FAILOVER FUNCIONA ACTIVO/PASIVO (YA QUE EL ACTIVO/ACTIVO ES EXPERIMENTAL)

ceph-deploy mds create ceph3 cephadm

LOS DATOS SE GUARDAN EN RADOS ( O SEA EN LOS OSD / PERO EL MDS ES EL ENCARGADO DE TENER LA CONFIGURACION DE PERMISOS Y ESTRUCTURA DE DIRECTORIOS )

rados lspools

REVISAMOS QUE EL 1RO ES EL PRINCIPAL / AHORA VOY APAGAR EL SERVER CEPh3

ceph mds stat
e13: 1/1/1 up {0=ceph3=up:active}, 1 up:standby

APAGAMOS EL SERVIDOR CEPH3 y AUTOMATICAMENTE VEMOS QUE CAMBIO EL OWNER DE LA METADATA

[[email protected] cluster]$ ceph mds stat
e13: 1/1/1 up {0=ceph3=up:active}, 1 up:standby

[[email protected] cluster]$ ceph mds stat
e16: 1/1/1 up {0=cephadm=up:reconnect}

[[email protected] cluster]$ ceph mds stat
e18: 1/1/1 up {0=cephadm=up:active}

VUELVO A PRENDER EL SERVER CEPH3 Y VEMOS QUE TENEMOS NUEVAMENTE UN SERVER EN STANBY PRERADO PARA SER FAILOVER SI SE CAE

ceph mds stat
e19: 1/1/1 up {0=cephadm=up:active}, 1 up:standby

AUTOMONTAJE

vi /root/ceph.sh
#!/bin/bash
ceph-fuse /mnt/cephfs/
echo "SCRIPT CARGADO CON EXITO!!! CEPH MONTADO" >> /root/mount.txt
chmod 777 ceph.sh
./ceph.sh
chmod +x /etc/rc.d/rc.local

AGREGAMOS EN LA ULTIMA EL SCRIPT CREADO SOLAMENTE EL PATH

echo "/root/ceph.sh" >> /etc/rc.d/rc.local

OTORGAMOS PERMISO AL SCRIPT!

chmod +x /root/ceph.sh

LES DEJO UN SCRIPT PARA EJECUTARLO DE MANERA AUTOMATICA YA QUE DEBEN HACERLO EN TODOS LOS CLIENTES.

vi mount.sh
#!/bin/bash
echo "#!/bin/bash
ceph-fuse /mnt/cephfs/
echo "SCRIPT CARGADO CON EXITO!!! CEPH MONTADO" >> /root/mount.txt" >> /root/ceph.sh
chmod +x /etc/rc.d/rc.local
echo "/root/ceph.sh" >> /etc/rc.d/rc.local
chmod +x /root/ceph.sh

LO EJECUTAMOS Y LISTO YA TENEMOS NUESTRO ALMACENAMIENTO CON AUTOMONTAJE – SI EN ALGUN MOMENTO SE CAE UN SERVER DE METADATOS EN 25 SEGUNDOS APROXIMADAMENTE YA ESTA ACCESIBLE NUEVAMENTE.
EN BASE A LA DISPONIBILIDAD DE LOS DATOS LOS MISMOS SE GUARDAN EN OSD USANDO RADOS COMO FILESYSTEM DE LOS DISCOS.

chmod 777 mount.sh
./mount.sh

RADOS:


Les envio un saludo!! y espero que lo puedan utilizar –
Este articulo fue adaptado para CENTOS7 en base a varios articulos de CEPH

ESPERO QUE LO DISFRUTEN!! SALUDOS!!

Agradecimientos y Lista de Articulos utilizados:

Como usar un clúster de storage distribuido con Ceph. Dispositivos por bloques (Block device)


https://pilasguru.gitbooks.io/comandos-de-ceph/content/03cephfs.html
http://docs.ceph.com/docs/master/start/quick-start-preflight/#rhel-centos

Zimbra: Almacenamiento asequible con Ceph

Dejar un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Conoce cómo se procesan los datos de tus comentarios.