Explicación detallada de la construcción del clúster del sistema de archivos distribuidos de Ceph

1. Introducción al sistema de archivos distribuido Ceph

Ceph es un sistema de archivos unificado y distribuido diseñado para ofrecer un rendimiento, una fiabilidad y una escalabilidad excelentes.
Ceph proporciona de forma única funciones de almacenamiento de objetos, bloques y archivos en un sistema unificado.

Los objetivos básicos de desarrollo son:

  1. Se puede expandir fácilmente a varios petabytes.
  2. Alto rendimiento que admite múltiples cargas de trabajo (operaciones de entrada / salida por segundo [IOPS] y ancho de banda)

  3. Ceph altamente confiable no es solo un sistema de archivos, sino también un ecosistema de almacenamiento de objetos con funciones de nivel empresarial.

Sitio web de aprendizaje de chino: CEPH Chinese Learning Network

2. Construcción del sistema de archivos distribuido Ceph

2.1 Preparación ambiental

Prepare tres máquinas centos (usando máquinas virtuales)

IP nombre de host
192.168.1.12 node01
192.168.1.13 node02
192.168.1.14 node03

2.1.1 Apague el firewall (nodo01, nodo02, nodo03)

# 查看状态
firewall-cmd --state

# 停止firewall
systemctl stop firewalld.service

# 禁止firewall开机启动
systemctl disable firewalld.service

Inserte la descripción de la imagen aquí

2.1.2 Cerrar selinux (node01, node02, node03)

Ejecute el comando: vi / etc / selinux / config, modifique el contenido "SELINUX = disabled"

Inserte la descripción de la imagen aquí
Inserte la descripción de la imagen aquí

2.1.3 Modificar el nombre de host (nodo01, nodo02, nodo03)

Ejecute vi / etc / hostname, agregue el nombre node01,
Inserte la descripción de la imagen aquí
ejecute vi / etc / hosts y agregue lo siguiente:

192.168.1.12  node01
192.168.1.13  node02
192.168.1.14  node03

Inserte la descripción de la imagen aquí
Después de ejecutar el comando anterior, recuerde ejecutar el comando reboot para reiniciar el servicio y luego ejecute el comando hostname para ver el nombre de la máquina
Inserte la descripción de la imagen aquí

2.1.4 Modificar la fuente de yum (node01, node02, node03)

Utilice el espejo Tsinghua para acelerar la descarga.
Ejecute el comando: vi /etc/yum.repos.d/ceph.repo y agregue el siguiente contenido:

[Ceph]
name=Ceph packages for $basearch
baseurl=https://mirrors.tuna.tsinghua.edu.cn/ceph/rpm-mimic/el7/x86_64/
enabled=1
gpgcheck=1
type=rpm-md
gpgkey=https://download.ceph.com/keys/release.asc
[Ceph-noarch]
name=Ceph noarch packages
# 清华源
baseurl=https://mirrors.tuna.tsinghua.edu.cn/ceph/rpm-mimic/el7/noarch/
enabled=1
gpgcheck=1
type=rpm-md
gpgkey=https://download.ceph.com/keys/release.asc
[ceph-source]
name=Ceph source packages
baseurl=https://mirrors.tuna.tsinghua.edu.cn/ceph/rpm-mimic/el7/SRPMS/
enabled=1
gpgcheck=1
type=rpm-md
gpgkey=https://download.ceph.com/keys/release.asc

Inserte la descripción de la imagen aquí

2.1.5 Instalar ceph y ceph-deploy (node01)

Primero ejecute los siguientes dos comandos (nodo01, nodo02, nodo03):

yum install epel-release -y
yum install lttng-ust -y

Ejecute el comando de instalación (nodo01):

yum update && yum -y install ceph ceph-deploy

La ejecución es exitosa, como se muestra en la siguiente figura, todo el proceso será un poco lento, no te preocupes, ¡ten paciencia! ! !
Inserte la descripción de la imagen aquí

2.1.6 Instale la herramienta de sincronización de tiempo NTP (nodo01, nodo02, nodo03)

1) Ejecute el comando:

yum install ntp ntpdate ntp-doc -y

2) Configurar el arranque

systemctl enable ntpd

3) Configure la sincronización de calibración automática cada 1 hora.
Ejecute el comando: vi /etc/rc.d/rc.local, agregue lo siguiente

/usr/sbin/ntpdate ntp1.aliyun.com > /dev/null 2>&1; /sbin/hwclock -w

4) Configure las tareas de tiempo, ejecute crontab -e para unirse

0 */1 * * * ntpdate ntp1.aliyun.com > /dev/null 2>&1; /sbin/hwclock -w

2.1.7 Configuración sin contraseña (nodo01, nodo02, nodo03)

Cree un usuario cuser, la contraseña también es cuser (node01, node02, node03)

useradd -d /home/cuser -m cuser
passwd cuser

Establecer permisos (nodo01, nodo02, nodo03)

echo "cuser ALL = (root) NOPASSWD:ALL" | sudo tee /etc/sudoers.d/cuser
sudo chmod 0440 /etc/sudoers.d/cuser

Inserte la descripción de la imagen aquí

Cambiar de usuario cuser, ejecutar ssh-keygen, generar clave (node01)

su cuser

Inserte la descripción de la imagen aquí
Distribuya la clave a todos los nodos: (node01)

ssh-copy-id cuser@node01
ssh-copy-id cuser@node02
ssh-copy-id cuser@node03

Inserte la descripción de la imagen aquí
Cambiar a usuario root

su root

Ejecute el comando: mkdir ~ / .ssh, luego ingrese el directorio .ssh, cree la configuración del archivo y agregue el siguiente contenido al archivo

Host node01
    Hostname node01
    User cuser
Host node02
    Hostname node02
    User cuser
Host node03
    Hostname node03
    User cuser

Modificar los permisos de los archivos:

chmod 600 ~/.ssh/config

Inserte la descripción de la imagen aquí

2.2 Construcción de clústeres Ceph

2.2.1 Crear un directorio de administración de clústeres como directorio de almacenamiento de información de configuración de ceph

mkdir -p /usr/local/che/cephcluster
cd /usr/local/che/cephcluster

2.2.2 Crear un clúster

ceph-deploy new node01 node02 node03

Inserte la descripción de la imagen aquí

2.2.3 Modificar el archivo de configuración

Ejecute el comando: vi /usr/local/che/cephcluster/ceph.conf, agregue lo siguiente

#对外开放网段
public network = 192.168.1.0/24
# 设置pool池默认分配数量
osd pool default size = 2
# 容忍更多的时钟误差
mon clock drift allowed = 2
mon clock drift warn backoff = 30
# 允许删除pool
mon_allow_pool_delete = true
[mgr]
# 开启WEB仪表盘
mgr modules = dashboard

Inserte la descripción de la imagen aquí
Ejecute el comando de instalación: ceph-deploy install node01 node02 node03
Inserte la descripción de la imagen aquí

2.2.4 Inicializar monitor

ceph-deploy mon create-initial

Inserte la descripción de la imagen aquí

2.2.5 Sincronización de la información de gestión

ceph-deploy admin node01 node02 node03

2.2.6 Instalar mgr

ceph-deploy mgr create node01 node02 node03

Inserte la descripción de la imagen aquí

2.2.7 Instalar rgw

ceph-deploy rgw create node01 node02 node03

Inserte la descripción de la imagen aquí

2.2.7 Instalar el servicio mds

ceph-deploy mds create node01 node02 node03

Inserte la descripción de la imagen aquí

2.2.8 Instalar OSD

Ejecute fdisk -l para ver la información del disco y
Inserte la descripción de la imagen aquí
ejecute el comando para crear OSD: (node01)

ceph-deploy osd create --data /dev/sdb node01
ceph-deploy osd create --data /dev/sdb node02
ceph-deploy osd create --data /dev/sdb node03

Inserte la descripción de la imagen aquí
Ejecute ceph -s para ver la información de estado del clúster de ceph
Inserte la descripción de la imagen aquí

2.2.8 instalación del tablero

1) Abra el módulo del tablero

ceph mgr module enable dashboard

2) Generar firma

ceph dashboard create-self-signed-cert

3) Crea un directorio

mkdir -p /usr/local/che/cephcluster/mgr-dashboard

4) Genere un par de claves

openssl req -new -nodes -x509 -subj "/O=IT/CN=ceph-mgr-dashboard" -days 3650 -keyout dashboard.key -out dashboard.crt -extensions v3_ca

Inserte la descripción de la imagen aquí
5) Inicie el tablero

ceph mgr module disable dashboard
ceph mgr module enable dashboard

6) Establecer IP y PUERTO

ceph config set mgr mgr/dashboard/server_addr 192.168.1.12
ceph config set mgr mgr/dashboard/server_port 8443

7) Apague HTTPS

ceph config set mgr mgr/dashboard/ssl false

8) Ver información de servicio

ceph mgr services

Inserte la descripción de la imagen aquí

9) Establecer la contraseña de la cuenta de administrador

ceph dashboard set-login-credentials admin admin

10) Visite https://192.168.1.13:8443/ en el navegador,
Inserte la descripción de la imagen aquí
Inserte la descripción de la imagen aquí

11) RGW visite http://192.168.1.12:7480/

Inserte la descripción de la imagen aquí

2.3 Gestión de Cephfs

2.3.1 Crear dos grupos de almacenamiento

ceph osd pool create cephfs_data 128
ceph osd pool create cephfs_metadata 64

Ver grupo de almacenamiento

ceph osd lspools

Inserte la descripción de la imagen aquí

2.3.2 Crear fs, llamado fs_demo01

ceph fs new fs_demo01 cephfs_metadata cephfs_data

Comprobar estado:

ceph fs ls 

ceph mds stat

Inserte la descripción de la imagen aquí

2.3.3 soporte de fusible

# 安装
yum -y install ceph-fuse

# 创建挂载目录
mkdir -p /usr/local/che/cephfs_directory

# 挂载cephfs
ceph-fuse -k /etc/ceph/ceph.client.admin.keyring -m 192.168.1.12:6789 /usr/local/che/cephfs_directory

Inserte la descripción de la imagen aquí
Ver información de montaje

df -h

Inserte la descripción de la imagen aquí

Supongo que te gusta

Origin blog.csdn.net/ytangdigl/article/details/115256447
Recomendado
Clasificación