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

So mounten Sie CephFS unter CentOS 7

Ceph ist eine Open-Source-Speicherplattform, die hohe Leistung, Zuverlässigkeit und Skalierbarkeit bietet. Es ist ein kostenloses verteiltes Speichersystem, das eine Schnittstelle zu Objekt-, Block- und Dateispeicherung ohne einen einzigen Fehlerpunkt bereitstellt.

Dies ist der dritte Teil der Ceph-Tutorial-Reihe. Im ersten Teil habe ich Ihnen gezeigt, wie Sie einen 'Ceph Cluster' mit mehreren Knoten auf CentOS7 aufbauen. Der zweite Teil ist eine Anleitung, die zeigt, wie Ceph als Blockgerät auf CentOS 7 verwendet wird. In diesem dritten Teil zeige ich Ihnen, wie Sie Ceph als Dateisystem auf CentOS 7 als Client bereitstellen.

Voraussetzungen

  • Ceph-Cluster – 1 Ceph-Admin-Knoten, 1 Moinitor-Knoten (ceph-mon), 3 Ceph-osd-Knoten (siehe Teil 1).
  • Client2 – CentOS 7-Server (siehe Teil 2).
  • Root-Rechte

Schritt 1 – Client2-Knoten konfigurieren

In diesem ersten Schritt werden wir die Basisinstallation des Clients vornehmen. Dies ist das gleiche Verfahren, das wir auf den anderen Cluster-Knoten verwendet haben. Wir erstellen einen neuen Benutzer namens cephuser auf der Box die Zeit mit ntpdate synchronisieren, sudo passwortlos für cephuser konfigurieren etc. Also los geht's...

Verbinden Sie sich mit SSH als Root-Benutzer mit dem client2-Knoten:

ssh [email protected]

Wir haben uns mit Root-Zugriff beim Server angemeldet, jetzt können wir den neuen Cephuser erstellen.

useradd -m -d /home/cephuser cephuser
passwd cephuser
TYPE YOUR NEW PASSWORD

Nachdem der neue Benutzer erstellt wurde, aktivieren Sie sudo passwortlos für den Benutzer, indem Sie eine neue Konfigurationsdatei im sudoers-Verzeichnis erstellen.

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

Installieren Sie als Nächstes NTP, das Befehlszeilentool ntpdate und die Open-VM-Tools. Aktualisieren und synchronisieren Sie dann die Systemzeit mit ntpdate.

yum install -y open-vm-tools
yum install -y ntp ntpdate ntp-doc
ntpdate 0.us.pool.ntp.org
hwclock --systohc
systemctl enable ntpd.service
systemctl start ntpd.service

Deaktivieren Sie SELinux und bearbeiten Sie die Datei des Hosts.

sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
vim /etc/hosts

Hostkonfiguration unten einfügen:

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

Speichern Sie die Hosts-Datei und beenden Sie den Editor. Versuchen Sie nun, den ceph-admin-Knoten zu pingen, um die Verbindung und die Einrichtung des Hostnamens zu testen.

ping -c 3 ceph-admin

Sie sollten die IP-Adresse des ceph-admin-Knotens als Ergebnis sehen.

Schritt 2 – Ceph Common Utilities auf Client2-Knoten installieren

Das Paket ceph-common kann aus dem Ceph-Repository installiert werden. Es enthält die Ceph-Dienstprogramme zum Mounten und Interagieren mit dem Ceph Storage Cluster.

Bevor wir mit der Installation des ceph-common-Pakets fortfahren können, müssen wir das epel-repository und das Ceph-Repository hinzufügen.

sudo yum -y install epel-release
sudo rpm -Uhv http://download.ceph.com/rpm-jewel/el7/noarch/ceph-release-1-1.el7.noarch.rpm

Aktualisieren Sie das System und installieren Sie die allgemeinen Ceph-Dienstprogramme.

sudo yum -y update
sudo yum -y install ceph-common

Als nächstes müssen wir die Konfiguration auf dem ceph-admin-Knoten hinzufügen.

Schritt 3 – Konfigurieren Sie den Ceph-admin-Knoten

In diesem Schritt konfigurieren wir den Cluster so, dass wir mit dem ssh-Schlüssel (ohne Passwort) eine Verbindung von admin zum client2-Knoten herstellen können.

Stellen Sie als Root eine Verbindung mit dem ceph-admin-Knoten her und melden Sie sich dann mit su beim cephuser an.

ssh [email protected]
su - cephuser

Bearbeiten Sie die ssh-Konfigurationsdatei und definieren Sie einen neuen client2-Konfigurationsabschnitt.

vim ~/.ssh/config

Fügen Sie am Ende der Datei die folgende Konfiguration ein:

Host client2
    Hostname client2
    User cephuser

Fügen Sie als Nächstes die Hostkonfigurationszeile für den Clientknoten zur Datei „/etc/hosts“ auf dem ceph-admin-Knoten hinzu.

sudo vim /etc/hosts

Fügen Sie die Hostkonfiguration unten am Ende der Datei ein.

10.0.15.16      client2

Speichern Sie die Hosts-Datei und verlassen Sie den Editor.

Fügen Sie nun den ssh-Schlüssel des ceph-admin-Knotens zum client2-Knoten hinzu.

ssh-keyscan client2 >> ~/.ssh/known_hosts
ssh-copy-id client2
TYPE THE client2 PASSWORD

Der ceph-admin-Schlüssel wurde hinzugefügt. Jetzt können wir ohne das Passwort vom ceph-admin-Knoten auf den Client2-Knoten zugreifen.

ssh client2

Schritt 4 – Erstellen Sie den Ceph MetaData Server

Wenn Sie CephFS ausführen und bereitstellen möchten, benötigen Sie einen Ceph-Metadatenserver (Ceph MDS). Ceph MDS wird auf den OSD-Knoten ausgeführt. Wir können Ceph MDS mit dem Befehl ceph-deploy vom Knoten ceph-admin auf dem OSD-Knoten installieren.

Melden Sie sich beim ceph-admin-Knoten an und werden Sie Cepuser.

ssh [email protected]
su - cephuser

Gehen Sie zum Clusterverzeichnis und führen Sie den Befehl ceph-deploy aus, um einen neuen Ceph-Metadatenserver (Ceph MDS) zu erstellen. Ich werde den 'osd1'-Knoten als Metadatenserver verwenden.

cd cluster/
ceph-deploy mds create osd1

Nachdem wir den MDS-Server auf dem Knoten osd1 erstellt haben, müssen wir uns mit ssh mit dem Knoten verbinden.

ssh osd1

Als nächstes erstellen Sie neue Pools für den MDS-Server, wir brauchen mindestens 2 Pools - cephfs_data und cephfs_metadata.

Erstellen Sie neue Pools auf dem Knoten „osd1“.

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

Die neuen Becken sind fertig. Jetzt können wir das neue Dateisystem erstellen, indem wir die benannten Pools verwenden:cephfs_data und cephfs_metadata.

ceph fs new cephfs cephfs_metadata cephfs_data

cephfs =Name des Dateisystems.

Wenn Sie diesen Schritt ohne Fehler abgeschlossen haben, überprüfen Sie den MDS-Server mit dem folgenden Befehl.

Überprüfen Sie die Liste der MDS-Server:

ceph fs ls

Jetzt können Sie sehen, dass der Dateisystemname „cephfs“, der Metadatenpool „cephfs_metadata“ und der Datenpool „cephfs_data“ ist.

MDB-Status anzeigen:

ceph mds stat

Stellen Sie sicher, dass das MDS hochgefahren und aktiv ist, bevor Sie fortfahren.

Schritt 5 – Mounten Sie CephFS mit dem Kernel-Treiber

Der Ceph MDS-Server wurde auf dem Knoten „osd1“ erstellt. Jetzt können wir CephFS verwenden. In diesem Schritt mounten wir CephFS auf dem client2-Knoten als Dateisystem mit dem Befehl mount.

Bevor wir mit dem nächsten Schritt beginnen, müssen wir ceph-fuse aus dem ceph-Repository auf dem Client2-Knoten installieren.

sudo yum -y install ceph-fuse

Wenn die Installation abgeschlossen ist, kopieren Sie den Schlüssel des Benutzers. In unserer Standardkonfiguration ist die cephx-Authentifizierung aktiviert. Der Standardbenutzer ist „admin“.

Kopieren Sie den Schlüssel vom MDS-Serverknoten „osd1“ auf den Client2-Knoten mit dem scp-Befehl und ändern Sie dann die Berechtigung des Schlüssels.

ssh [email protected] 'sudo ceph-authtool -p /etc/ceph/ceph.client.admin.keyring' > ceph.key
chmod 600 ceph.key

Erstellen Sie als Nächstes ein neues cephfs-Verzeichnis und hängen Sie das CephFS in dieses Verzeichnis ein.

sudo mkdir -p /mnt/cephfs
sudo mount -t ceph mon1:6789:/ /mnt/cephfs -o name=admin,secretfile=ceph.key

Hinweis:

Standardbenutzername =admin
secretfile =ceph.key vom MDS-Knoten osd1

Sie sehen ein neues Dateisystem vom Typ „ceph“, das in der Liste gemountet ist.

sudo df -hT

   

Verwenden Sie zum Aushängen des Dateisystems das Befehlsdienstprogramm umount.

umount /mnt/cephfs

Schritt 6 – Mounten Sie CephFS als Sicherung

Nachdem wir CephFS erfolgreich als Dateisystem gemountet haben, werden wir CephFS als Fuse (Dateisystem in USErspace) mounten. Für dieses Setup müssen wir die Konfigurationsdatei „ceph.conf“ und den Schlüssel vom Überwachungsknoten „mon1“ kopieren.

Erstellen Sie ein neues ceph-Verzeichnis auf dem Client2-Knoten und kopieren Sie die Konfigurationsdatei und den Schlüssel.

sudo mkdir -p /etc/ceph/
sudo scp [email protected]:/etc/ceph/ceph.conf /etc/ceph/ceph.conf
sudo scp [email protected]:/etc/ceph/ceph.client.admin.keyring /etc/ceph/ceph.client.admin.keyring

Ändern Sie die Berechtigungen der Dateien.

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

Erstellen Sie als Nächstes ein neues Sicherungsverzeichnis und hängen Sie CephFS als Fuse in das Verzeichnis „/mnt/fuse“ ein.

sudo mkdir -p /mnt/fuse
sudo ceph-fuse -m mon1:6789 /mnt/fuse

Stellen Sie sicher, dass kein Fehler vorliegt, und prüfen Sie, ob das CephFS gemountet ist.

sudo df -hT

Um die CephFS-Sicherung zu entfernen, verwenden Sie den Kill-Befehl.

sudo ps -aux | grep ceph-fuse
kill -2 PID

Schritt 7 – Mounten Sie CephFS mit fstab

In diesem Schritt werden wir CephFS dauerhaft mit fstab mounten. Wir bearbeiten /etc/fstab und fügen die Konfiguration zum Mounten von CephFS mit dem Kernel-Treiber hinzu, indem wir den Befehl mount verwenden.

Bearbeiten Sie die fstab-Datei.

sudo vim /etc/fstab

Fügen Sie die folgende Konfiguration am Ende der Datei ein:

mon1:6789:/     /mnt/cephfs     ceph        name=admin,secretkey=/home/cephuser/ceph.key,_netdev,noatime    0   0

Speichern Sie die Datei und beenden Sie vim.

Mounten Sie alle Festplatten aus der fstab mit dem Befehl mount -a und listen Sie dann alle verfügbaren Festplatten auf.

sudo mount -a
sudo df -hT

Starten Sie abschließend das System neu und überprüfen Sie die verfügbaren Festplatten, um sicherzustellen, dass die Konfiguration neustartsicher ist.

reboot
sudo df -hT

Sie werden sehen, dass CephFS automatisch mit fstab gemountet wurde.


Cent OS
  1. So installieren Sie Node.js und NPM unter CentOS 7

  2. So installieren Sie node.js unter RHEL 8 / CentOS 8 Linux

  3. So mounten / umounten Sie ein ISO-Image unter CentOS 8 / Rhel 8 Linux

  4. So installieren Sie Node.js und NPM unter CentOS

  5. So installieren Sie SSHFS auf CentOS/RHEL/Ubuntu

Verwendung von tmpfs unter RHEL/CentOS 7

So installieren Sie Chef Workstation/Server/Node unter CentOS 7

So installieren Sie Node.js unter CentOS 7 / RHEL 7

So installieren Sie Node.js unter CentOS 8

So installieren Sie Node.js unter CentOS 7

So installieren Sie Node.js auf CentOS Stream 9