GNU/Linux >> LINUX-Kenntnisse >  >> Debian

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

Dieses Tutorial zeigt, wie man einen eigenständigen Speicherserver auf Debian Squeeze einrichtet. 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)
  • 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 wie folgt aussieht:

vi /etc/hosts
127.0.0.1 localhost.localdomain localhost192.168.0.100 server1.example.com server1192.168.0.101 client1.example.com client1# Die folgenden Zeilen sind wünschenswert für IPv6-fähige Hosts::1 localhost ip6-localhost ip6-loopbackfe00::0 ip6-localnetff00::0 ip6-mcastprefixff02::1 ip6-allnodesff02::2 ip6-allrouters

(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 als Paket für Debian Squeeze verfügbar, daher können wir es wie folgt installieren:

apt-get install glusterfs-server

Der Befehl

glusterfs --version

sollte nun die gerade installierte GlusterFS-Version anzeigen (in diesem Fall 3.0.5):

[email protected]:~# glusterfs --version
glusterfs 3.0.5 erstellt am 13. Juli 2010 16:44:21
Repository-Revision:v3.0.5
Copyright (c) 2006-2009 Gluster Inc.
GlusterFS wird mit ABSOLUT KEINER GARANTIE geliefert.
Sie dürfen Kopien von GlusterFS unter den Bedingungen der GNU General Public License weitergeben.
[ E-Mail-geschützt]:~#

Als nächstes erstellen wir ein paar Verzeichnisse:

mkdir /data/
mkdir /data/export
mkdir /data/export-ns

Jetzt erstellen wir die GlusterFS-Serverkonfigurationsdatei /etc/glusterfs/glusterfsd.vol (wir erstellen zuerst eine Sicherungskopie der ursprünglichen /etc/glusterfs/glusterfsd.vol-Datei), die definiert, welches Verzeichnis exportiert wird (/data/export) und was Client darf sich verbinden (192.168.0.101 =client1.example.com):

cp /etc/glusterfs/glusterfsd.vol /etc/glusterfs/glusterfsd.vol_orig
cat /dev/null> /etc/glusterfs/glusterfsd.vol
vi /etc/glusterfs/glusterfsd.vol

volume posix type storage/posix option directory /data/exportend-volumevolume locks type features/locks optional-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).

Anschließend starten wir den GlusterFS-Server:

/etc/init.d/glusterfs-server start

3 Einrichten des GlusterFS-Clients

client1.beispiel.com:

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

apt-get install glusterfs-client

Dann erstellen wir folgendes Verzeichnis:

mkdir /mnt/glusterfs

Als nächstes erstellen wir die Datei /etc/glusterfs/glusterfs.vol (wir erstellen zuerst eine Sicherungskopie der Originaldatei /etc/glusterfs/glusterfs.vol):

cp /etc/glusterfs/glusterfs.vol /etc/glusterfs/glusterfs.vol_orig
cat /dev/null> /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/sda1 on / type ext3 (rw,errors=remount-ro)
tmpfs on /lib/init/rw type tmpfs (rw,nosuid,mode=0755)
proc on /proc type proc (rw,noexec,nosuid,nodev)
sysfs on /sys type sysfs (rw,noexec,nosuid,nodev)
udev on /dev type tmpfs (rw,mode=0755)
tmpfs auf /dev/shm geben Sie tmpfs (rw,nosuid,nodev)
devpts auf /dev/pts geben Sie devpts (rw,noexec,nosuid,gid=5,mode =620)
fusectl on /sys/fs/fuse/connections type fusectl (rw)
/etc/glusterfs/glusterfs.vol on /mnt/glusterfs type fuse.glusterfs (rw,allow_other,default_permissions, max_read=131072)
[email protected]:~#

... und ...

df -h

[E-Mail geschützt]:~#df -h
Dateisystemgröße verwendete Verfügung Use Used%montiert auf
/dev/sda1 29g 778m 27g 3%/
TMPFS 249m 0 249m 0%/lib/init /rw
udev 244m 100k 244m 1%/dev
TMPFS 249m 0 249m 0%/dev/shm
/etc/gusterfs/glusterfs.vol
29G 1,2G 27G 5% /mnt/glusterfs
[E-Mail-geschützt]:~#

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,_netdev 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

Wenn das Ändern von /etc/fstab nicht hilft, machen Sie Ihre Änderung an /etc/fstab rückgängig und fügen Sie stattdessen diese Zeile zu /etc/rc.local hinzu (vor der Zeile exit 0):

vi /etc/rc.local
[...]/bin/mount -t glusterfs /etc/glusterfs/glusterfs.vol /mnt/glusterfs[...] 

Dadurch wird sichergestellt, dass die Freigabe gemountet wird, nachdem das Netzwerk hochgefahren ist.

  • GlusterFS:http://www.gluster.org/
  • Debian:http://www.debian.org/

Debian
  1. Hochverfügbarkeitsspeicher mit GlusterFS auf Debian 8 – Spiegelung über zwei Speicherserver

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

  3. Verteilter Speicher über vier Speicherknoten mit GlusterFS auf Debian Lenny

  4. Verteilter replizierter Speicher über vier Speicherknoten mit GlusterFS auf Debian Lenny

  5. Striping über vier Speicherknoten mit GlusterFS auf Debian Lenny

Hochverfügbarkeitsspeicher mit GlusterFS auf Ubuntu 18.04 LTS

Installieren Sie WordPress 5 mit Apache auf Debian 9

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

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

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

Ersteinrichtung des Servers mit Debian 11