User Tools

Site Tools


linux:storage:glusterfs

GlusterFS


Übersicht

Storage

  • Brick: Ist ein Filesytem Mount. Ein oder auch mehrere Bricks können ein Volume werden
  • Translator: Info fehlt noch…
  • Volume: Ist die Summe von einem oder mehreren Bricks die freigegeben werden für die Clients
  • Node: Ist ein Storage-Knoten

Gluster Komponenten (Services)

  • glusterd: Ist der “Elastic volume management daemon” und läuft auf jeder Node die ein Volume exportiert
  • glusterfsd: Ist der “GlusterFS brick daemon” und läuft auf jeder Storage Node
  • glusterfs: Ist der NFS Server und FUSE Client Daemon
  • mount.glusterfs: FUSE native Mount Tool
  • gluster: Ist der “Gluster Console Manager”

Arten von Volumes

  • Distributed Volume: Files werden verteilt auf verschiedenen Nodes. Ähnlich wie ein Raid0
  • Striped Volumes: Es werden teile von Files auf verschiedenen Nodes verteilt. So wie es in Raid0 durchgeführt wird.
  • Replicated Volume: Files werden repliziert auf zwei oder mehreren Nodes abgelegt. Ähnlich wie ein Raid1

Installieren der nötigen Pakete

apt-get install glusterfs-server


Mountpoint für das Glusterfs

Es wird ein Filesystem benötigt das dann später für das GlusterFS verwendet werden kann. Bevorzugt ist laut Doku xfs. Es kann natürlich auch ext sein jedoch gehe ich immer auf xfs.

mkfs.xfs /dev/mapper/vg_sas-lv_gluster_sas
mkfs.xfs /dev/mapper/vg_ssd_lv_gluster_ssd
vim /etc/fstab
/dev/mapper/vg_sas-lv_gluster_sas   /var/lib/glusterfs/sas   xfs   defaults   1 2
/dev/mapper/vg_sas-lv_gluster_ssd   /var/lib/glusterfs/ssd   xfs   defaults   1 2

mount -a
mkdir -p /var/lib/glusterfs/sas/vol_sas_data_01
mkdir -p /var/lib/glusterfs/sas/vol_sas_01
mkdir -p /var/lib/glusterfs/ssd/vol_ssd_01


Gluster Peer

Die Nodes müssen ein peering aufbauen. Hier setzt man am besten auf jedem Host die nötigen Einträge im Hostfile.

vim /etc/hosts

10.0.0.11   pve01-storage   pve01
10.0.0.12   pve02-storage   pve02
10.0.0.13   pve03-storage   pve03
gluster peer <ip>
gluster peer status
gluster pool list


Anlegen eines Volumes

Replicate Volume aus drei Bricks

gluster volume create vol_ssd_01 replica 3 transport tcp pve01-storage:/var/lib/glusterfs/ssd/vol_ssd_01 pve02-storage:/var/lib/glusterfs/ssd/vol_ssd_01 pve03-storage:/var/lib/glusterfs/ssd/vol_ssd_01
gluster volume start vol_ssd_01


Volume Info

Info über alle bzw. auch über ein bestimmtes Volume

gluster volume info all
gluster volume info <volumename>
gluster volume get <volumename> all


Brick hinzufügen

Brick zu einem bestehenden Volume hinzufügen.
Hier muss (wenn es ein Replica ist) der Replica Count angepasst werden.
Wir haben bereits ein Volume mit drei Bricks und wollen ein viertes hinzufügen.

gluster volume add-brick vol_ssd_01 replica 24 pve04-storage:/var/lib/glusterfs/ssd/vol_ssd_01


Brick entfernen

Brick aus einem Replica entfernen.
Hier muss der Replica Count angepasst werden.
Wir haben bereits ein Volume mit vier Bricks und möchte auf drei reduzieren.

gluster volume remove-brick vol_ssd_01 replica 3 pve04-storage:/var/lib/glusterfs/ssd/vol_ssd_01 force


Meta Daten von einem Brick entfernen

Wird benötigt wenn man ein “altes” Brick das man entfernt und gelöscht hat wieder verwenden möchte.

setfattr -x trusted.glusterfs.volume-id </path/to/brick>
setfattr -x trusted.gfid </path/to/brick>
rm -rf </path/to/brick>/.glusterfs


Healing

Healing der Volumes

gluster volume heal <volume> info
gluster volume heal <volume> info summary


Healing manuell starten

gluster vol heal <volume> full


Upgrade

https://docs.gluster.org/en/latest/Upgrade-Guide/
Ich verwende dazu die Docs vom Hersteller. Hat bis jetzt immer gut funktioniert.

linux/storage/glusterfs.txt · Last modified: by stone