Gluster UUID modifizieren

Erstellt man in einer virtualisierten Testumgebung mehrere GlusterFS-Nodes aus einem einzigen Template, wird GlusterFS nicht funktionieren, da alle Nodes mit der gleichen UUID arbeiten. Bevor der Verwalter die Peers zu einem Verband zusammenfügt, brauchen die Nodes daher neue, eindeutige UUIDs.
Diese IDs sicher Gluster in /var/lib/glusterd/glusterd.info
Es genügt, diese Datei zu Löschen und den Dienst neu zu starten, um eine neue ID generieren zu lassen:
service glusterd stop
rm -f /var/lib/glusterd/glusterd.info
service glusterd start
cat /var/lib/glusterd/glusterd.info

Gluster-FS Quickstart

Das Test-Setup eines Gluster-FS-Clusters läßt sich relativ zugig durchziehen, allerdings gibt es dabei ein paar Hindernisse zu beachten.
Basis für das Test-Setup: Linux-System mit 8 GB RAM, KVM, libvirt und auf Wunsch Virt-Manager. Darauf laufen später zwei bis vier virtuelle Gluster-Nodes.

Node-Setup:

Als Basis-OS für die Nodes kommt CentOS 6.3-x64 zum Einsatz. Jeder Node verfügt über 1 CPU, 1 GB RAM und ca 32 GB Disk.
Setup des CentOS als „Minimal“. Nach dem Setup, die IP-Adresse des LAN-Adapters in
/etc/sysconfig/network-scripts/ifcfg-eth0
ja nach LAN-Konfiguration anpassen und den Adapter so konfigurieren, dass er beim Systemstart automatisch startet:
ONBOOT="yes"

SE-Linux und Firewall abschalten, da diese Komponenten den Verbindungsaufbau der Gluster-Nodes verhindern können:
In der Datei
/etc/selinux/config
die Konfiguration auf
SELINUX=disabled
ändern.
Die vorgegebenen Firewall-Regeln löschen und die Firewall auf „Durchzug“ schalten:
iptables -F
Distribution aktualisieren:
yum update
anschliessen den Node neu starten.

Nach dem Neustart das Repository der „Extra Packages for Enterprise Linux“ einfügen:
rpm -i http://download.fedoraproject.org/pub/epel/6/i386/epel-release-6-7.noarch.rpm
Aktuell ist das die Version Version 6.7. Das kann sich aber ändern. Daher vor der Installation einfach im Browser:
http://download.fedoraproject.org/pub/epel/6/i386
eingeben und in der Paketliste nach „epel-release“ suchen. Dann die aktuelle Versionsnummer dieses Pakets verwenden.

Anschliessend die Gluster-Komponenten und die NFS-Tools installieren.
yum install glusterfs-server nfs-utils
Das Gluster-FS verfügt über einen NFS-Server, der jedoch aktuell nur NFSv3 beherrscht. Das bitte beim Mounten von NFS-Freigaben berücksichtigen

Nach erfolgter Installation den RPC-Daemon und den Gluster-Service starten:
service rpcbind start
service glusterd start

Über
chkconfig --list
prüfen, ob beide Dienste bei einem Reboot automatisch starten. Falls die Dienste nicht gelistet sind, sie mit chkconfig --add hinzufügen und mit chkconfig dienst on auf Autostart setzen.

Gluster-Konfiguration

Diese Setup-Prozedur für alle Gluster-Nodes wiederholen. Der eben erstellte Node (VM) läßt sich auch Klonen, aber Achtung: Je nach Klon-Verfahren arbeiten Abbilder der VM mit der identischen System-UUID des Originals, was zu einem Scheitern der Gluster-Verbindung führt. Jeder Node muss hier mit einer eigenen eindeutigen System-UUID identifiziert werden.

Nachdem alle Nodes laufen und sich pingen können, läßt sich auf dem „Node1“ die Verbindung zu den benachbarten Bricks aufbauen:
gluster peer probe node2
gluster peer probe node3
....

Und ein Volume erstellen (distributed, replicated, striped, distributed replicated …… etc)
gluster volume create vol1 node1:/vol1 node2:/vol2
gluster volume start vol1

Auf das Volume können Clients entweder via NFS oder den Gluster-Client zugreifen. Linux-System brauchen für den Gluster-Client die Pakete glusterfs-fuse, glusterfs, fuse (Fedora/Redhat/Centros) bzw. glusterfs-client, fuse (Debian/Ubuntu).
Bei einem NFS-Mount nicht die Option -o nfsvers=3 vergessen.