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 cephad[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
[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:
http://www.administrosistemas.com/2016/08/03/como-usar-un-cluster-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
https://www.jorgedelacruz.es/2014/08/14/zimbra-almacenamiento-asequible-con-ceph/
Supongo que hay un error de transcripción, y cuando te refieres a red PUBLICA es la de los clientes, y la PRIVADA la del cluster (según la imagen que ofreces).
Genial el articulo por lo demás! Felicidades
Exacto la red publica es la de los clientes en este caso.