GNU/Linux >> Linux Esercitazione >  >> Ubuntu

Come installare un Ceph Storage Cluster su Ubuntu 16.04

Ceph è una piattaforma di archiviazione open source, offre prestazioni elevate, affidabilità e scalabilità. È un sistema di archiviazione distribuito gratuito che fornisce un'interfaccia per l'archiviazione a livello di file, blocchi e oggetti e può funzionare senza un singolo punto di errore.

In questo tutorial, ti guiderò a installare e creare un cluster Ceph sul server Ubuntu 16.04. Un cluster Ceph è costituito da questi componenti:

  • OSD Ceph (ceph-osd) - Gestisce l'archiviazione dei dati, la replica dei dati e il ripristino. Un cluster Ceph necessita di almeno due server OSD Ceph. Useremo tre server Ubuntu 16.04 in questa configurazione.
  • Monitor Ceph (ceph-mon) - Monitora lo stato del cluster ed esegue la mappa OSD e la mappa CRUSH. Useremo un server qui.
  • Server di metadati Ceph (ceph-mds) - questo è necessario se vuoi usare Ceph come File System.

Prerequisiti

  • 6 nodi server con installato il server Ubuntu 16.04
  • Privilegi di root su tutti i nodi

Userò la seguente configurazione hostname/IP:

nome host Indirizzo 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                 15.10.15

Passaggio 1 - Configura tutti i nodi

In questo passaggio configureremo tutti e 6 i nodi per prepararli all'installazione del software Ceph Cluster. Quindi devi seguire ed eseguire i comandi seguenti su tutti i nodi. E assicurati che ssh-server sia installato su tutti i nodi.

Crea l'utente Ceph

Crea un nuovo utente chiamato 'cephuser ' su tutti i nodi.

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

Dopo aver creato il nuovo utente, dobbiamo configurare cephuser per privilegi sudo senza password. Ciò significa che 'cephuser' può essere eseguito e ottenere i privilegi sudo senza dover prima inserire una password.

Esegui i comandi seguenti per ottenerlo.

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

Installa e configura NTP

Installa NTP per sincronizzare data e ora su tutti i nodi. Eseguire il comando ntpdate per impostare la data e l'ora tramite NTP. Utilizzeremo i server NTP del pool statunitense. Quindi avvia e abilita l'esecuzione del server NTP all'avvio.

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

Installa Open-vm-tools

Se stai eseguendo tutti i nodi all'interno di VMware, devi installare questa utilità di virtualizzazione.

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

Installa Python e parti

In questo tutorial, abbiamo bisogno di pacchetti Python per creare il ceph-cluster. Installa python e python-pip.

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

Configura il file host

Modifica il file hosts su tutti i nodi con vim editor.

vim /etc/hosts

Incolla la configurazione di seguito:

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

Salva il file hosts ed esci dall'editor vim.

Ora puoi provare a eseguire il ping tra i nomi host del server per testare la connettività di rete.

ping -c 5 mon1

Passaggio 2:configurazione del server SSH

In questo passaggio, configureremo il nodo ceph-admin . Il nodo admin viene utilizzato per configurare il nodo monitor e i nodi OSD. Accedi al nodo ceph-admin e accedi a 'cephuser '.

ssh [email protected]
su - cephuser

Il nodo admin viene utilizzato per installare e configurare tutti i nodi del cluster, quindi l'utente sul nodo ceph-admin deve disporre dei privilegi per connettersi a tutti i nodi senza una password. Dobbiamo configurare l'accesso SSH senza password per 'cephuser' sul nodo 'ceph-admin'.

Genera le chiavi ssh per 'cephuser '.

ssh-keygen

Lascia la passphrase vuota/vuota.

Quindi, crea un file di configurazione per la configurazione ssh.

vim ~/.ssh/config

Incolla la configurazione di seguito:

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

Salva il file ed esci da vim.

Cambia l'autorizzazione del file di configurazione in 644.

chmod 644 ~/.ssh/config

Ora aggiungi la chiave a tutti i nodi con il 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

Digita la tua password cephuser quando richiesto.

Ora prova ad accedere al server osd1 dal nodo ceph-admin per verificare se l'accesso senza password funziona.

ssh ceph-osd1

Passaggio 3:configura il firewall di Ubuntu

Per motivi di sicurezza, dobbiamo attivare il firewall sui server. Preferibilmente utilizziamo Ufw (Uncomplicated Firewall), il firewall predefinito di Ubuntu, per proteggere il sistema. In questo passaggio, abiliteremo ufw su tutti i nodi, quindi apriremo le porte necessarie per ceph-admin, ceph-mon e ceph-osd.

Accedi al nodo ceph-admin e installa i pacchetti ufw.

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

Apri la porta 80, 2003 e 4505-4506, quindi ricarica il firewalld.

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

Avvia e abilita ufw per l'avvio all'avvio.

sudo ufw enable

Dal nodo ceph-admin, accedi al nodo monitor 'mon1' e installa ufw.

ssh mon1
sudo apt-get install -y ufw

Apri le porte per il nodo di monitoraggio ceph e avvia ufw.

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

Infine, apri queste porte su ciascun nodo OSD:ceph-osd1, ceph-osd2 e ceph-osd3 - porta 6800-7300.

Accedi a ciascuno dei nodi ceph-osd da ceph-admin e installa ufw.

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

Apri le porte sui nodi osd e ricarica il firewalld.

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

La configurazione del firewall ufw è terminata.

Passaggio 4:configurazione dei nodi Ceph OSD

In questo tutorial abbiamo 3 nodi OSD, ognuno di questi nodi ha due partizioni del disco rigido.

  1. /dev/sda per la partizione di root
  2. /dev/sdb è una partizione vuota - 20 GB

Useremo /dev/sdb per il disco ceph. Dal nodo ceph-admin, accedi a tutti i nodi OSD e formatta la partizione /dev/sdb con XFS sistema di file.

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

Controlla lo schema delle partizioni con il comando fdisk.

sudo fdisk -l /dev/sdb

Formatta la partizione /dev/sdb con un filesystem XFS e con una tabella delle partizioni GPT usando il comando parted.

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

Quindi, formatta la partizione in formato XFS con il comando mkfs.

sudo mkfs.xfs -f /dev/sdb

Ora controlla la partizione e vedrai una partizione XFS /dev/sdb.

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

Fase 5:costruisci il cluster Ceph

In questo passaggio, installeremo Ceph su tutti i nodi da ceph-admin. Per iniziare, accedi al nodo ceph-admin.

ssh [email protected]
su - cephuser

Installa ceph-deploy sul nodo ceph-admin

Nel primo passaggio abbiamo già installato python e python-pip sul sistema. Ora dobbiamo installare lo strumento di distribuzione Ceph 'ceph-deploy ' dal repository Python di pypi.

Installa ceph-deploy sul nodo ceph-admin con il comando pip.

sudo pip install ceph-deploy

Nota:assicurati che tutti i nodi siano aggiornati.

Dopo aver installato lo strumento ceph-deploy, creare una nuova directory per la configurazione del cluster Ceph.

Crea un nuovo cluster

Crea una nuova directory del cluster.

mkdir cluster
cd cluster/

Quindi, crea un nuovo cluster con 'ceph-deploy ' comando definendo il nodo monitor 'mon1 '.

ceph-deploy new mon1

Il comando genererà il file di configurazione del cluster Ceph 'ceph.conf' nella directory del cluster.

Modifica il file ceph.conf con vim.

vim ceph.conf

Sotto il blocco [globale], incolla la configurazione di seguito.

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

Salva il file ed esci dall'editor.

Installa Ceph su tutti i nodi

Ora installa Ceph su tutti i nodi dal nodo ceph-admin con un solo comando.

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

Il comando installerà automaticamente Ceph su tutti i nodi:mon1, osd1-3 e ceph-admin - L'installazione richiederà del tempo.

Ora distribuisci il nodo di monitoraggio sul nodo mon1.

ceph-deploy mon create-initial

Il comando creerà una chiave monitor, controlla la chiave con questo comando ceph.

ceph-deploy gatherkeys mon1

Aggiunta di OSDS al cluster

Dopo che Ceph è stato installato su tutti i nodi, ora possiamo aggiungere i demoni OSD al cluster. I demoni OSD creeranno i dati e la partizione del journal sul disco /dev/sdb.

Controlla il disco disponibile /dev/sdb su tutti i nodi OSD.

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

Vedrai /dev/sdb con il formato XFS che abbiamo creato in precedenza.

Quindi, elimina le tabelle delle partizioni su tutti i nodi con l'opzione zap.

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

Il comando cancellerà tutti i dati su /dev/sdb sui nodi Ceph OSD.

Ora prepara tutti i nodi OSD e assicurati che non ci siano errori nei risultati.

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

Quando nel risultato vedi che ceph-osd1-3 è pronto per l'uso con l'OSD, il comando ha avuto successo.

Attiva gli OSD con il comando seguente:

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

Ora puoi controllare di nuovo il disco sdb sui nodi OSDS.

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

Il risultato è che /dev/sdb ora ha due partizioni:

  1. /dev/sdb1 - Dati Ceph
  2. /dev/sdb2 - Ceph Journal

Oppure lo controlli direttamente sul nodo OSD.

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

Quindi, distribuisci la chiave di gestione a tutti i nodi associati.

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

Modifica l'autorizzazione del file chiave eseguendo il comando seguente su tutti i nodi.

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

Il Ceph Cluster su Ubuntu 16.04 è stato creato.

Fase 6 - Test di Ceph

Nel passaggio 4, abbiamo installato e creato un nuovo cluster Ceph e aggiunto nodi OSDS al cluster. Ora dovremmo testare il cluster per assicurarci che funzioni come previsto.

Dal nodo ceph-admin, accedi al server di monitoraggio Ceph 'mon1 '.

ssh mon1

Esegui il comando di seguito per verificare lo stato del cluster.

sudo ceph health

Ora controlla lo stato del cluster.

sudo ceph -s

Puoi vedere i risultati di seguito:

Assicurati che lo stato di Ceph sia OK e c'è un nodo di monitoraggio 'mon1 ' con indirizzo IP '10.0.15.11 '. Sono presenti 3 OSD i server e tutti sono attivi e in esecuzione e dovrebbe esserci uno spazio su disco disponibile di 45 GB - Partizione OSD Ceph Data 3x15GB.

Costruiamo con successo un nuovo Ceph Cluster su Ubuntu 16.04.


Ubuntu
  1. Come installare Odoo su Ubuntu

  2. Come installare MariaDB Galera Cluster su Ubuntu 16.04

  3. Come creare un cluster di archiviazione Ceph su Ubuntu 16.04

  4. Come installare R su Ubuntu 16.04

  5. Come installare Vai su Ubuntu 18.04

Come installare R su Ubuntu 18.04

Come installare un cluster MySQL su Ubuntu 16.04

Come installare qt su Ubuntu 20.04

Come installare minio S3 Object Storage su Ubuntu 21.04

Come installare Go in Ubuntu 20.04

Come installare Vai su Ubuntu 22.04