GNU/Linux >> Tutoriales Linux >  >> Cent OS

Guía rápida para instalar y configurar Ceph Cluster en CentOS 7

Cef es almacenamiento distribuido gratuito y de código abierto solución a través de la cual podemos proporcionar y administrar fácilmente el almacenamiento de bloques, el almacenamiento de objetos y el almacenamiento de archivos. La solución de almacenamiento de Ceph se puede utilizar en la infraestructura de TI tradicional para proporcionar el almacenamiento centralizado, además de esto, también se utiliza en la nube privada (OpenStack &pila de nubes ). En Red Hat, OpenStack Ceph se usa como backend de cinder.

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

En Ceph Cluster, los siguientes son los componentes principales:

  • Monitores (ceph-mon) :como sugiere el nombre, los nodos de un monitor ceph vigilan el estado del clúster, el mapa OSD y el mapa Crush
  • OSD (Ceph-OSD) :Estos son los nodos que forman parte del clúster y proporcionan funcionalidades de almacenamiento de datos, replicación de datos y recuperación. OSD también proporciona información para monitorear nodos.
  • MDS (Ceph-mds) :es un servidor de metadatos ceph y almacena los metadatos de los sistemas de archivos ceph como almacenamiento en bloque.
  • Nodo de implementación de Ceph :se utiliza para implementar el clúster de Ceph, también se denomina nodo Ceph-admin o Ceph-utility.

Detalles de configuración de mi laboratorio:

  • Nodo de implementación de 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 :(CentOS 7 mínimo, RAM:10 GB, vCPU:4, IP:192.168.1.31, nombre de host:ceph-compute01)
  • OSD o Ceph Compute 2 :(CentOS 7 mínimo, RAM:10 GB, vCPU:4, IP:192.168.1.32, nombre de host:ceph-compute02)
  • Monitor cefalométrico :(CentOS 7 mínimo, RAM:10 GB, vCPU:4, IP:192.168.1.33, nombre de host:ceph-monitor)

Nota: En todos los nodos tenemos adheridos dos nics (eth0 ð1), en eth0 se asigna la IP de la VLAN 192.168.1.0/24. En eth1, se asigna la IP de VLAN 192.168.122.0/24 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 deshabilitar SELinux en todos los nodos

Agregue las siguientes líneas en el archivo /etc/hosts de todos los nodos para que también se pueda acceder a estos nodos 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    ceph-monitor

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

~]# yum install 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 usaremos este usuario para la implementación y configuración de ceph

~]# useradd cephadm && echo "[email protected]#" | passwd --stdin cephadm

Ahora asigne derechos de administrador al usuario cephadm a través de sudo, ejecute los siguientes comandos,

~]# echo "cephadm ALL = (root) NOPASSWD:ALL" | sudo tee /etc/sudoers.d/cephadm
~]# 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,

~]# sed -i --follow-symlinks 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/sysconfig/selinux

Reinicie todos los nodos ahora usando el comando debajo,

~]# reboot

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

Desde el nodo Ceph-admin utilizaremos la utilidad conocida como “ceph-deploy “, iniciará sesión en cada nodo ceph e instalará el paquete ceph y realizará todas las configuraciones necesarias. Al acceder al nodo Ceph, no se nos pedirá que ingresemos las credenciales de los nodos ceph, por eso necesitamos 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 cephadm desde el nodo Ceph-admin (ceph-controller). Deje la frase de contraseña vacía.

[[email protected] ~]$ 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:
93:01:16:8a:67:34:2d:04:17:20:94:ad:0a:58:4f:8a [email protected]
The key's randomart image is:
+--[ RSA 2048]----+
|o.=+*o+.         |
| o.=o+..         |
|.oo++.  .        |
|E..o.    o       |
|o       S        |
|.        .       |
|                 |
|                 |
|                 |
+-----------------+
[[email protected] ~]$

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

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

Se recomienda agregar lo siguiente en el archivo “~/.ssh/config”

[[email protected] ~]$ vi ~/.ssh/config
Host ceph-compute01
   Hostname ceph-compute01
   User cephadm
Host ceph-compute02
   Hostname ceph-compute02
   User cephadm
Host ceph-monitor
   Hostname ceph-monitor
   User cephadm

Guarde y salga del archivo.

[email protected] ~]$ chmod 644 ~/.ssh/config
[[email protected] ~]$

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

Paso:3) Configurar reglas de firewall para OSD y monitorear nodos

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

En el nodo Ceph-admin, configure las siguientes reglas de firewall usando los comandos debajo,

[[email protected] ~]$ sudo firewall-cmd --zone=public --add-port=80/tcp --permanent
success
[[email protected] ~]$ sudo firewall-cmd --zone=public --add-port=2003/tcp --permanent
success
[[email protected] ~]$ sudo firewall-cmd --zone=public --add-port=4505-4506/tcp --permanent
success
[[email protected] ~]$ sudo firewall-cmd --reload
success
[[email protected] ~]$

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

[[email protected] ~]$ sudo firewall-cmd --zone=public --add-port=6800-7300/tcp --permanent
success
[[email protected] ~]$ sudo firewall-cmd --reload
success
[[email protected] ~]$
[[email protected] ~]$ sudo firewall-cmd --zone=public --add-port=6800-7300/tcp --permanent
success
[[email protected] ~]$ sudo firewall-cmd --reload
success
[[email protected] ~]$

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

[[email protected] ~]$ sudo firewall-cmd --zone=public --add-port=6789/tcp --permanent
success
[[email protected] ~]$ sudo firewall-cmd --reload
success
[[email protected] ~]$

Paso:4) Instalar y configurar el clúster de Ceph desde el nodo de administración de Ceph

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

[[email protected] ~]$ sudo rpm -Uvh https://download.ceph.com/rpm-mimic/el7/noarch/ceph-release-1-1.el7.noarch.rpm

Habilite el repositorio EPEL también,

[[email protected] ~]$ sudo yum install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm

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

[[email protected] ~]$ sudo yum update -y && sudo yum install ceph-deploy python2-pip  -y

Cree un directorio con el nombre “ceph_cluster “, este directorio tendrá todas las configuraciones de clúster

[[email protected] ~]$ mkdir ceph_cluster
[[email protected] ~]$ cd ceph_cluster/
[[email protected] ceph_cluster]$

Ahora genere la configuración del clúster ejecutando la utilidad ceph-deploy en el nodo ceph-admin, estamos registrando el nodo ceph-monitor como nodo monitor en el clúster ceph. La utilidad Ceph-deploy también generará "ceph.conf ” en el directorio de trabajo actual.

[[email protected] ceph_cluster]$ ceph-deploy new ceph-monitor

La salida del comando anterior sería algo como lo siguiente:

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

[[email protected] ceph_cluster]$ vi ceph.conf
[global]
fsid = b1e269f0-03ea-4545-8ffd-4e0f79350900
mon_initial_members = ceph-monitor
mon_host = 192.168.1.33
auth_cluster_required = cephx
auth_service_required = cephx
auth_client_required = cephx
public network = 192.168.1.0/24

Guarde y salga del archivo.

Ahora instale ceph en todos los nodos desde el nodo ceph-admin, ejecute "ceph-deploy install ” comando

[[email protected] ~]$ ceph-deploy install ceph-controller ceph-compute01 ceph-compute02 ceph-monitor

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

Resultado de "ceph-deploy install anterior La salida del comando sería algo como lo siguiente:

Ejecute “ceph-deploy mon create-initial ” del nodo ceph-admin, implementará los monitores iniciales y recopilará las claves.

[[email protected] ~]$ cd ceph_cluster/
[[email protected] ceph_cluster]$ ceph-deploy mon create-initial

Ejecute “ceph-deploy admin ” para copiar el archivo de configuración del nodo ceph-admin a todos los nodos ceph para que se pueda usar el comando ceph cli sin especificar la dirección del monitor.

[[email protected] ceph_cluster]$ ceph-deploy admin ceph-controller ceph-compute01 ceph-compute02 ceph-monitor

Instale el demonio del administrador desde el nodo Ceph-admin en Ceph Compute Nodes (OSD) mediante el siguiente comando

[[email protected] ceph_cluster]$ ceph-deploy mgr create ceph-compute01 ceph-compute02

Paso:5) Agregar discos OSD al clúster

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

Verifiquemos si la utilidad ceph-deploy puede ver estos discos o no. Ejecute la “lista de discos ceph-deploy ” comando desde el nodo ceph-admin,

[[email protected] ceph_cluster]$ ceph-deploy disk list ceph-compute01 ceph-compute02

Salida del comando anterior:

Nota: Asegúrese de que estos discos no se usen en ninguna parte y no contengan datos

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

[[email protected] ceph_cluster]$ ceph-deploy disk zap ceph-compute01 /dev/vdb
[[email protected] ceph_cluster]$ ceph-deploy disk zap ceph-compute01 /dev/vdc
[[email protected] ceph_cluster]$ ceph-deploy disk zap ceph-compute02 /dev/vdb
[[email protected] ceph_cluster]$ ceph-deploy disk zap ceph-compute02 /dev/vdc

Ahora marque estos discos como OSD usando los siguientes comandos

[[email protected] ceph_cluster]$ ceph-deploy osd create --data /dev/vdb ceph-compute01
[[email protected] ceph_cluster]$ ceph-deploy osd create --data  /dev/vdc ceph-compute01
[[email protected] ceph_cluster]$ ceph-deploy osd create --data /dev/vdb ceph-compute02
[[email protected] ceph_cluster]$ ceph-deploy osd create --data /dev/vdc ceph-compute02

Paso:6) Verificar el estado del clúster de Ceph

Verifique el estado de su clúster de Ceph usando "estado de ceph ” &“cefalograma-s “, ejecute estos comandos desde el nodo del monitor

[[email protected] ~]# ceph health
HEALTH_OK
[[email protected] ~]#
[[email protected] ~]# ceph -s
  cluster:
    id:     4f41600b-1c5a-4628-a0fc-2d8e7c091aa7
    health: HEALTH_OK

  services:
    mon: 1 daemons, quorum ceph-monitor
    mgr: ceph-compute01(active), standbys: ceph-compute02
    osd: 4 osds: 4 up, 4 in

  data:
    pools:   0 pools, 0 pgs
    objects: 0  objects, 0 B
    usage:   4.0 GiB used, 76 GiB / 80 GiB avail
    pgs:
[[email protected] ~]#

Como podemos ver en el resultado anterior, el estado del clúster ceph está bien y tenemos 4 OSD, todos estos OSD están activos y activos, aparte de esto, podemos ver que tenemos 80 GB de espacio en disco disponible en nuestro clúster.

Esto confirma que hemos instalado y configurado correctamente Ceph Cluster en el sistema CentOS 7. Si estos pasos lo ayudan a instalar ceph en su entorno, comparta sus comentarios y opiniones.

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


Cent OS
  1. Cómo instalar y configurar Nginx en CentOS 7

  2. Cómo instalar y configurar Redis en CentOS 7

  3. Cómo instalar y configurar GitLab en CentOS 7

  4. Cómo instalar y configurar Redmine en CentOS 7

  5. Cómo instalar y configurar Redis en CentOS 8

Instalar y configurar phpLDAPAdmin en CentOS 7 / Ubuntu 16.04

Instalar y configurar Redmine en CentOS 7

Cómo instalar y configurar ownCloud en CentOS 7

Instalar y configurar Check_MK Server en CentOS 7

Cómo instalar y configurar Samba en CentOS 8

Cómo instalar y configurar Fail2ban en CentOS 8