GNU/Linux >> Tutoriales Linux >  >> Ubuntu

Cómo instalar un clúster de almacenamiento de Ceph en Ubuntu 16.04

Ceph es una plataforma de almacenamiento de código abierto que proporciona alto rendimiento, confiabilidad y escalabilidad. Es un sistema de almacenamiento distribuido gratuito que proporciona una interfaz para el almacenamiento a nivel de objetos, bloques y archivos y puede operar sin un solo punto de falla.

En este tutorial, lo guiaré para instalar y crear un clúster de Ceph en el servidor Ubuntu 16.04. Un clúster de Ceph consta de estos componentes:

  • Ceph OSD (ceph-osd) - Maneja el almacenamiento de datos, la replicación de datos y la recuperación. Un clúster de Ceph necesita al menos dos servidores Ceph OSD. Usaremos tres servidores Ubuntu 16.04 en esta configuración.
  • Monitor cefalométrico (ceph-mon) - Supervisa el estado del clúster y ejecuta el mapa OSD y el mapa CRUSH. Usaremos un servidor aquí.
  • Servidor de metadatos de Ceph (ceph-mds) - esto es necesario si desea utilizar Ceph como sistema de archivos.

Requisitos previos

  • 6 nodos de servidor con servidor Ubuntu 16.04 instalado
  • Privilegios de raíz en todos los nodos

Usaré la siguiente configuración de IP/nombre de host:

nombre de host dirección IP

Ceph-Admin 10.0.15.10
Mon1 10.0.15.11
OSD1 10.0.15.21
OSD2 10.0.15.22
OSD3 10.0.15.23
cliente                 10.0.15.15

Paso 1:configurar todos los nodos

En este paso, configuraremos los 6 nodos para prepararlos para la instalación del software Ceph Cluster. Por lo tanto, debe seguir y ejecutar los siguientes comandos en todos los nodos. Y asegúrese de que el servidor ssh esté instalado en todos los nodos.

Crear el usuario de Ceph

Cree un nuevo usuario llamado 'cephuser ' en todos los nodos.

useradd -m -s /bin/bash cephuser
passwd cephuser

Después de crear el nuevo usuario, debemos configurar cephuser para privilegios sudo sin contraseña. Esto significa que 'cephuser' puede ejecutarse y obtener privilegios de sudo sin tener que ingresar una contraseña primero.

Ejecute los siguientes comandos para lograrlo.

echo "cephuser ALL = (root) NOPASSWD:ALL" | sudo tee /etc/sudoers.d/cephuser
chmod 0440 /etc/sudoers.d/cephuser
sed -i s'/Defaults requiretty/#Defaults requiretty'/g /etc/sudoers

Instalar y configurar NTP

Instale NTP para sincronizar la fecha y la hora en todos los nodos. Ejecute el comando ntpdate para configurar la fecha y la hora a través de NTP. Usaremos los servidores NTP del grupo de EE. UU. Luego inicie y habilite el servidor NTP para que se ejecute en el momento del arranque.

sudo apt-get install -y ntp ntpdate ntp-doc
ntpdate 0.us.pool.ntp.org
hwclock --systohc
systemctl enable ntp
systemctl start ntp

Instalar Open-vm-tools

Si ejecuta todos los nodos dentro de VMware, debe instalar esta utilidad de virtualización.

sudo apt-get install -y open-vm-tools

Instala Python y parte

En este tutorial, necesitamos paquetes de python para construir el clúster ceph. Instale python y python-pip.

sudo apt-get install -y python python-pip parted

Configurar el archivo de hosts

Edite el archivo de hosts en todos los nodos con el editor vim.

vim /etc/hosts

Pegue la configuración a continuación:

10.0.15.10        ceph-admin
10.0.15.11        mon1
10.0.15.21        ceph-osd1
10.0.15.22        ceph-osd2
10.0.15.23        ceph-osd3
10.0.15.15        ceph-client

Guarde el archivo de hosts y salga del editor vim.

Ahora puede intentar hacer ping entre los nombres de host del servidor para probar la conectividad de la red.

ping -c 5 mon1

Paso 2:configurar el servidor SSH

En este paso, configuraremos el nodo ceph-admin . El nodo de administración se utiliza para configurar el nodo de monitor y los nodos de osd. Inicie sesión en el nodo ceph-admin y acceda al 'cephuser '.

ssh [email protected]
su - cephuser

El nodo de administración se utiliza para instalar y configurar todos los nodos del clúster, por lo que el usuario del nodo ceph-admin debe tener privilegios para conectarse a todos los nodos sin contraseña. Necesitamos configurar el acceso SSH sin contraseña para 'cephuser' en el nodo 'ceph-admin'.

Genere las claves ssh para 'cephuser '.

ssh-keygen

Deje la frase de contraseña en blanco/vacía.

A continuación, cree un archivo de configuración para la configuración de ssh.

vim ~/.ssh/config

Pegue la configuración a continuación:

Host ceph-admin
        Hostname ceph-admin
        User cephuser

Host mon1
        Hostname mon1
        User cephuser

Host ceph-osd1
        Hostname ceph-osd1
        User cephuser

Host ceph-osd2
        Hostname ceph-osd2
        User cephuser

Host ceph-osd3
        Hostname ceph-osd3
        User cephuser

Host ceph-client
        Hostname ceph-client
        User cephuser

Guarde el archivo y salga de vim.

Cambie el permiso del archivo de configuración a 644.

chmod 644 ~/.ssh/config

Ahora agregue la clave a todos los nodos con el comando ssh-copy-id.

ssh-keyscan ceph-osd1 ceph-osd2 ceph-osd3 ceph-client mon1 >> ~/.ssh/known_hosts
ssh-copy-id ceph-osd1
ssh-copy-id ceph-osd2
ssh-copy-id ceph-osd3
ssh-copy-id mon1

Escriba su contraseña de usuario cephuser cuando se le solicite.

Ahora intente acceder al servidor osd1 desde el nodo ceph-admin para comprobar si funciona el inicio de sesión sin contraseña.

ssh ceph-osd1

Paso 3:configurar el firewall de Ubuntu

Por razones de seguridad, debemos activar el firewall en los servidores. Preferiblemente usamos Ufw (Uncomplicated Firewall), el firewall predeterminado de Ubuntu, para proteger el sistema. En este paso, habilitaremos ufw en todos los nodos y luego abriremos los puertos necesarios para ceph-admin, ceph-mon y ceph-osd.

Inicie sesión en el nodo ceph-admin e instale los paquetes ufw.

ssh [email protected]
sudo apt-get install -y ufw

Abra el puerto 80, 2003 y 4505-4506, luego vuelva a cargar firewalld.

sudo ufw allow 22/tcp
sudo ufw allow 80/tcp
sudo ufw allow 2003/tcp
sudo ufw allow 4505:4506/tcp

Inicie y habilite ufw para que se inicie en el momento del arranque.

sudo ufw enable

Desde el nodo ceph-admin, inicie sesión en el nodo del monitor 'mon1' e instale ufw.

ssh mon1
sudo apt-get install -y ufw

Abra los puertos para el nodo del monitor ceph e inicie ufw.

sudo ufw allow 22/tcp
sudo ufw allow 6789/tcp
sudo ufw enable

Finalmente, abra estos puertos en cada nodo osd:ceph-osd1, ceph-osd2 y ceph-osd3 - puerto 6800-7300.

Inicie sesión en cada uno de los nodos ceph-osd desde ceph-admin e instale ufw.

ssh ceph-osd1
sudo apt-get install -y ufw

Abra los puertos en los nodos osd y vuelva a cargar firewalld.

sudo ufw allow 22/tcp
sudo ufw allow 6800:7300/tcp
sudo ufw enable

La configuración del cortafuegos ufw ha finalizado.

Paso 4:configurar los nodos Ceph OSD

En este tutorial, tenemos 3 nodos OSD, cada uno de estos nodos tiene dos particiones de disco duro.

  1. /dev/sda para partición raíz
  2. /dev/sdb es una partición vacía:20 GB

Usaremos /dev/sdb para el disco cefalométrico. Desde el nodo ceph-admin, inicie sesión en todos los nodos OSD y formatee la partición /dev/sdb con XFS sistema de archivos.

ssh ceph-osd1
ssh ceph-osd2
ssh ceph-osd3

Verifique el esquema de partición con el comando fdisk.

sudo fdisk -l /dev/sdb

Formatee la partición /dev/sdb con un sistema de archivos XFS y con una tabla de particiones GPT usando el comando parted.

sudo parted -s /dev/sdb mklabel gpt mkpart primary xfs 0% 100%

A continuación, formatee la partición en formato XFS con el comando mkfs.

sudo mkfs.xfs -f /dev/sdb

Ahora comprueba la partición y verás una partición XFS /dev/sdb.

sudo fdisk -s /dev/sdb
sudo blkid -o value -s TYPE /dev/sdb

Paso 5:compilar el clúster de Ceph

En este paso, instalaremos Ceph en todos los nodos desde ceph-admin. Para comenzar, inicie sesión en el nodo ceph-admin.

ssh [email protected]
su - cephuser

Instalar ceph-deploy en el nodo ceph-admin

En el primer paso ya instalamos python y python-pip en el sistema. Ahora necesitamos instalar la herramienta de implementación de Ceph 'ceph-deploy ' del repositorio pypi python.

Instale ceph-deploy en el nodo ceph-admin con el comando pip.

sudo pip install ceph-deploy

Nota:asegúrese de que todos los nodos estén actualizados.

Una vez instalada la herramienta ceph-deploy, cree un nuevo directorio para la configuración del clúster de Ceph.

Crear un nuevo clúster

Cree un nuevo directorio de clúster.

mkdir cluster
cd cluster/

A continuación, cree un nuevo clúster con 'ceph-deploy ' definiendo el nodo de monitor 'mon1 '.

ceph-deploy new mon1

El comando generará el archivo de configuración del clúster de Ceph 'ceph.conf' en el directorio del clúster.

Edite el archivo ceph.conf con vim.

vim ceph.conf

Debajo del bloque [global], pegue la configuración a continuación.

# Your network address
public network = 10.0.15.0/24
osd pool default size = 2

Guarde el archivo y salga del editor.

Instalar Ceph en todos los nodos

Ahora instale Ceph en todos los nodos desde el nodo ceph-admin con un solo comando.

ceph-deploy install ceph-admin ceph-osd1 ceph-osd2 ceph-osd3 mon1

El comando instalará automáticamente Ceph en todos los nodos:mon1, osd1-3 y ceph-admin. La instalación llevará algún tiempo.

Ahora implemente el nodo del monitor en el nodo mon1.

ceph-deploy mon create-initial

El comando creará una clave de monitor, verifique la clave con este comando ceph.

ceph-deploy gatherkeys mon1

Agregar OSDS al clúster

Después de instalar Ceph en todos los nodos, ahora podemos agregar los demonios OSD al clúster. OSD Daemons creará la partición de datos y diario en el disco /dev/sdb.

Compruebe el disco /dev/sdb disponible en todos los nodos osd.

ceph-deploy disk list ceph-osd1 ceph-osd2 ceph-osd3

Verá /dev/sdb con el formato XFS que creamos antes.

A continuación, elimine las tablas de partición en todos los nodos con la opción zap.

ceph-deploy disk zap ceph-osd1:/dev/sdb ceph-osd2:/dev/sdb ceph-osd3:/dev/sdb

El comando eliminará todos los datos en /dev/sdb en los nodos Ceph OSD.

Ahora prepare todos los nodos OSD y asegúrese de que no haya errores en los resultados.

ceph-deploy osd prepare ceph-osd1:/dev/sdb ceph-osd2:/dev/sdb ceph-osd3:/dev/sdb

Cuando vea que ceph-osd1-3 está listo para su uso en OSD en el resultado, entonces el comando fue exitoso.

Active los OSD con el siguiente comando:

ceph-deploy osd activate ceph-osd1:/dev/sdb ceph-osd2:/dev/sdb ceph-osd3:/dev/sdb

Ahora puede volver a comprobar el disco sdb en los nodos OSDS.

ceph-deploy disk list ceph-osd1 ceph-osd2 ceph-osd3

El resultado es que /dev/sdb ahora tiene dos particiones:

  1. /dev/sdb1 - Datos cefalométricos
  2. /dev/sdb2 - Diario cefalométrico

O lo comprueba directamente en el nodo OSD.

ssh ceph-osd1
sudo fdisk -l /dev/sdb

A continuación, implemente la clave de administración en todos los nodos asociados.

ceph-deploy admin ceph-admin mon1 ceph-osd1 ceph-osd2 ceph-osd3

Cambie el permiso del archivo clave ejecutando el siguiente comando en todos los nodos.

sudo chmod 644 /etc/ceph/ceph.client.admin.keyring

Se ha creado Ceph Cluster en Ubuntu 16.04.

Paso 6:prueba de Ceph

En el paso 4, instalamos y creamos un nuevo clúster de Ceph y agregamos nodos OSDS al clúster. Ahora deberíamos probar el clúster para asegurarnos de que funciona según lo previsto.

Desde el nodo ceph-admin, inicie sesión en el servidor de supervisión de Ceph 'mon1 '.

ssh mon1

Ejecute el siguiente comando para comprobar el estado del clúster.

sudo ceph health

Ahora compruebe el estado del clúster.

sudo ceph -s

Puede ver los resultados a continuación:

Asegúrese de que el estado de Ceph esté bien. y hay un nodo de monitor 'mon1 ' con dirección IP '10.0.15.11 '. Hay 3 OSD servidores y todos están activos y funcionando, y debería haber un espacio disponible en disco de 45 GB - 3 particiones OSD de datos Ceph de 15 GB.

Creamos un nuevo clúster de Ceph en Ubuntu 16.04 con éxito.


Ubuntu
  1. Cómo instalar Odoo en Ubuntu

  2. Cómo instalar MariaDB Galera Cluster en Ubuntu 16.04

  3. Cómo crear un clúster de almacenamiento de Ceph en Ubuntu 16.04

  4. Cómo instalar R en Ubuntu 16.04

  5. Cómo instalar Go en Ubuntu 18.04

Cómo instalar R en Ubuntu 18.04

Cómo instalar un clúster de MySQL en Ubuntu 16.04

Cómo instalar qt en Ubuntu 20.04

Cómo instalar el almacenamiento de objetos minio S3 en Ubuntu 21.04

Cómo instalar Go en Ubuntu 20.04

Cómo instalar Go en Ubuntu 22.04