GlusterFS: Unterschied zwischen den Versionen
HK (Diskussion | Beiträge) (→Tests) |
HK (Diskussion | Beiträge) (→Tests) |
||
Zeile 89: | Zeile 89: | ||
== Tests == | == Tests == | ||
=== OpenVZ in KVM === | === OpenVZ in KVM === | ||
− | * Zwei Maschinen per openvpn verbunden | + | * Zwei Maschinen per openvpn verbunden für glusterfs und andere interne Kommunikation. |
+ | * Sie befinden sich im selben Netzwerksegment. | ||
* Zwei glusterfs Volumes | * Zwei glusterfs Volumes | ||
** Eins für die Config, zu mounten unter /vz/conf | ** Eins für die Config, zu mounten unter /vz/conf | ||
Zeile 112: | Zeile 113: | ||
* Maschinen mit dem OpenVZ-Kernel starten. | * Maschinen mit dem OpenVZ-Kernel starten. | ||
* Am besten den alten Kernel löschen oder aus der grub.cfg raus werfen. (chmod 700 grub.cfg!!) | * Am besten den alten Kernel löschen oder aus der grub.cfg raus werfen. (chmod 700 grub.cfg!!) | ||
+ | |||
+ | Das template selbst erstellen (debootstrap) , von openvz dowloaden oder oder.<br> | ||
+ | Wie's beliebt. | ||
+ | |||
==== Probleme ==== | ==== Probleme ==== | ||
− | * Ein CT lässt sich auf beiden Hosts gleichzeitig starten. | + | * Ein CT lässt sich auf beiden Hosts gleichzeitig starten. Das darf nicht passieren! |
+ | * Alternativ: anderes Filesystem? |
Version vom 24. Januar 2014, 15:47 Uhr
Inhaltsverzeichnis
Allgemein
GlusterFS ein Clusteraufsatz für Dateisysteme wie ext4 oder xfs.
Damit bekommen wir die Möglichkeit, einen RAID-1 Speicher mit mehreren Computer herzustellen.
GlusterFS bieten noch mehr Möglichkeiten, die an dieser Stelle nicht behandelt werden.
Ziel
Glusterfs-Server, die auch ihre eigenen Clienten sind.
Das dient als Grundlage für ein HA-System.
Beispiel:
- Computer 1 und Computer zwei stellen ein Gluster Volume bereit, dass sie selber gemountet haben.
- Auf Computer 1 wird ein Webserver ausgeführt, der eine Homepage bereit stellt, deren Daten im Gluster Volume liegen.
- Computer 1 fällt aus.
- Auf Computer 2 wird ein Webserver gestartet. Dieser greift auf die selben Daten zu.
- Fehlt: IP-Switching von einem Webserver zum nächsten.
Sicherheit
Die Server werden mit openvpn verbunden.
Dieser Tunnel stellt die verschlüsslte Verbindung bereit, über die die Gluster-Nodes ihre Daten austauschen.
Herausforderung / Nerviges Problem
Bisher lauschen der Server und der Client auf allen Adressen.
Billiger Hack: Firewall.
Installation
apt-get install glusterfs-server
gluster-client wird automatisch mit installiert.
Configuration Cluster
In unserem Beispiel haben wir zwei Server mit zwei IPs:
node-1: 10.8.0.1
node-2: 10.8.0.2
node-1# gluster peer probe 10.8.0.2
Damit wird ein gluster Cluster bestehend aus node-1 und node-2 erzeugt.
Erzeugen eines Volumes
Vorarbeitungen auf allen Nodes
Es wird ein beliebiges Verzeichniss bereit gestellt.
Beachten: Die Daten in den Verzeichnissen dürfen nach dem Start des Volumes nur noch über den gluster-clienten bearbeitet werden.
Beispiel (auf allen Nodes ausführen):
node-<1 & 2># mkdir /gluster_export/brick_1
Erzeugen des Volumes
Die folgenden Befehle können auf einer beliebigen node des Clusters ausgeführt werden.
node-<beliebig>: gluster volume create gluster_test replica 2 transport tcp 10.8.0.1:/gluster_export/brick_1 10.8.0.2:/gluster_export/brick_1
Das Ergebniss des vorherigen Kommandos prüfen
gluster volume info
Volume Name: gluster_test
Type: Replicate
Status: Created
Number of Bricks: 2
Transport-type: tcp
Bricks:
Brick1: 10.8.0.1:/gluster_export/brick_1
Brick2: 10.8.0.2:/gluster_export/brick_2
Dann das Volume starten
gluster volume start gluster_test
Nochmal prüfen
gluster volume info
Volume Name: gluster_test
Type: Replicate
Status: Started <= Der Unterschied zu vorher
Number of Bricks: 2
Transport-type: tcp
Bricks:
Brick1: 10.8.0.1:/gluster_export/brick_1
Brick2: 10.8.0.2:/gluster_export/brick_2
Mounten des Volumes
Mounten per /etc/fstab.
Der ausgewählte Server ist nur der Einstiegspunkt.
Gemountet wird mittels des Volumennamens.
vim /etc/fstab
Eingetragen wird folgende Zeile
10.8.0.1:/gluster_test /gluster_test_import glusterfs defaults,_netdev 0 0
Beachten:
Beachten: Die Daten dürfen nur noch über den <MOUNT POINT> bearbeitet werden!
Im Rettungsfall ist natürlich alles erlaubt, was hilft.
Tests
OpenVZ in KVM
- Zwei Maschinen per openvpn verbunden für glusterfs und andere interne Kommunikation.
- Sie befinden sich im selben Netzwerksegment.
- Zwei glusterfs Volumes
- Eins für die Config, zu mounten unter /vz/conf
- Eins für die Container, zu mounten unter /var/lib/vz
Install
- Auf beiden Maschinen
vim /etc/apt/sources.list.d/openvz.list
Eintrag in die neue Datei einfügen
deb http://download.openvz.org/debian wheezy main
Öffentlichen Schlüssel des Repos holen und in den apt-schlüsselbund aufnehmen.
wget http://ftp.openvz.org/debian/archive.key
apt-key add archive.key
apt-get update
apt-get install linux-image-openvz-amd64 vzctl
- Maschinen mit dem OpenVZ-Kernel starten.
- Am besten den alten Kernel löschen oder aus der grub.cfg raus werfen. (chmod 700 grub.cfg!!)
Das template selbst erstellen (debootstrap) , von openvz dowloaden oder oder.
Wie's beliebt.
Probleme
- Ein CT lässt sich auf beiden Hosts gleichzeitig starten. Das darf nicht passieren!
- Alternativ: anderes Filesystem?