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

Erstellen eines NFS-ähnlichen eigenständigen Speicherservers mit GlusterFS 3.2.x auf CentOS 6.3

Dieses Tutorial zeigt, wie Sie einen eigenständigen Speicherserver auf CentOs 6.3 einrichten. Anstelle von NFS werde ich hier GlusterFS verwenden. Das Client-System kann auf den Speicher zugreifen, als wäre es ein lokales Dateisystem. GlusterFS ist ein geclustertes Dateisystem, das auf mehrere Petabyte skaliert werden kann. Es aggregiert verschiedene Speicherbausteine ​​über Infiniband-RDMA- oder TCP/IP-Verbindungen zu einem großen parallelen Netzwerkdateisystem. Speicherbausteine ​​können aus jeder gängigen Hardware wie x86_64-Servern mit SATA-II-RAID und Infiniband-HBA hergestellt werden.

Ich gebe keine Garantie dafür, dass dies bei Ihnen funktioniert!

1 Vorbemerkung

In diesem Tutorial verwende ich zwei Systeme, einen Server und einen Client:

  • server1.example.com:IP-Adresse 192.168.0.100 (Server)
  • server2.example.com:IP-Adresse 192.168.0.101 (Client)

Beide Systeme sollten in der Lage sein, den Hostnamen des anderen Systems aufzulösen. Wenn dies nicht über DNS möglich ist, sollten Sie die Datei /etc/hosts so bearbeiten, dass sie auf beiden Systemen wie folgt aussieht:

vi /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
192.168.0.100   server1.example.com     server1
192.168.0.101   server2.example.com     server2

::1         localhost localhost.localdomain localhost6 localhost6.localdomain6

(Es ist auch möglich, IP-Adressen anstelle von Hostnamen im folgenden Setup zu verwenden. Wenn Sie lieber IP-Adressen verwenden, müssen Sie sich nicht darum kümmern, ob die Hostnamen aufgelöst werden können oder nicht.)

2 Zusätzliche Repositories aktivieren

server1/server2:

Zuerst importieren wir die GPG-Schlüssel für Softwarepakete:

rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY*

Dann aktivieren wir das EPEL6-Repository auf unseren beiden CentOS-Systemen:

rpm --import https://fedoraproject.org/static/0608B895.txt

cd /tmp
wget http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-7.noarch.rpm
rpm -ivh epel-release-6- 7.noarch.rpm

yum install yum-priorities

Bearbeiten Sie /etc/yum.repos.d/epel.repo...

vi /etc/yum.repos.d/epel.repo

... und fügen Sie die Zeile priority=10 zum Abschnitt [epel] hinzu:

[epel]
name=Extra Packages for Enterprise Linux 6 - $basearch
#baseurl=http://download.fedoraproject.org/pub/epel/6/$basearch
mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-6&arch=$basearch
failovermethod=priority
enabled=1
priority=10
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6
[...]

3 Einrichten des GlusterFS-Servers

server1.beispiel.com:

GlusterFS ist als Paket für EPEL verfügbar, daher können wir es wie folgt installieren:

yum install glusterfs-server

Erstellen Sie die Systemstartlinks für den Gluster-Daemon und starten Sie ihn:

chkconfig --levels 235 glusterd on
/etc/init.d/glusterd start

Der Befehl

glusterfsd --version

sollte jetzt die gerade installierte GlusterFS-Version anzeigen (in diesem Fall 3.2.7):

[[email protected] ~]# glusterfsd --version
glusterfs 3.2.7 erstellt am 11. Juni 2012 13:22:28
Repository-Überarbeitung:git://git.gluster.com/glusterfs.git
Copyright (c) 2006-2011 Gluster Inc.
GlusterFS wird mit ABSOLUT KEINER GARANTIE geliefert.
Sie dürfen Kopien von GlusterFS unter den Bedingungen weitergeben die GNU General Public License.
[[email protected] ~]#

Wenn Sie eine Firewall verwenden, stellen Sie sicher, dass die TCP-Ports 111, 24007, 24008, 24009-(24009 + Anzahl der Bricks über alle Volumes) auf server1.example.com geöffnet sind.

Als nächstes erstellen wir die Freigabe namens testvol auf localhost (=server1) im /data-Verzeichnis (dieses wird erstellt, wenn es nicht existiert):

gluster volume create testvol server1.example.com:/data

[[email protected] ~]# gluster volume create testvol server1.example.com:/data
Die Erstellung des Volumes testvol war erfolgreich. Bitte starten Sie das Volume, um auf die Daten zuzugreifen.
[[email protected] ~]#

Lautstärke starten:

gluster volume start testvol

Sie können den Status des Volumes mit dem Befehl

überprüfen
gluster volume info
[[email protected] ~]# gluster volume info

Name des Volumes:testvol
Typ:Verteilen
Status:Gestartet
Anzahl der Bricks:1
Transporttyp:tcp
Bricks:
Brick1:server1. example.com:/data
[[email protected] ~]#

Wenn es Ihnen sagt, dass das Volume gestartet wurde, ist alles in Ordnung, ansonsten starten Sie es einfach erneut.

Standardmäßig können sich alle Clients mit dem Volume verbinden. Wenn Sie nur client1.example.com (=192.168.0.101) Zugriff gewähren möchten, führen Sie Folgendes aus:

gluster volume set testvol auth.allow 192.168.0.101

Bitte beachten Sie, dass für die IP-Adressen Wildcards verwendet werden können (z. B. 192.168.*) und mehrere IP-Adressen durch Komma getrennt angegeben werden können (z. B. 192.168.0.101,192.168.0.102).

Die Volume-Info sollte nun den aktualisierten Status anzeigen:

gluster volume info
[[email protected] ~]# gluster volume info

Name des Volumes:testvol
Typ:Verteilen
Status:Gestartet
Anzahl der Bricks:1
Transporttyp:tcp
Bricks:
Brick1:server1. example.com:/data
Optionen neu konfiguriert:
auth.allow:192.168.0.101
[[email protected] ~]#

 

4 Einrichten des GlusterFS-Clients

server2.beispiel.com:

Auf dem Client können wir den GlusterFS-Client wie folgt installieren:

yum install glusterfs-client

Dann erstellen wir folgendes Verzeichnis:

mkdir /mnt/glusterfs

Das ist es! Jetzt können wir das GlusterFS-Dateisystem mit dem folgenden Befehl in /mnt/glusterfs einhängen:

mount.glusterfs server1.example.com:/testvol /mnt/glusterfs

Sie sollten nun die neue Freigabe in den Ausgaben von...

sehen
mount

[[email protected] ~]# mount
/dev/mapper/vg_client1-LogVol00 on / geben Sie ext4 (rw) ein
proc on /proc geben Sie proc (rw) ein
sysfs on /sys geben Sie ein sysfs (rw)
devpts auf /dev/pts geben Sie devpts (rw,gid=5,mode=620) ein
tmpfs auf /dev/shm geben Sie tmpfs (rw)
/dev/sda1 ein bei /boot ext4 (rw) eingeben
keine bei /proc/sys/fs/binfmt_misc binfmt_misc (rw) eingeben
sunrpc bei /var/lib/nfs/rpc_pipefs rpc_pipefs (rw) eingeben
server1.example.com:/testvol auf /mnt/glusterfs geben Sie fuse.glusterfs (rw,allow_other,default_permissions,max_read=131072)
[[email protected] ~]#

ein

... und ...

df -h

[[email protected] ~]# df -h
Dateisystem            Größe  Verwendet Avail Use% Gemountet auf
/dev/mapper/vg_client1-LogVol00
                      9.7G  1.7G  7.5G  /
/> TMPFS 499m 0 499m 0%/Dev/SHM
/dev/sda1 504m 39m 440m 9%/boot
server1.example.com:/testvol
9.7g 1.7g 7.5g 19 % /mnt/glusterfs
[[email protected] ~]#

Anstatt die GlusterFS-Freigabe manuell auf dem Client zu mounten, könnten Sie /etc/fstab so ändern, dass die Freigabe automatisch gemountet wird, wenn der Client startet.

Öffnen Sie /etc/fstab und fügen Sie die folgende Zeile an:

vi /etc/fstab  
[...]
server1.example.com:/testvol /mnt/glusterfs glusterfs defaults,_netdev 0 0

Um zu testen, ob Ihre modifizierte /etc/fstab funktioniert, starten Sie den Client neu:

reboot

Nach dem Neustart sollten Sie die Freigabe in den Ausgaben von ...

finden
df -h

... und ...

mount

  • GlusterFS:http://www.gluster.org/
  • GlusterFS 3.2-Dokumentation:http://download.gluster.com/pub/gluster/glusterfs/3.2/Documentation/AG/html/index.html
  • CentOS:http://www.centos.org/

Cent OS
  1. Hochverfügbarkeitsspeicher mit GlusterFS auf CentOS 7 – Spiegelung über zwei Speicherserver

  2. Erstellen eines NFS-ähnlichen eigenständigen Speicherservers mit GlusterFS 3.2.x unter Ubuntu 12.10

  3. Erstellen eines NFS-ähnlichen eigenständigen Speicherservers mit GlusterFS 3.0.x auf Debian Squeeze

  4. Erstellen eines NFS-ähnlichen eigenständigen Speicherservers mit GlusterFS 3.2.x auf Debian Wheezy

  5. Erstellen eines NFS-ähnlichen eigenständigen Speicherservers mit GlusterFS auf Fedora 12

So richten Sie Nginx-Serverblöcke unter CentOS 7 ein

Hochverfügbarkeitsspeicher mit GlusterFS auf Ubuntu 18.04 LTS

Verteilter Speicher auf vier Speicherknoten mit GlusterFS 3.2.x auf CentOS 6.3

Verteilter replizierter Speicher über vier Speicherknoten mit GlusterFS 3.2.x auf CentOS 6.3

CentOS 6.4 Samba Standalone Server mit tdbsam Backend

Erstellen eines NFS-ähnlichen eigenständigen Speicherservers mit GlusterFS auf Fedora 13