GNU/Linux >> LINUX-Kenntnisse >  >> Cent OS

Kurzanleitung zum Installieren und Konfigurieren von Ceph Cluster unter CentOS 7

Cep ist kostenloser und quelloffener verteilter Speicher Lösung, mit der wir Blockspeicher, Objektspeicher und Dateispeicher einfach bereitstellen und verwalten können. Die Ceph-Speicherlösung kann in der traditionellen IT-Infrastruktur zur Bereitstellung des zentralen Speichers verwendet werden, abgesehen davon auch in der privaten Cloud (OpenStack). &Cloudstack ). In Red Hat wird OpenStack Ceph als Cinder-Backend verwendet.

In diesem Artikel zeigen wir, wie Ceph Cluster (Mimic) auf CentOS 7-Servern installiert und konfiguriert wird.

In Ceph Cluster sind dies die Hauptkomponenten:

  • Monitore (ceph-mon) :Wie der Name schon sagt, behalten Ceph-Monitor-Knoten den Cluster-Status, die OSD-Karte und die Crush-Karte im Auge
  • OSD (Ceph-osd) :Dies sind die Knoten, die Teil des Clusters sind und Datenspeicher-, Datenreplikations- und Wiederherstellungsfunktionen bereitstellen. OSD stellt auch Informationen zur Überwachung von Knoten bereit.
  • MDS (Ceph-mds) :Es ist ein Ceph-Metadatenserver und speichert die Metadaten von Ceph-Dateisystemen wie Blockspeicher.
  • Ceph-Bereitstellungsknoten :Er wird zur Bereitstellung des Ceph-Clusters verwendet, er wird auch als Ceph-Admin- oder Ceph-Utility-Knoten bezeichnet.

Details zur My Lab-Einrichtung :

  • Ceph-Bereitstellungsknoten :(Mindestens CentOS 7, RAM:4 GB, vCPU:2, IP:192.168.1.30, Hostname:ceph-controller)
  • OSD oder Ceph Compute 1 :(Mindestens CentOS 7, RAM:10 GB, vCPU:4, IP:192.168.1.31, Hostname:ceph-compute01)
  • OSD oder Ceph Compute 2 :(Mindestens CentOS 7, RAM:10 GB, vCPU:4, IP:192.168.1.32, Hostname:ceph-compute02)
  • Ceph-Monitor :(Mindestens CentOS 7, RAM:10 GB, vCPU:4, IP:192.168.1.33, Hostname:ceph-monitor)

Hinweis: In allen Knoten haben wir zwei NICs (eth0 ð1) angeschlossen, auf eth0 wird die IP vom VLAN 192.168.1.0/24 zugewiesen. Auf eth1 ist die IP von VLAN 192.168.122.0/24 zugewiesen und stellt den Internetzugang bereit.

Lassen Sie uns zu den Installations- und Konfigurationsschritten springen:

Schritt:1) Aktualisieren Sie die /etc/hosts-Datei, NTP, erstellen Sie einen Benutzer und deaktivieren Sie SELinux auf allen Knoten

Fügen Sie die folgenden Zeilen in die /etc/hosts-Datei aller Knoten ein, damit man auf diese Knoten auch über ihren Hostnamen zugreifen kann.

192.168.1.30    ceph-controller
192.168.1.31    ceph-compute01
192.168.1.32    ceph-compute02
192.168.1.33    ceph-monitor

Konfigurieren Sie alle Ceph-Knoten mit NTP-Server so, dass alle Knoten die gleiche Zeit haben und es keine Zeitverschiebung gibt,

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

Erstellen Sie einen Benutzer mit dem Namen „cephadm ” auf allen Knoten und wir werden diesen Benutzer für die Ceph-Bereitstellung und -Konfiguration verwenden

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

Weisen Sie nun dem Benutzer cephadm über sudo Administratorrechte zu, führen Sie die folgenden Befehle aus,

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

Deaktivieren Sie SELinux auf allen Knoten mit dem folgenden Befehl sed, sogar die offizielle Ceph-Website empfiehlt, SELinux zu deaktivieren,

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

Starten Sie jetzt alle Knoten mit dem folgenden Befehl neu,

~]# reboot

Schritt:2 Konfigurieren Sie die passwortlose Authentifizierung von Ceph Admin für alle OSD- und Monitor-Knoten

Vom Ceph-Admin-Knoten aus verwenden wir das Dienstprogramm „ceph-deploy“. “, meldet es sich bei jedem Ceph-Knoten an und installiert das Ceph-Paket und führt alle erforderlichen Konfigurationen durch. Beim Zugriff auf den Ceph-Knoten werden wir nicht aufgefordert, die Anmeldeinformationen der Ceph-Knoten einzugeben. Aus diesem Grund mussten wir die passwortlose oder schlüsselbasierte Authentifizierung vom Ceph-Admin-Knoten für alle Ceph-Knoten konfigurieren.

Führen Sie die folgenden Befehle als cephadm-Benutzer vom Ceph-admin-Knoten (ceph-controller) aus. Lassen Sie die Passphrase leer.

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

Kopieren Sie nun die Schlüssel mit dem Befehl ssh-copy-id

auf alle Ceph-Knoten
[[email protected] ~]$ ssh-copy-id [email protected]
[[email protected] ~]$ ssh-copy-id [email protected]
[[email protected] ~]$ ssh-copy-id [email protected]

Es wird empfohlen, Folgendes in die Datei „~/.ssh/config“

einzufügen
[[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

Speichern und beenden Sie die Datei.

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

Hinweis: Ersetzen Sie im obigen Befehl den Benutzernamen und den Hostnamen, der zu Ihrem Setup passt.

Schritt:3) Firewallregeln für OSD konfigurieren und Knoten überwachen

Falls die Betriebssystem-Firewall aktiviert ist und auf allen Ceph-Knoten ausgeführt wird, müssen wir die folgenden Firewall-Regeln konfigurieren. Andernfalls können Sie diesen Schritt überspringen.

Konfigurieren Sie auf dem Ceph-Admin-Knoten die folgenden Firewall-Regeln mit den folgenden Befehlen,

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

Melden Sie sich bei den OSD- oder Ceph-Rechenknoten an und konfigurieren Sie die Firewall-Regeln mit dem Befehl 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] ~]$

Melden Sie sich beim Ceph Monitor-Knoten an und führen Sie den Befehl firewalld aus, um Firewall-Regeln zu konfigurieren,

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

Schritt:4) Installieren und konfigurieren Sie Ceph Cluster vom Ceph Admin-Knoten

Melden Sie sich als „cephadm“-Benutzer bei Ihrem Ceph-Admin-Knoten an und aktivieren Sie die neueste Version des Ceph Yum-Repositorys. Zum Zeitpunkt der Erstellung dieses Artikels war Mimic die neueste Version von Ceph,

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

Aktivieren Sie auch das EPEL-Repository,

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

Installieren Sie das Ceph-Deploy-Hilfsprogramm mit dem folgenden yum-Befehl,

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

Erstellen Sie ein Verzeichnis mit dem Namen „ceph_cluster “, enthält dieses Verzeichnis alle Cluster-Konfigurationen

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

Generieren Sie nun die Clusterkonfiguration, indem Sie das Dienstprogramm ceph-deploy auf dem Knoten ceph-admin ausführen. Wir registrieren den Knoten ceph-monitor als Monitorknoten im ceph-Cluster. Das Ceph-Deploy-Hilfsprogramm generiert auch „ceph.conf ” im aktuellen Arbeitsverzeichnis.

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

Die Ausgabe des obigen Befehls würde in etwa so aussehen:

Aktualisieren Sie die Netzwerkadresse (öffentliches Netzwerk) unter der globalen Anweisung inceph.conf Datei,  Hier ist das öffentliche Netzwerk das Netzwerk, in dem Ceph-Knoten miteinander kommunizieren, und externe Clients verwenden dieses Netzwerk auch, um auf den Ceph-Speicher zuzugreifen,

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

Speichern und beenden Sie die Datei.

Installieren Sie nun ceph auf allen Knoten vom ceph-admin-Knoten, führen Sie die „ceph-deploy install ” Befehl

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

Der obige Befehl installiert Ceph zusammen mit anderen Abhängigkeiten automatisch auf allen Knoten, je nach Internetgeschwindigkeit auf Ceph-Knoten kann es einige Zeit dauern.

Ausgabe von oben „ceph-deploy install ” Die Ausgabe des Befehls würde ungefähr so ​​​​aussehen:

Führen Sie „ceph-deploy mon create-initial“ aus ”-Befehl vom ceph-admin-Knoten aus, werden die anfänglichen Monitore bereitgestellt und die Schlüssel gesammelt.

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

Führen Sie „ceph-deploy admin“ aus ”-Befehl, um die Konfigurationsdatei vom ceph-admin-Knoten auf alle ceph-Knoten zu kopieren, sodass man den ceph cli-Befehl verwenden kann, ohne die Monitoradresse anzugeben.

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

Installieren Sie den Manager-Daemon vom Ceph-Admin-Knoten auf Ceph Compute Nodes (OSD) mit dem folgenden Befehl

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

Schritt:5) OSD-Festplatten zum Cluster hinzufügen

In meinem Setup habe ich zwei Festplatten /dev/vdb angehängt &/dev/vdc Auf beiden Compute-Knoten werde ich diese vier Datenträger von Compute-Knoten als OSD-Datenträger verwenden.

Lassen Sie uns überprüfen, ob das Dienstprogramm ceph-deploy diese Festplatten sehen kann oder nicht. Führen Sie die „ceph-deploy disk list“ aus ”-Befehl vom ceph-admin-Knoten,

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

Ausgabe des obigen Befehls:

Hinweis: Stellen Sie sicher, dass diese Datenträger nirgendwo verwendet werden und keine Daten enthalten

Um Daten von Datenträgern zu bereinigen und zu löschen, verwenden Sie die folgenden Befehle,

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

Markieren Sie nun diese Festplatten mit den folgenden Befehlen als OSD

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

Schritt:6) Überprüfen Sie den Ceph-Cluster-Status

Überprüfen Sie Ihren Ceph-Cluster-Status mit „ceph health “ &„ceph -s “, führen Sie diese Befehle vom Monitorknoten

aus
[[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] ~]#

Wie wir in der obigen Ausgabe sehen können, ist der Zustand des Ceph-Clusters in Ordnung und wir haben 4 OSDs , alle diese OSDs sind aktiv und aktiv, abgesehen davon können wir sehen, dass in unserem Cluster 80 GB Speicherplatz verfügbar sind.

Bestätigen Sie, dass wir Ceph Cluster erfolgreich auf dem CentOS 7-System installiert und konfiguriert haben. Wenn Ihnen diese Schritte bei der Installation von Ceph in Ihrer Umgebung helfen, teilen Sie uns bitte Ihr Feedback und Ihre Kommentare mit.

Im kommenden Artikel werden wir besprechen, wie den Clients Blockspeicher vom Ceph-Cluster zugewiesen wird, und wir werden sehen, wie Clients auf den Blockspeicher zugreifen können.


Cent OS
  1. So installieren und konfigurieren Sie Nginx unter CentOS 7

  2. So installieren und konfigurieren Sie Redis unter CentOS 7

  3. So installieren und konfigurieren Sie GitLab unter CentOS 7

  4. So installieren und konfigurieren Sie Redmine unter CentOS 7

  5. So installieren und konfigurieren Sie Redis unter CentOS 8

Installieren und konfigurieren Sie phpLDAPAdmin unter CentOS 7 / Ubuntu 16.04

Installieren und konfigurieren Sie Redmine auf CentOS 7

So installieren und konfigurieren Sie ownCloud auf CentOS 7

Check_MK Server auf CentOS 7 installieren und konfigurieren

So installieren und konfigurieren Sie Samba unter CentOS 8

So installieren und konfigurieren Sie Fail2ban unter CentOS 8