raspberrypi cluster mit glusterfs - part 2
den ersten teil gibts hier
status: raspbian up-to-date, noetige software installiert, usbsticks vorbereitet.
dann beginnen wir mal mit glusterfs.
mit ansible kann man auf allen 4 raspi gleichzeitig einen ordner anlegen. mountpoint fuer die usbsticks.
ansible glusterfs -m shell -a "mkdir ~/glusterfs" -u pi
danach mounten wir die usbsticks
ansible glusterfs -m shell -a "sudo mount /dev/sda1 ~/glusterfs" -u pi
kurz ueberpruefen ob auch alle 4 usbsticks gemountet sind
ansible glusterfs -m shell -a "df -h" -u pi
mountpoint in die fstab eintragen
echo "/dev/sda1 /home/pi/glusterfs xfs defaults,noatime 0 1" >> /etc/fstab
berechtigungen vom ordner anpassen
ansible glusterfs -m shell -a "sudo chown pi:pi ~/glusterfs" -u pi
einen extra ordner fuers volume erstellen
ansible glusterfs -m shell -a "mkdir ~/glusterfs/notebook" -u pi
hier mal wieder etwas ohne ansible. einfach auf einem der vier raspi einloggen und ein volume erstellen
welche arten von volumes es gibt seht hier
gluster volume create notebook replica 2 stripe 2 raspi2:/home/pi/glusterfs/notebook rpia:/home/pi/glusterfs/notebook rpib:/home/pi/glusterfs/notebook rpic:/home/pi/glusterfs/notebook
infos zum volume gibts mit
gluster volume info
volume in betrieb nehmen
gluster volume start notebook
und nun koennen wir ueberpruefen ob alles laeuft
gluster volume status
der output von gluster volume info und gluster volume status:
root@rpia:~# gluster volume info
Volume Name: notebook
Type: Striped-Replicate
Volume ID: b8f186da-bcfd-4673-ba6a-07e6cc40af38
Status: Started
Number of Bricks: 1 x 2 x 2 = 4
Transport-type: tcp
Bricks:
Brick1: raspi2:/home/pi/glusterfs/notebook
Brick2: rpia:/home/pi/glusterfs/notebook
Brick3: rpib:/home/pi/glusterfs/notebook
Brick4: rpic:/home/pi/glusterfs/notebook
root@rpia:~# gluster volume status
Status of volume: notebook
Gluster process Port Online Pid
------------------------------------------------------------------------------
Brick raspi2:/home/pi/glusterfs/notebook 49153 Y 4209
Brick rpia:/home/pi/glusterfs/notebook 49153 Y 976
Brick rpib:/home/pi/glusterfs/notebook 49153 Y 4120
Brick rpic:/home/pi/glusterfs/notebook 49153 Y 2144
NFS Server on localhost N/A N N/A
Self-heal Daemon on localhost N/A Y 990
NFS Server on raspi2 N/A N N/A
Self-heal Daemon on raspi2 N/A Y 4228
NFS Server on rpib N/A N N/A
Self-heal Daemon on rpib N/A Y 4139
NFS Server on 192.168.165.70 N/A N N/A
Self-heal Daemon on 192.168.165.70 N/A Y 2162
Task Status of Volume notebook
------------------------------------------------------------------------------
There are no active volume tasks
nun koennen wir das glusterfs auf einem client mounten, am einfachsten ist ein eintrag in /etc/fstab
192.168.165.50:/notebook /home/user/notebookglusterfs/ glusterfs default,_netdev 0 0
zu testzwecken synce ich mein /home
rsync -av /home/user /home/user/notebookglusterfs --max-size=100M --min-size=1M --delete-after --exclude=.cache --exclude=Steam --exclude=notebookglusterfs
glusterfs wartung und die beschreibung auf gluster.readthedocs.org
gluster volume heal notebook
gluster volume heal notebook full
gluster volume heal notebook info
gluster volume heal notebook info healed
gluster volume heal notebook info heal-failed
zum schluss noch kurz als anmerkung. fuers monitoring benutze ich munin. die konfiguration ist beim ersten mal entwas verwirrend, aber trotzdem relativ einfach.
um munin plugins anzupassen einfach alles ueberfluessige in /etc/munin/plugins loeschen und danach munin-node-configure ausfuehren.
den munin-node neustarten: systemctl restart munin-node.service
kommentare, nachrichten usw. auf twitter unter @wiu_linu
Tweet