„GlusterFS telepítés Debian környezetben” változatai közötti eltérés
Nincs szerkesztési összefoglaló |
|||
| 2. sor: | 2. sor: | ||
A [https://docs.gluster.org/en/latest/ 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 [https://docs.gluster.org/en/latest/ 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. | A példában 2 szerver node lesz telepítve. Mindkét node egyben kliens is lesz és a 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. | ||
A leírás Debian 10. | A leírás Debian 10.7 64 bit operációs rendszeren készült. | ||
A parancsok root jogot feltételeznek. (állandó root jog: sudo -i) | A parancsok root jogot feltételeznek. (állandó root jog: sudo -i) | ||
A | A GlusterFS csomagokat a GlusterFS tárolójából telepítjük | ||
A példában a | A példában a GlusterFS 9.0 verzió lesz telepítve. | ||
==GlusterFS telepítése== | == GlusterFS telepítése == | ||
Az összes node-on végezzük el a következőket. | |||
=== Előfeltételek === | |||
<syntaxhighlight lang="bash"> | |||
apt -y install gnupg | |||
</syntaxhighlight>Célszerű statikus IP címeket adni a node-oknak. | |||
=== GlusterFS tároló telepítése === | |||
<syntaxhighlight lang="bash"> | |||
wget -O - https://download.gluster.org/pub/gluster/glusterfs/8/rsa.pub | apt-key add - | |||
echo deb [arch=amd64] https://download.gluster.org/pub/gluster/glusterfs/9/LATEST/Debian/buster/amd64/apt buster main > /etc/apt/sources.list.d/gluster.list | |||
apt update | |||
</syntaxhighlight> | |||
===GlusterFS szerver telepítése=== | |||
<syntaxhighlight lang="bash"> | |||
apt -y install glusterfs-server | apt -y install glusterfs-server | ||
</syntaxhighlight> | </syntaxhighlight> | ||
==GlusterFS szerver konfigurálása== | ===GlusterFS szerver konfigurálása=== | ||
Ha ugyanazon a 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ásodperc 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:<syntaxhighlight lang="ini"> | |||
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 | |||
[Unit] | [Unit] | ||
Description=GlusterFS, a clustered file-system server | Description=GlusterFS, a clustered file-system server | ||
| 48. sor: | 61. sor: | ||
</syntaxhighlight>Szolgáltatás indítása:<syntaxhighlight lang="bash"> | </syntaxhighlight>Szolgáltatás indítása:<syntaxhighlight lang="bash"> | ||
service glusterd start | service glusterd start | ||
</syntaxhighlight> | </syntaxhighlight> | ||
== GlusterFS szolgáltatás konfigurálása == | |||
===Pool konfigurálása=== | ===Pool konfigurálása=== | ||
A GlusterFS pool GlusterFS szerver node-ok csoportja. | A GlusterFS pool a GlusterFS szerver node-ok csoportja. | ||
A példában a két node FQDN-je: | A példában a két node FQDN-je: | ||
| 58. sor: | 73. sor: | ||
*node2.glusterfs.local | *node2.glusterfs.local | ||
Célszerű az '''/etc/hosts''' fájban felvenni a domain neveket, akkor is, ha a környezeti DNS feloldja a azokat, hogy boot alatt a névfeloldás előtt is használhatóak legyenek. Illetve lehetőség van IP címmel is kezelni a node-okat.<syntaxhighlight lang="ini"> | |||
127.0.0.1 localhost | |||
127.0.1.1 <hostname> | |||
Node2 felvitele a node1 -en:<syntaxhighlight lang="bash"> | <node 1 IP address> node1.glusterfs.local | ||
<node 2 IP address> node2.glusterfs.local | |||
# The following lines are desirable for IPv6 capable hosts | |||
::1 localhost ip6-localhost ip6-loopback | |||
ff02::1 ip6-allnodes | |||
ff02::2 ip6-allrouters | |||
</syntaxhighlight>Node2 felvitele a node1 -en:<syntaxhighlight lang="bash"> | |||
gluster peer probe node2.glusterfs.local | gluster peer probe node2.glusterfs.local | ||
</syntaxhighlight> | </syntaxhighlight>Ezzel a két node egy glusterfs pool-ban van. | ||
Továbbiakban a [https://docs.gluster.org/en/latest/CLI-Reference/cli-main/ gluser parancs peer] ágával kezelhetjük a node-okat. | |||
===Volume konfigurálása=== | ===Volume konfigurálása=== | ||
Meg kell határozni a | Meg kell határozni a fájlrendszerben egy pontot, ahol a a GlusterFS fizikailag tárolja a megosztások tartalmát. Alapesetben ez nem lehet csatolási pont (mount point) és nem lehet a root fájlrendszer (force kapcsolóval elnyomható). 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. <syntaxhighlight lang="bash"> | Mindkét node-on hozzuk létre a kívánt könyvtára(ka)t. <syntaxhighlight lang="bash"> | ||
mkdir -p /opt/glusterfs/share1 | mkdir -p /opt/glusterfs/share1 | ||
</syntaxhighlight>Volume (megosztás) létrehozása. Ha | </syntaxhighlight>Volume (megosztás) létrehozása. <syntaxhighlight lang="bash"> | ||
gluster volume create share1 replica 2 node1.glusterfs.local:/opt/glusterfs/share1 node2.glusterfs.local:/opt/glusterfs/share1 | |||
</syntaxhighlight>Ha már használtuk a a könytárat GlusterFS megosztásra és "already part of a volume" hibával találkozunk, akkor távolítsuk el a gfs extended attribútumokat.<syntaxhighlight lang="bash"> | |||
setfattr -x trusted.glusterfs.volume-id /opt/glusterfs/share1 | setfattr -x trusted.glusterfs.volume-id /opt/glusterfs/share1 | ||
setfattr -x trusted.gfid /opt/glusterfs/share1 | setfattr -x trusted.gfid /opt/glusterfs/share1 | ||
</syntaxhighlight>2 node esetén figyelmeztet, hogy ilyen esetben előfordul a [https://docs.gluster.org/en/latest/Troubleshooting/resolving-splitbrain/#types-of-split-brains split-brain] állapot. Ha 2 node-ot szeretnénk, fogadjuk el. (force kapcsolóval elnyomható) | |||
</syntaxhighlight>2 node esetén figyelmeztet, hogy ilyen esetben előfordul a [https://docs.gluster.org/en/latest/Troubleshooting/resolving-splitbrain/#types-of-split-brains split-brain] állapot. Ha 2 node-ot szeretnénk, fogadjuk el. | |||
Volume elindítása:<syntaxhighlight lang="bash"> | Volume elindítása:<syntaxhighlight lang="bash"> | ||
gluster volume start share1 | gluster volume start share1 | ||
</syntaxhighlight>A biztonság növelése érdekében meghatározhatjuk, mely IP címek érhetik el a volume-ot.<syntaxhighlight lang="bash"> | </syntaxhighlight>A biztonság növelése érdekében meghatározhatjuk, mely IP címek érhetik el a volume-ot.<syntaxhighlight lang="bash"> | ||
gluster volume set share1 auth.allow 1.2.3.4,5.6.7.8 | gluster volume set share1 auth.allow 1.2.3.4,5.6.7.8 | ||
</syntaxhighlight>A [https://docs.gluster.org/en/latest/CLI-Reference/cli-main/ gluser parancs volume] ágával kezelhetjük | </syntaxhighlight>A [https://docs.gluster.org/en/latest/CLI-Reference/cli-main/ gluser parancs volume] ágával kezelhetjük továbbiakban a volume-okat. | ||
==GlusterFS kliens konfigurálása== | ==GlusterFS kliens konfigurálása== | ||
Meg kell határozni, hogy hová csatoljuk fel a GlusterFS megosztást. A példában az /mnt/glusterfs | Meg kell határozni, hogy hová csatoljuk fel a GlusterFS megosztást. A példában az /mnt/glusterfs könyvtárat használjuk, melyet előtte létrehozunk:<syntaxhighlight lang="bash"> | ||
mkdir -p /mnt/glusterfs | mkdir -p /mnt/glusterfs | ||
</syntaxhighlight>Az /etc/fstab | </syntaxhighlight>Az /etc/fstab fájlban hozzuk létre a következő bejegyzést:<syntaxhighlight lang="ini"> | ||
localhost:/share1 /mnt/glusterfs glusterfs _netdev 0 0 | localhost:/share1 /mnt/glusterfs glusterfs _netdev 0 0 | ||
</syntaxhighlight>Majd csatoljuk fel a megosztást:<syntaxhighlight lang="bash"> | </syntaxhighlight>Majd csatoljuk fel a megosztást:<syntaxhighlight lang="bash"> | ||
mount /mnt/glusterfs | mount /mnt/glusterfs | ||
</syntaxhighlight> | </syntaxhighlight><br /> | ||
[[Kategória:Debian]] | [[Kategória:Debian]] | ||
[[Kategória:GlusterFS]] | [[Kategória:GlusterFS]] | ||
[[Kategória:Debian10]] | [[Kategória:Debian10]] | ||
A lap 2021. január 26., 18:35-kori változata
Összefoglalás
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 a 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.
A leírás Debian 10.7 64 bit operációs rendszeren készült.
A parancsok root jogot feltételeznek. (állandó root jog: sudo -i)
A GlusterFS csomagokat a GlusterFS tárolójából telepítjük
A példában a GlusterFS 9.0 verzió lesz telepítve.
GlusterFS telepítése
Az összes node-on végezzük el a következőket.
Előfeltételek
apt -y install gnupg
Célszerű statikus IP címeket adni a node-oknak.
GlusterFS tároló telepítése
wget -O - https://download.gluster.org/pub/gluster/glusterfs/8/rsa.pub | apt-key add -
echo deb [arch=amd64] https://download.gluster.org/pub/gluster/glusterfs/9/LATEST/Debian/buster/amd64/apt buster main > /etc/apt/sources.list.d/gluster.list
apt update
GlusterFS szerver telepítése
apt -y install glusterfs-server
GlusterFS szerver konfigurálása
Ha ugyanazon a 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ásodperc 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
GlusterFS szolgáltatás konfigurálása
Pool konfigurálása
A GlusterFS pool a GlusterFS szerver node-ok csoportja.
A példában a két node FQDN-je:
- node1.glusterfs.local
- node2.glusterfs.local
Célszerű az /etc/hosts fájban felvenni a domain neveket, akkor is, ha a környezeti DNS feloldja a azokat, hogy boot alatt a névfeloldás előtt is használhatóak legyenek. Illetve lehetőség van IP címmel is kezelni a node-okat.
127.0.0.1 localhost
127.0.1.1 <hostname>
<node 1 IP address> node1.glusterfs.local
<node 2 IP address> node2.glusterfs.local
# The following lines are desirable for IPv6 capable hosts
::1 localhost ip6-localhost ip6-loopback
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
Node2 felvitele a node1 -en:
gluster peer probe node2.glusterfs.local
Ezzel a két node egy glusterfs pool-ban van.
Továbbiakban a gluser parancs peer ágával kezelhetjük a node-okat.
Volume konfigurálása
Meg kell határozni a fájlrendszerben egy pontot, ahol a a GlusterFS fizikailag tárolja a megosztások tartalmát. Alapesetben ez nem lehet csatolási pont (mount point) és nem lehet a root fájlrendszer (force kapcsolóval elnyomható). 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
Ha már használtuk a a könytárat GlusterFS megosztásra és "already part of a volume" hibával találkozunk, akkor távolítsuk el a gfs extended attribútumokat.
setfattr -x trusted.glusterfs.volume-id /opt/glusterfs/share1
setfattr -x trusted.gfid /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. (force kapcsolóval elnyomható) Volume elindítása:
gluster volume start share1
A biztonság növelése érdekében meghatározhatjuk, mely IP címek érhetik el a volume-ot.
gluster volume set share1 auth.allow 1.2.3.4,5.6.7.8
A gluser parancs volume ágával kezelhetjük továbbiakban a volume-okat.
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önyvtárat használjuk, melyet előtte létrehozunk:
mkdir -p /mnt/glusterfs
Az /etc/fstab fájlban 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