GNU/Linux >> Linux Esercitazione >  >> Cent OS

Guida rapida per installare e configurare Ceph Cluster su CentOS 7

Ceph è gratuito e open source spazio di archiviazione distribuito soluzione attraverso la quale possiamo fornire e gestire facilmente l'archiviazione a blocchi, l'archiviazione di oggetti e l'archiviazione di file. La soluzione di archiviazione Ceph può essere utilizzata nell'infrastruttura IT tradizionale per fornire lo storage centralizzato, oltre a ciò è stata utilizzata anche nel cloud privato (OpenStack &Cloudstack ). In Red Hat OpenStack Ceph è usato come backend di cenere.

In questo articolo, dimostreremo come installare e configurare Ceph Cluster(Mimic) sui server CentOS 7.

In Ceph Cluster i seguenti sono i componenti principali:

  • Monitor (ceph-mon) :come suggerisce il nome, i nodi di monitoraggio ceph tengono d'occhio lo stato del cluster, la mappa OSD e la mappa Crush
  • OSD ( Ceph-osd) :Questi sono i nodi che fanno parte del cluster e forniscono funzionalità di archiviazione dati, replica dei dati e ripristino. L'OSD fornisce anche informazioni per monitorare i nodi.
  • MDS (Ceph-mds) :È un server di metadati ceph e memorizza i metadati dei file system ceph come l'archiviazione a blocchi.
  • Nodo di distribuzione Ceph :Viene utilizzato per distribuire il cluster Ceph, viene anche chiamato Ceph-admin o Ceph-utility node.

Dettagli sulla configurazione del mio laboratorio :

  • Nodo di distribuzione Ceph :(Minimo CentOS 7, RAM:4 GB, vCPU:2, IP:192.168.1.30, Nome host:ceph-controller)
  • OSD o calcolo Ceph 1 :(Minimo CentOS 7, RAM:10 GB, vCPU:4, IP:192.168.1.31, Nome host:ceph-compute01)
  • OSD o Ceph Compute 2 :(Minimo CentOS 7, RAM:10 GB, vCPU:4, IP:192.168.1.32, Nome host:ceph-compute02)
  • Monitoraggio Ceph :(Minimo CentOS 7, RAM:10 GB, vCPU:4, IP:192.168.1.33, Nome host:ceph-monitor)

Nota: In tutti i nodi abbiamo collegato due nic (eth0 ð1), su eth0 IP dalla VLAN è assegnato 192.168.1.0/24. Su eth1 viene assegnato l'IP dalla VLAN 192.168.122.0/24 che fornirà l'accesso a Internet.

Passiamo ai passaggi di installazione e configurazione:

Passaggio:1) Aggiorna il file /etc/hosts, NTP, Crea utente e disabilita SELinux su tutti i nodi

Aggiungi le seguenti righe nel file /etc/hosts di tutti i nodi in modo da poter accedere a questi nodi anche tramite il loro nome 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

Configura tutti i nodi Ceph con NTP Server in modo che tutti i nodi abbiano lo stesso tempo e non ci siano derive temporali,

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

Crea un utente con il nome "cepham ” su tutti i nodi e useremo questo utente per la distribuzione e la configurazione ceph

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

Ora assegna i diritti di amministratore all'utente cephadm tramite sudo, esegui i seguenti comandi,

~]# echo "cephadm ALL = (root) NOPASSWD:ALL" | sudo tee /etc/sudoers.d/cephadm
~]# chmod 0440 /etc/sudoers.d/cephadm

Disabilita SELinux su tutti i nodi usando il comando sed, anche il sito ufficiale ceph consiglia di disabilitare SELinux ,

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

Riavvia ora tutti i nodi usando il comando sotto,

~]# reboot

Fase:2 Configura l'autenticazione senza password dall'amministratore Ceph a tutti i nodi OSD e monitor

Dal nodo Ceph-admin utilizzeremo l'utilità nota come "ceph-deploy “, accederà a ciascun nodo ceph e installerà il pacchetto ceph ed eseguirà tutte le configurazioni richieste. Durante l'accesso al nodo Ceph non ci verrà chiesto di inserire le credenziali dei nodi ceph, ecco perché abbiamo richiesto di configurare l'autenticazione senza password o basata su chiavi dal nodo ceph-admin a tutti i nodi ceph.

Esegui i seguenti comandi come utente cephadm dal nodo Ceph-admin (ceph-controller). Lascia la passphrase vuota.

[[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] ~]$

Ora copia le chiavi su tutti i nodi ceph usando il 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]

Si consiglia di aggiungere quanto segue nel file “~/.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

Salva ed esci dal file.

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

Nota: Nel comando precedente sostituisci il nome utente e il nome host adatti alla tua configurazione.

Passaggio:3) Configura le regole del firewall per OSD e monitora i nodi

Nel caso in cui il firewall del sistema operativo sia abilitato e in esecuzione su tutti i nodi ceph, è necessario configurare le seguenti regole del firewall, altrimenti puoi saltare questo passaggio.

Sul nodo Ceph-admin, configura le seguenti regole del firewall usando i comandi sotto,

[[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] ~]$

Accedere ai nodi di elaborazione OSD o Ceph e configurare le regole del firewall utilizzando il 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] ~]$

Accedi al nodo Ceph Monitor ed esegui il comando firewalld per configurare le regole del firewall,

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

Fase:4) Installa e configura Ceph Cluster dal nodo Ceph Admin

Accedi al tuo nodo Ceph-admin come utente "cephadm" e abilita l'ultima versione del repository Ceph yum. Al momento della stesura di questo articolo, Mimic è l'ultima versione di Ceph,

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

Abilita anche il repository EPEL,

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

Installa l'utilità Ceph-deploy utilizzando il seguente comando yum,

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

Crea una directory con il nome "ceph_cluster ", questa directory avrà tutte le configurazioni del cluster

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

Ora genera la configurazione del cluster eseguendo l'utilità ceph-deploy sul nodo ceph-admin, stiamo registrando il nodo ceph-monitor come nodo monitor nel cluster ceph. L'utilità Ceph-deploy genererà anche "ceph.conf ” nella directory di lavoro corrente.

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

L'output del comando precedente sarebbe qualcosa di simile al seguente:

Aggiorna l'indirizzo di rete (rete pubblica) ai sensi della direttiva globale inceph.conf file,  Qui Rete pubblica è la rete su cui i nodi Ceph comunicheranno tra loro e anche il client esterno utilizzerà questa rete per accedere allo storage 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

Salva ed esci dal file.

Ora installa ceph su tutti i nodi dal nodo ceph-admin, esegui "ceph-deploy install comando ”

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

Il comando sopra installerà ceph insieme ad altre dipendenze automaticamente su tutti i nodi, potrebbe volerci del tempo a seconda della velocità di Internet sui nodi ceph.

Output di "ceph-deploy install ” l'output del comando sarebbe simile al seguente:

Esegui "ceph-deploy mon create-initial ” comando dal nodo ceph-admin, distribuirà i monitor iniziali e raccoglierà le chiavi.

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

Esegui "ceph-deploy admin ” comando per copiare il file di configurazione dal nodo ceph-admin a tutti i nodi ceph in modo da poter utilizzare il comando ceph cli senza specificare l'indirizzo del monitor.

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

Installa il demone Manager dal nodo Ceph-admin su Ceph Compute Nodes (OSD) utilizzando il comando seguente

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

Passaggio:5) Aggiungi i dischi OSD al cluster

Nella mia configurazione ho collegato due dischi /dev/vdb &/dev/vdc su entrambi i nodi di calcolo, userò questi quattro dischi dai nodi di calcolo come disco OSD.

Verifichiamo se l'utilità ceph-deploy può vedere questi dischi o meno. Esegui l'"elenco di dischi ceph-deploy ” comando dal nodo ceph-admin,

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

Output del comando precedente:

Nota: Assicurati che questi dischi non vengano utilizzati da nessuna parte e non contengano dati

Per pulire ed eliminare i dati dai dischi, utilizzare i seguenti comandi,

[[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

Ora contrassegna questi dischi come OSD usando i seguenti comandi

[[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

Fase:6) Verifica lo stato del cluster Ceph

Verifica lo stato del tuo cluster Ceph utilizzando "stato ceph ” &“ceph -s ", esegui questi comandi dal nodo 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] ~]#

Come possiamo vedere nell'output sopra, lo stato del cluster ceph è OK e abbiamo 4 OSD, tutti questi OSD sono attivi e attivi, a parte questo possiamo vedere che hanno 80 GB di spazio su disco disponibile nel nostro cluster.

Questo conferma che abbiamo installato e configurato correttamente Ceph Cluster sul sistema CentOS 7, se questi passaggi ti aiutano a installare ceph nel tuo ambiente, condividi il tuo feedback e commenti.

Nel prossimo articolo discuteremo come assegnare lo storage a blocchi dal cluster Ceph ai client e vedremo come il client può accedere allo storage a blocchi.


Cent OS
  1. Come installare e configurare Nginx su CentOS 7

  2. Come installare e configurare Redis su CentOS 7

  3. Come installare e configurare GitLab su CentOS 7

  4. Come installare e configurare Redmine su CentOS 7

  5. Come installare e configurare Redis su CentOS 8

Installa e configura phpLDAPAdmin su CentOS 7 / Ubuntu 16.04

Installa e configura Redmine su CentOS 7

Come installare e configurare ownCloud su CentOS 7

Installa e configura Check_MK Server su CentOS 7

Come installare e configurare Samba su CentOS 8

Come installare e configurare Fail2ban su CentOS 8