Guía rápida para instalar y configurar el clúster Ceph (almacenamiento distribuido) en CentOS 7

Ceph es una solución gratuita y de código abierto de almacenamiento distribuido a través de la cual podemos proporcionar y gestionar fácilmente almacenamiento en bloque, almacenamiento de objetos y almacenamiento de archivos. La solución de almacenamiento Ceph puede ser utilizada en la infraestructura tradicional de TI para proporcionar el almacenamiento centralizado, además de esto también se utiliza en la nube privada ( OpenStack & Cloudstack ). En Red Hat OpenStack Ceph se utiliza como backend de ceniza.

Install-Configure-Ceph-Cluster-CentOS7 (tag)

En este artículo, demostraremos cómo instalar y configurar Ceph Cluster(Mimic) en servidores CentOS 7.

En Ceph Cluster los siguientes son los principales componentes:

  • Monitores (ceph-mon) : Como su nombre indica, los nodos de un monitor ceph vigilan el estado del clúster, el mapa OSD y el mapa Crush
  • OSD ( Ceph-osd) : Son los nodos que forman parte del cluster y proporcionan funcionalidades de almacenamiento, replicación y recuperación de datos. OSD también proporciona información para monitorear los nodos.
  • MDS (Ceph-mds) : Es un servidor de metadatos ceph y almacena los metadatos de los sistemas de ficheros ceph como almacenamiento en bloque.
  • Nodo de Despliegue Ceph : Se utiliza para desplegar el cluster Ceph, también llamado nodo Ceph-admin o Ceph-utility.

Detalles de configuración de My Lab:

  • Nodo de implementación Ceph : (CentOS 7 mínimo, RAM: 4 GB, vCPU: 2, IP: 192.168.1.30, Nombre de host: ceph-controller)
  • OSD o Ceph Compute 1 : (Mínimo CentOS 7, RAM: 10 GB, vCPU: 4, IP: 192.168.1.31, Nombre de host: ceph-compute01)
  • OSD o Ceph Compute 2 : (Mínimo CentOS 7, RAM: 10 GB, vCPU: 4, IP: 192.168.1.32, Nombre de host: ceph-compute02)
  • Ceph Monitor : (Mínimo CentOS 7, RAM: 10 GB, vCPU: 4, IP: 192.168.1.33, Nombre de host: ceph-monitor)

Nota: En todos los nodos hemos adjuntado dos nics (eth0 & eth1), en eth0 se asigna una IP desde la VLAN 192.168.1.0/24. En eth1 IP de la VLAN 192.168.122.0/24 está asignado y proporcionará el acceso a Internet.

Pasemos a los pasos de instalación y configuración:

Paso:1) Actualizar el archivo /etc/hosts, NTP, Crear Usuario y Desactivar SELinux en todos los Nodos

Añada las siguientes líneas en el fichero /etc/hosts de todos los nodos para poder acceder a estos nodos también a través de su nombre de host.

192.168.1.30 ceph-controller
192.168.1.31 ceph-compute01
192.168.1.32 ceph-compute02
192.168.1.33 monitor cefálico 

Configure todos los nodos Ceph con el servidor NTP para que todos los nodos tengan la misma hora y no haya deriva en el tiempo,

~]# yum install ntp ntp ntpdate ntp-doc -y
~]# ntpdate europe.pool.ntp.org
# systemctl start ntpd
~]# systemctl enable ntpd

Cree un usuario con el nombre » cephadm » en todos los nodos y utilizaremos este usuario para el despliegue y configuración del ceph

Ahora asigne derechos de administrador al usuario cephadm vía sudo, ejecute los siguientes comandos,

~]# echo "cephadm ALL = (root) NOPASSWD:ALL" | Subtítulos por aRGENTeaM
~]# chmod 0440 /etc/sudoers.d/cephadm

Deshabilite SELinux en todos los nodos usando el comando sed, incluso el sitio oficial de ceph recomienda deshabilitar SELinux ,

>

Reinicie todos los nodos ahora usando el comando debajo,

~]# reiniciar 

Paso:2 Configurar la autenticación sin contraseña desde el administrador de Ceph a todos los nodos OSD y de monitorización

Desde el nodo Ceph-admin usaremos la utilidad » ceph-deploy «, que se conectará a cada uno de los nodos cephh e instalará el paquete cephh y hará todas las configuraciones necesarias. Al acceder al nodo Ceph no nos pedirá que introduzcamos las credenciales de los nodos ceph, por lo que tuvimos que configurar la autenticación sin contraseña o basada en claves desde el nodo ceph-admin a todos los nodos ceph.

Ejecute los siguientes comandos como usuario de cephadm desde el nodo Ceph-admin (ceph-controller). Deje la frase de contraseña como vacía.

[cephadm@ceph-controller ~]$ ssh-keygen
Generación del par de claves rsa público/privado.
Introduzca el archivo en el que desea guardar la clave (/home/cephadm/.ssh/id_rsa):
Directorio creado ‘/home/cephadm/.ssh’.
Introduzca una frase de paso (vacía para no tener ninguna frase de paso):
Vuelva a introducir la misma frase de contraseña:
Su identificación se ha guardado en /home/cephadm/.ssh/id_rsa.
Su clave pública se ha guardado en /home/cephadm/.ssh/id_rsa.pub.
La huella digital clave es:
93:01:16:8a:67:34:2d:04:17:20:94:ad:0a:58:4f:8a cephadm@ceph-controller
La imagen aleatoria de la clave es:
+–[ RSA 2048]—-++
|O. =+*o+. |
| o.=o+… |
|.oo+++. . |
|E…o. o |
|o S |
|. . |
| |
| |
| |
+—————–+
cephadm@ceph-controller ~]$

Ahora copie las claves de todos los nodos ceph usando el comando ssh-copy-id

[cephadm@ceph-controller ~]$ ssh-copy-id cephadm@ceph-compute01
cephadm@ceph-controller ~]$ ssh-copy-id cephadm@ceph-compute02
cephadm@ceph-controller ~]$ ssh-copy-id cephadm@ceph-monitor

Se recomienda añadir lo siguiente en el archivo «~/.ssh/config»

[cephadm@ceph-controller ~]$ vi ~/.ssh/config
Host ceph-compute01
Nombre de host ceph-compute01
Usuario cephadm
Host ceph-compute02
Nombre de host ceph-compute02
Usuario cephadm
Anfitrión ceph-monitor
Nombre de host ceph-monitor
Usuario cephadm>

Guarde y salga del archivo.

cephadm@ceph-controller ~]$ chmod 644 ~/.ssh/config
cephadm@ceph-controller ~]$

Nota: En el comando anterior, sustituya el nombre de usuario y el nombre de host que mejor se adapten a su configuración.

Paso:3) Configurar reglas de firewall para OSD y nodos de monitorización

En caso de que el firewall del sistema operativo esté habilitado y se esté ejecutando en todos los nodos cefálicos, necesitamos configurar las siguientes reglas del firewall, de lo contrario puede omitir este paso.

En el nodo Ceph-admin, configure las siguientes reglas del cortafuegos usando los comandos,

[cephadm@ceph-controller ~]$ firewall sudo-cmd –zone=public –add-port=80/tcp –permanente
triunfo
cephadm@ceph-controller ~]$ sudo firewall-cmd –zone=public –add-port=2003/tcp –permanent
triunfo
cephadm@ceph-controller ~]$ sudo firewall-cmd –zone=public –add-port=4505-4506/tcp –permanente
triunfo
cephadm@ceph-controller ~]$ sudo firewall-cmd –reload
triunfo
cephadm@ceph-controller ~]$

Inicie sesión en el OSD o Ceph Compute Nodes y configure las reglas del firewall usando el comando firewall-cmd,

[cephadm@ceph-compute01 ~]$ sudo firewall-cmd –zone=public –add-port=6800-7300/tcp –permanente
triunfo
cephadm@ceph-compute01 ~]$ sudo firewall-cmd –reload
triunfo
[cephadm@ceph-compute01 ~]$
cephadm@ceph-compute02 ~]$ sudo firewall-cmd –zone=public –add-port=6800-7300/tcp –permanente
triunfo
cephadm@ceph-compute02 ~]$ sudo firewall-cmd –reload
triunfo
cephadm@ceph-compute02 ~]$

Inicie sesión en el nodo Ceph Monitor y ejecute el comando firewalld para configurar las reglas del firewall,

Paso:4) Instalar y configurar Ceph Cluster desde el nodo Ceph Admin

Inicie sesión en su nodo Ceph-admin como usuario de «cephadm» y active la última versión del repositorio de Ceph yum. En el momento de escribir este artículo, Mimic es la última versión de Ceph,

[cephadm@ceph-controller ~]$ sudo rpm -Uvh http://download.ceph.com/rpm-mimic/el7/noarch/ceph-release-1-1.el7.noarch.rpm

Habilitar también el repositorio EPEL,

Instale la utilidad Ceph-deploy usando el siguiente comando yum,

Crear un directorio con el nombre » ceph_cluster «, este directorio tendrá todas las configuraciones del Cluster

[cephadm@ceph-controller ~]$ mkdir ceph_cluster
cephadm@ceph-controller ~]$ cd ceph_cluster/
cephadm@ceph-controller ceph_cluster]$

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>)))

Ahora generamos la configuración del cluster ejecutando la utilidad ceph-deploy en el nodo ceph-admin, estamos registrando el nodo ceph-monitor como nodo de monitorización en el cluster ceph. La utilidad Ceph-deploy también generará » ceph.conf » en el directorio de trabajo actual.

>.

La salida del comando de arriba sería algo así como abajo:

cephloy-new-command-output

Actualizar la dirección de red (red pública) bajo la directiva global en el archivo ceph.conf , Aquí la red pública es la red en la que los nodos Ceph se comunicarán entre sí y el cliente externo también utilizará esta red para acceder al almacenamiento ceph,

Guarde y salga del archivo.

Ahora instale ceph en todos los nodos del nodo ceph-admin, ejecute el comando » ceph-deploy install «

>

El comando anterior instalará ceph junto con otras dependencias automáticamente en todos los nodos, puede tomar algún tiempo dependiendo de la velocidad de Internet en los nodos ceph.

La salida del comando de salida » ceph-deploy install » de arriba sería algo así como la siguiente:

Ceph-Deploy-Install-Command-output

Ejecute el comando » ceph-deploy mon create-initial » desde el nodo ceph-admin, desplegará los monitores iniciales y recogerá las claves.

Ejecute el comando » ceph-deploy admin » para copiar el archivo de configuración del nodo ceph-admin a todos los nodos ceph para poder utilizar el comando ceph cli sin especificar la dirección del monitor.

Instale el demonio Manager daemon desde el nodo Ceph-admin en Ceph Compute Nodes (OSD) usando el siguiente comando

Paso:5) Añadir discos OSD al cluster

En mi configuración he adjuntado dos discos /dev/vdb & /dev/vdc en ambos nodos de cálculo, usaré estos cuatro discos de nodos de cálculo como disco OSD.

Verifiquemos si la utilidad ceph-deploy puede ver estos discos o no. Ejecute el comando » ceph-deploy disk list » desde el nodo ceph-admin,

Salida del comando anterior:

ceph-deploy-disk-list-command-output

Nota: Asegúrese de que estos discos no se utilizan en ninguna parte y no contienen ningún dato

Para limpiar y eliminar datos de los discos, utilice los siguientes comandos

Ahora marque estos discos como OSD usando los siguientes comandos

Paso:6) Verificar el estado del cúmulo Ceph

Verifique el estado de su clúster Ceph usando » ceph health » & ceph -s «, ejecute estos comandos desde el nodo monitor

[root@ceph-monitor ~]# ceph health
SALUD_OK
[root@ceph-monitor ~]#
[root@ceph-monitor ~]# ceph -s
racimo:
id: 4f41600b-1c5a-4628-a0fc-2d8e7c091aaa7
salud: SALUD_OK
servicios:
mon: 1 daemons, quorum ceph-monitor
mgr: ceph-compute01(active), standbys: ceph-compute02
osd: 4 osds: 4 arriba, 4 adentro
datos:
piscinas: 0 piscinas, 0 pgs
objetos: 0 objetos, 0 B
uso: 4.0 GiB utilizado, 76 GiB / 80 GiB disponible
pgs:
[root@ceph-monitor ~]#>

Como podemos ver en la salida anterior que la salud del ceph cluster está bien y tenemos 4 OSDs, todos estos OSDs están activos, aparte de esto podemos ver que tienen 80 GB de espacio en disco disponible en nuestro cluster.

Esto confirma que hemos instalado y configurado con éxito Ceph Cluster en el sistema CentOS 7, si estos pasos le ayudan a instalar ceph en su entorno, por favor comparta sus comentarios y sugerencias.

En el próximo artículo discutiremos cómo asignar el almacenamiento en bloque del clúster Ceph a los clientes y veremos cómo el cliente puede acceder al almacenamiento en bloque.

Rate this post

Deja un comentario

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