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

Erstellen eines NFS-ähnlichen eigenständigen Speicherservers mit GlusterFS unter CentOS 5.4

Dieses Tutorial zeigt, wie Sie einen eigenständigen Speicherserver unter CentOS 5.4 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. Storage Bricks können aus jeder handelsüblichen 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)
  • client1.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 die folgenden zwei Zeilen enthält:

vi /etc/hosts
[...]192.168.0.100 server1.example.com server1192.168.0.101 client1.example.com client1[...] 

(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 Einrichten des GlusterFS-Servers

server1.beispiel.com:

GlusterFS ist nicht als Paket für CentOS 5.4 verfügbar, daher müssen wir es selbst erstellen. Zuerst installieren wir die Voraussetzungen:

yum groupinstall 'Entwicklungstools'
yum groupinstall 'Entwicklungsbibliotheken'
yum installiere libibverbs-devel fuse-devel

Dann laden wir die neueste GlusterFS-Version von http://www.gluster.org/download.php herunter und erstellen sie wie folgt:

cd /tmp
wget http://ftp.gluster.com/pub/gluster/glusterfs/2.0/LATEST/glusterfs-2.0.9.tar.gz
tar xvfz glusterfs-2.0.9.tar .gz
cd glusterfs-2.0.9
./configure

Am Ende des ./configure-Befehls sollten Sie etwa Folgendes sehen:

[...]
GlusterFS-Konfigurationszusammenfassung
=========================
FUSE-Client        :ja
Infiniband-Verben   : ja
epoll IO multiplex : ja
Berkeley-DB        : ja
libglusterfsclient : ja
argp-standalone    : nein

[[email protected] glusterfs-2.0.9]#

make &&make install
ldconfig

Überprüfen Sie anschließend die GlusterFS-Version (sollte 2.0.9 sein):

glusterfs --version

[[email protected] glusterfs-2.0.9]# glusterfs --version
glusterfs 2.0.9 erstellt am 1. März 2010 15:34:50
Repository-Revision:v2.0.9
Copyright ( c) 2006-2009 Gluster Inc.
Für GlusterFS gilt ABSOLUT KEINE GEWÄHRLEISTUNG.
Sie dürfen Kopien von GlusterFS unter den Bedingungen der GNU General Public License weitergeben.
[[email protected] glusterfs-2.0.9]#

Als nächstes erstellen wir ein paar Verzeichnisse:

mkdir /data/
mkdir /data/export
mkdir /data/export-ns
mkdir /etc/glusterfs

Jetzt erstellen wir die GlusterFS-Serverkonfigurationsdatei /etc/glusterfs/glusterfsd.vol, die definiert, welches Verzeichnis exportiert wird (/data/export) und welcher Client sich verbinden darf (192.168.0.101 =client1.example.com):

vi /etc/glusterfs/glusterfsd.vol
volume posix type storage/posix option directory /data/exportend-volumevolume locks type features/locks option required-locks on subvolumes posixend-volumevolume brick type performance /io-threads option thread-count 8 subvolumes locksend-volumevolume server type protocol/server option transport-type tcp option auth.addr.brick.allow 192.168.0.101 # Bearbeiten und fügen Sie hier eine Liste erlaubter Clients durch Kommas getrennte IP-Adressen(Namen) hinzu Subvolumes brickend-Volume

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).

Danach erstellen wir den folgenden Symlink...

ln -s /usr/local/sbin/glusterfsd /sbin/glusterfsd

... und dann die Systemstartlinks für den GlusterFS-Server und starten Sie ihn:

chkconfig --levels 35 glusterfsd on
/etc/init.d/glusterfsd start

3 Einrichten des GlusterFS-Clients

client1.beispiel.com:

GlusterFS ist nicht als Paket für CentOS 5.4 verfügbar, daher müssen wir es selbst erstellen. Zuerst installieren wir die Voraussetzungen:

yum groupinstall 'Entwicklungstools'
yum groupinstall 'Entwicklungsbibliotheken'
yum installiere libibverbs-devel fuse-devel

Dann laden wir das Fuse-Kernel-Modul...

modprobe-Fuse

... und erstellen Sie die Datei /etc/rc.modules mit folgendem Inhalt, damit das Fuse-Kernel-Modul automatisch geladen wird, wenn das System bootet:

vi /etc/rc.modules
Modprobe-Fuse

Machen Sie die Datei ausführbar:

chmod +x /etc/rc.modules 

Dann laden wir die Quellen von GlusterFS 2.0.9 herunter (bitte beachten Sie, dass dies dieselbe Version ist, die auf dem Server installiert ist!) und bauen GlusterFS wie folgt:

cd /tmp
wget http://ftp.gluster.com/pub/gluster/glusterfs/2.0/LATEST/glusterfs-2.0.9.tar.gz
tar xvfz glusterfs-2.0.9.tar .gz
cd glusterfs-2.0.9
./configure

Am Ende des ./configure-Befehls sollten Sie etwa Folgendes sehen:

[...]
GlusterFS-Konfigurationszusammenfassung
=========================
FUSE-Client        :ja
Infiniband-Verben   : ja
epoll IO multiplex : ja
Berkeley-DB        : ja
libglusterfsclient : ja
argp-standalone    : nein

make &&make install
ldconfig

Überprüfen Sie anschließend die GlusterFS-Version (sollte 2.0.9 sein):

glusterfs --version

[[email protected] glusterfs-2.0.9]# glusterfs --version
glusterfs 2.0.9 erstellt am 1. März 2010 15:58:06
Repository-Revision:v2.0.9
Copyright ( c) 2006-2009 Gluster Inc.
Für GlusterFS gilt ABSOLUT KEINE GEWÄHRLEISTUNG.
Sie dürfen Kopien von GlusterFS unter den Bedingungen der GNU General Public License weitergeben.
[[email protected] glusterfs-2.0.9]#

Dann erstellen wir die folgenden zwei Verzeichnisse:

mkdir /mnt/glusterfs
mkdir /etc/glusterfs

Als nächstes erstellen wir die Datei /etc/glusterfs/glusterfs.vol:

vi /etc/glusterfs/glusterfs.vol
volume remote type Protokoll-/Client-Option transport-type tcp option remote-host server1.example.com # kann IP oder hostname option remote-subvolume brickend sein -volumevolume Writebehind-Typ Performance/Write-Behind-Option Window-Size 4 MB Subvolumes Remoteend-VolumeVolume-Cache-Typ Performance/io-Cache-Option Cache-Größe 512 MB Subvolumes WriteBehind-Volume

Stellen Sie sicher, dass Sie den richtigen Server-Hostnamen oder die richtige IP-Adresse in der Option Remote-Host-Zeile verwenden!

Das ist es! Jetzt können wir das GlusterFS-Dateisystem mit einem der folgenden beiden Befehle in /mnt/glusterfs einhängen:

glusterfs -f /etc/glusterfs/glusterfs.vol /mnt/glusterfs

oder

mount -t glusterfs /etc/glusterfs/glusterfs.vol /mnt/glusterfs

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

sehen
einhängen

[[email protected] ~]# mount
/dev/mapper/VolGroup00-LogVol00 on / type ext3 (rw)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
devpts auf /dev/pts geben Sie devpts (rw,gid=5,mode=620) ein
/dev/sda1 auf /boot geben Sie ext3 (rw) ein
tmpfs auf / dev/shm tippe tmpfs (rw)
keine auf /proc/sys/fs/binfmt_misc tippe binfmt_misc (rw)
sunrpc auf /var/lib/nfs/rpc_pipefs tippe rpc_pipefs (rw)
glusterfs#/etc/glusterfs/glusterfs.vol auf /mnt/glusterfs Typ Fuse (rw,allow_other,default_permissions,max_read=131072)
[[email protected] ~]#

... und ...

df -h

[[email protected] ~]# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/VolGroup00-LogVol00
                                           29G  2.2G   25G  br 9 %. / /dev/sda1 99m 13m 82m 14%/boot
tmpfs 187m 0 187m 0%/dev/shm
glusterfs#/etc/glusterfs/glusterfs.vol
28g 2,3G 25G 9%/ 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 
[...]/etc/glusterfs/glusterfs.vol /mnt/glusterfs glusterfs defaults 0 0

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

Neustart 

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

finden
df -h 

... und ...

einhängen

  • GlusterFS:http://www.gluster.org/
  • CentOS:http://www.centos.org/

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

  2. Erstellen eines NFS-ähnlichen eigenständigen Speicherservers mit GlusterFS auf Debian Lenny

  3. Erstellen eines NFS-ähnlichen eigenständigen Speicherservers mit GlusterFS unter CentOS 5.4

  4. Verteilter replizierter Speicher über vier Speicherknoten mit GlusterFS auf CentOS 5.4

  5. Verteilter Speicher auf vier Speicherknoten mit GlusterFS unter CentOS 5.4

So richten Sie einen FTP-Server mit VSFTPD unter CentOS 7 ein

So richten Sie einen FTP-Server mit VSFTPD unter CentOS 8 ein

Hochverfügbarkeitsspeicher mit GlusterFS auf Ubuntu 18.04 LTS

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

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

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