GlusterFS: Unterschied zwischen den Versionen

Aus Vosp.info
Wechseln zu:Navigation, Suche
(Tests)
(Tests)
Zeile 101: Zeile 101:
 
  deb http://download.openvz.org/debian wheezy main
 
  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
 
  wget http://ftp.openvz.org/debian/archive.key
  
Zeile 111: Zeile 112:
 
* 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!!)
 +
 +
 +
 +
==== Probleme ====
 +
* Ein CT lässt sich auf beiden Hosts gleichzeitig starten.

Version vom 24. Januar 2014, 15:36 Uhr

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
  • 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!!)


Probleme

  • Ein CT lässt sich auf beiden Hosts gleichzeitig starten.