Aus Raspberry Pi Geek 01/2015

Experimente zu Clustering und Lastverteilung mit dem RasPi (Seite 3)

Listing 7

 

# gluster volume create volpi replica 3 transport tcp cluster01:/export/brick cluster02:/export/brick cluster03:/export/brick
volume create: volpi: success: please start the volume to access data

Um auf das neu erstellte Volume zuzugreifen, starten Sie es nun (Listing 8, erstes Kommando). Jetzt sollten Sie noch einen Blick auf das Volume werfen, um zu wissen, ob es ihm gut geht (zweites und drittes Kommando). Um das Volume zu verwenden, binden Sie es einfach von einem Client aus mit dem folgenden Befehl ein:

$ sudo mount -t glusterfs cluster01:/volpi /mnt/gluster/

Achten Sie darauf, dass auf jedem Knoten exakt dieselbe Version von GlusterFS installiert ist. Es besteht nun die Möglichkeit, auf dem gemounteten Dateisystem zu arbeiten wie auf jedem anderen Laufwerk. Damit ist der erste Teil des Experiments abgeschlossen.

Listing 8

 

# gluster volume start volpi
volume start: volpi: success
# gluster volume status volpi
Status of volume: volpi
Gluster process                         Port    Online  Pid
-----------------------------------------------------------
Brick cluster01:/export/brick           49152   Y       7324
Brick cluster02:/export/brick           49152   Y       2738
Brick cluster03:/export/brick           49152   Y       6496
NFS Server on localhost                 2049    Y       7336
Self-heal Daemon on localhost           N/A     Y       7340
NFS Server on cluster02                 2049    Y       2750
Self-heal Daemon on cluster02           N/A     Y       2754
NFS Server on cluster03                 2049    Y       6508
Self-heal Daemon on cluster03           N/A     Y       6512
There are no active volume tasks
# gluster volume info volpi
Volume Name: volpi
Type: Replicate
Volume ID: b66888e7-903c-4a93-93c4-3c953cf9bb2e
Status: Started
Number of Bricks: 1 x 3 = 3
Transport-type: tcp
Bricks:
Brick1: cluster01:/export/brick
Brick2: cluster02:/export/brick
Brick3: cluster03:/export/brick

Geo-Replikation

Das Cluster-Filesystem benötigt auf jeden Fall eine extrem schnelle Netzwerkverbindung zwischen den einzelnen Knoten, um diese untereinander synchron zu halten. Ein normaler DSL-Anschluss mit seinen eher bescheidenen Upload-Raten eignet sich für einen über das Internet verteilten Cluster eigentlich nicht.

Allerdings gibt es eine Alternative, um Daten wenigstens in eine Richtung synchron zu halten: die Geo-Replikation. Sie ermöglicht, einen kompletten Cluster zu kopieren und die Kopie synchron zu halten. Das Verfahren eignet sich für ein Backup oder einen Umzug der Server.

Um eine solche Replikation einzurichten, erzeugen Sie auf dem Master ein SSH-Schlüsselpaar und übertragen den Public Key auf den Zielrechner. Verwenden Sie dabei kein Passwort, indem Sie bei den entsprechenden Abfragen (Listing 9, Zeile 5 und 6) die Eingabetaste betätigen. Anschließend testen Sie die Verbindung mit den folgenden Kommandos:

$ ssh root@cluster04 -i /var/lib/glusterd/geo-replication/secret.pem

Anschließend beginnen Sie damit, den lokalen Cluster zu replizieren. Dabei sollte SSH kein Passwort abfragen – anderenfalls haben Sie etwas falsch konfiguriert.

Listing 9

 

$ ssh-keygen -f /var/lib/glusterd/geo-replication/secret.pem
Generating public/private rsa key pair.
/var/lib/glusterd/geo-replication/secret.pem already exists.
Overwrite (y/n)? y
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /var/lib/glusterd/geo-replication/secret.pem.
Your public key has been saved in /var/lib/glusterd/geo-replication/secret.pem.pub.
The key fingerprint is:
51:1b:67:4a:cf:56:04:7b:19:e1:89:ac:26:01:b4:c2 root@cluster01
The key's randomart image is:
+--[ RSA 2048]----+
|     .o   + +o=. |
|   .   o o X = + |
|    E . o o B =  |
|     .   o o .   |
|        S o      |
|         o       |
|                 |
|                 |
|                 |
+-----------------+
$ ssh-copy-id -i /var/lib/glusterd/geo-replication/secret.pem.pub root@cluster04
root@cluster04's password:
Now try logging into the machine, with "ssh 'root@cluster04'", and check in:
  ~/.ssh/authorized_keys
to make sure we haven't added extra keys that you weren't expecting.

Die Geo-Replikation darf als Ziel ein Dateisystem oder wieder ein Volume verwenden. Um die Kopie auf cluster04 später zu mounten, erstellen Sie ein lokales Volume auf dem Rechner. Der Einfachheit halber heißt es im Test ebenfalls volpi (Listing 10, Zeile 1 bis 4). Anschließend starten Sie die Replikation (Zeile 5 und 6). Ob alles glatt lief, prüfen Sie mit dem entsprechenden Befehl (Zeile 7 bis 10). Ein ls auf cluster04 bestätigt den Erfolg (Listing 11).

Listing 10

 

# gluster volume create volpi transport tcp cluster04:/export/brick
volume create: volpi: success: please start the volume to access data
# gluster volume start volpi
volume start: volpi: success
# gluster volume geo-replication volpi cluster04:volpi start
Starting geo-replication session between volpi & cluster04:/export/brick has been successful
# gluster volume geo-replication volpi cluster04:volpi status
NOD        MASTER   SLAVE             STATUS
----------------------------------------------------
cluster01  volpi    cluster04:volpi   OK

Listing 11

 

# ls /export/brick -la
total 16
drwxr-xr-x 3 root root      4096 Oct  7 12:23 .
drwxr-xr-x 4 root root      4096 Oct  7 11:50 ..
drwxr-xr-x 4 root root      4096 Oct  7 12:22 clients
-rw-r--r-- 1 root root 104857600 Oct  7 08:37 test

An dieser Stelle sei auf die Dokumentation von GlusterFS verwiesen. Es ist ein sehr mächtiges Werkzeug, mit dem Sie Hochverfügbarkeit von Dateisystemen selbst in komplexen Umgebungen herstellen. Allerdings lohnt sich die Überlegung, schnellere Banana Pis [3] oder Cubieboards [4] statt der RasPis einzusetzen.

Apache aufsetzen

Bevor Sie mit der Installation des Webservers weitermachen, gilt es erst einmal, auf dem Root-Dateisystem etwas Platz zu schaffen. Mit dem Kommando aus der ersten Zeile von Listing 12 entfernen Sie Software, die Sie für den aktuellen Einsatz nicht benötigen.

DIESEN ARTIKEL ALS PDF KAUFEN
EXPRESS-KAUF ALS PDFUmfang: 7 HeftseitenPreis €0,99
(inkl. 19% MwSt.)
RASPBERRY PI GEEK KAUFEN
EINZELNE AUSGABE Print-Ausgaben Digitale Ausgaben
ABONNEMENTS Print-Abos Digitales Abo
TABLET & SMARTPHONE APPS Raspberry Pi Geek bei Google Play Readly Logo
Nach oben