raspberrypi cluster mit glusterfs - part 1
das projekt:
mit 4 raspberry pi ein glusterfs aufsetzen und das /home von meinem notebook syncen.
die hardware:
3x raspberry pi B
1x raspberry pi 2
4x usbstick mit je 32gb
4x sdcard (vorsicht bei der auswahl, raspi B ist waehlerisch)
das image fuer die sdcard gibts hier.
dd if=2016-02-09-raspbian-jessie-lite.img of=/dev/mmcblk0 bs=2M
das ganze 4x und danach, auch wieder 4x, mit gparted die ext4 partition vergroessern. koennte man auch spaeter noch mit dem tool raspi-config machen, aber wieso warten.
jetzt habe ich gerade alle zur hand und spaeter muesste ich das einzeln machen.
je eine sdcard in einen raspi ;)
die meisten schritte ab hier beziehen sich auf einen login mit ssh. in meinem setup wird jedem raspi eine feste ip vom router zugeordnet und ich habe entsprechende eintraege in /etc/hosts um mich schnell auf jeden raspi einloggen zu koennen. genau das habe ich dann auch gemacht mit:
ssh pi@rpia
das passwort bei raspbian ist raspberry.
erstmal paketquellen aktualisieren und ein upgrade machen:
apt-get update && apt-get dist-upgrade
hier habe ich diesen schritt noch einzeln gemacht, spaeter wird das ansible erleichtern. ein obligatorischer reboot
sudo reboot
nun koennen wir mit raspi-config verschiedene einstellungen aendern. unter anderem hab ich den hostname auf jedem raspi angepasst, die locales, timezone und den ram split auf 16mb gesetzt. raspi-config hat ein einfaches aber praktisches interface. die erklaerung spare ich mir hier.
nachdem man folgenden befehl ausgefuehrt hat, kann man sich ohne pw auf dem rpia einloggen. das ganze setzt wie oben schon erwaehnt voraus, dass die datei /etc/hosts entsprechend angepasst wurde. falls nicht muss anstatt rpia eine ipaddresse benutzt werden.
ssh-copy-id pi@rpia
falls die die /etc/hosts jetzt noch immer nicht angepasst ist: jetzt ist der richtige zeitpunkt dafuer. ohne die anpassung wird die verwendung von ansible zur qual.
nano /etc/hosts
meine eintraege sehen so aus:
192.168.165.40 rpia
192.168.165.50 raspi2
192.168.165.60 rpib
192.168.165.70 rpic
nun noch kurz ansible installiert. nutzt einfach die paketverwaltung eurer wahl, bei mir wars dnf und apt. ansible muss nur auf dem rechner installiert sein, mit dem man den cluster spaeter verwalten will. auf den raspi muss das nicht drauf sein. bzw um alles was die raspis brauchen kuemmert sich ansible selbst.
jetzt noch die host-eintraege fuer ansible:
nano /etc/ansible/hosts
hier legen wir die "gruppe" fest. ich habe sie glusterfs genannt und tragen darunter die gleichen hosts wie in /etc/hosts ein:
[glusterfs]
rpia
rpib
rpic
raspi2
und nun gehts los. ansible auf seichtem niveau, aber besser als alles 4x zu tippen ;)
erstmal die notwendigen pakete installieren:
ansible glusterfs -m apt -a "name=glusterfs-server,xfsprogs,lsof,htop,munin-node" --user=pi --sudo
jetzt sind wir fast soweit um glusterfs zu konfigurieren, fehlen nur noch die usbsticks. das anlegen bzw. loeschen der vorhandenen partition habe ich wieder auf meinem notebook gemacht. erschien mir als der einfachste weg.
fdisk /dev/sdb
fuer glusterfs wird xfx als dateisystem empfohlen, ob das auch bei einem raspi sinn macht, keine ahnung. auf dem desktop nutze ich das schon laenger.
mkfs.xfs -i size=512 /dev/sdb1
soweit erstmal die vorbereitungen. die naechsten schritte folgen im 2. teil.
kommentare, nachrichten usw. auf twitter unter @wiu_linu
Tweet