GlusterFS telepítés Debian környezetben
Összefoglalás
A leírás Debian 10.5 operációs rendszeren készült.
A parancsok root jogot feltételeznek. (állandó root jog: sudo bash)
A szükséges csomagokat az operációs rendszer tárolójából telepítjük.
A példában a glusterfs 5.5 verzió lesz telepítve.
A GlusterFS egy szabad terjesztésű, nyílt forráskódú hálózati elosztott fájlrendszer. A GlusterFS szerver-kliens alapú. A kliens mountolja egy vagy több szerver megosztását. Csak a megosztáson keresztüli fájlműveletek replikálódnak a szerverekre.
A példában 2 szerver node lesz telepítve. Mindkét node egyben kliens is lesz és saját megosztását használja. Így egy redundáns fájlrendszer jön létre, amit használhatnak a node-ok egyéb szolgáltatásai. Tipikusan fájlszervereknél, webszervereknél használható terhelés elosztott klaszterek létrehozására.
GlusterFS telepítése
Mindkét node-on telepítsük:
apt -y install glusterfs-server
GlusterFS szerver konfigurálása
Pool konfigurálása
A GlusterFS pool GlusterFS szerver node-ok csoportja.
A példában a két node FQDN-je:
- node1.glusterfs.local
- node2.glusterfs.local
Ha a környezeti DNS feloldja a node-okat, akkor nincs további teendő. Ha nem akkor az /etc/hosts fájba fel kell venni a domain neveket. Illetve lehetőség van IP címmel is kezelni a node-okat.
Node2 felvitele a node1 -en:
gluster peer probe node2.glusterfs.local
A gluser parancs peer ágával kezelhetjük továbbakban a node-okat.
Volume konfigurálása
Meg kell határozni a fájlrenszerben egy pontot, ahol a a GlusterFS fizikailag tárolja a megosztások tartalmát. Alapesetben ez nem lehet csatolási pont (mount point). Ennek nem kell minden node-on ugyanott lennie, de a példában mindkét node-on az /opt/glusterfs könyvtárat használjuk majd.
Mindkét node-on hozzuk létre a kívánt könyvtára(ka)t:
mkdir -p /opt/glusterfs/share1
Volume (megosztás) létrehozása:
gluster volume create share1 replica 2 node1.glusterfs.local:/opt/glusterfs/share1 node2.glusterfs.local:/opt/glusterfs/share1
2 node esetén figyelmeztet, hogy ilyen esetben előfordul a split-brain állapot. Ha 2 node-ot szeretnénk, fogadjuk el.
A gluser parancs volume ágával kezelhetjük továbbakban a volume-okat.
Szolgáltatás konfigurálása
Ha ugyanazon hoston van a szerver és a kliens, akkor az első node indulásakor a glusterd szolgáltatás indulása és a volume-ok rendelkezésre állása közt van pár másopdperc különbség. A tárolóból telepített verzió erre az esetre nincs felkészítve, és az fstab-ban meghatározott GlusterFS volume-okat nem csatolja fel a boot folyamat alatt.
Ezért a systemd konfigurációt módosítani kell, hogy a GlusterFS szolgáltatás indulása után pár másodpercet várakozzon. A /lib/systemd/system/glusterd.service fájt módosítani kell: be kell szúrni a ExecStartPost=/bin/sleep 5 beállítást a következő képpen:
[Unit]
Description=GlusterFS, a clustered file-system server
Documentation=man:glusterd(8)
Requires=rpcbind.service
After=network.target rpcbind.service
Before=network-online.target
[Service]
Type=forking
PIDFile=/run/glusterd.pid
LimitNOFILE=65536
Environment="LOG_LEVEL=INFO"
EnvironmentFile=-/etc/sysconfig/glusterd
ExecStart=/usr/sbin/glusterd -p /run/glusterd.pid --log-level $LOG_LEVEL $GLUSTERD_OPTIONS
ExecStartPost=/bin/sleep 5
KillMode=process
SuccessExitStatus=15
[Install]
WantedBy=multi-user.target
Ezután engedélyezni kell a szolgáltatást:
systemctl enable glusterd.service
Szolgáltatás indítása:
service glusterd start
A fentieket az összes node-on be kell állítani.
GlusterFS kliens konfigurálása
Meg kell határozni, hogy hová csatoljuk fel a GlusterFS megosztást. A példában az /mnt/glusterfs könytárat használjuk, melyet előtte létrehozunk:
mkdir -p /mnt/glusterfs
Az /etc/fstab fileban hozzuk létre a következő bejegyzést:
localhost:/share1 /mnt/glusterfs glusterfs _netdev 0 0
Majd csatoljuk fel a megosztást:
mount /mnt/glusterfs
A fentieket az összes node-on be kell állítani.