GNU/Linux >> Znalost Linux >  >> Debian

Nainstalujte a nakonfigurujte GlusterFS na Ubuntu 16.04 / Debian 8

Ve světě technologií je vždy klíčové udržovat data vysoce dostupná, aby byla zajištěna dostupnost pro aplikaci/uživatele. Vysoké dostupnosti je zde dosaženo distribucí dat mezi více svazků/uzlů.

Klientské počítače/uživatelé mohou přistupovat k úložišti jako k místnímu úložišti. Kdykoli uživatel vytvoří data v úložišti Gluster, data budou zrcadlena/distribuována do jiných uzlů úložiště.

Co je GlusterFS?

GlusterFS je open-source, škálovatelný síťový souborový systém vhodný pro datově náročné úlohy, jako je streamování médií, cloudové úložiště a CDN (Content Delivery Network). GlusterFS byl původně vyvinut společností Gluster Inc a poté Redhat v důsledku akvizice.

Terminologie:

Níže jsou uvedeny důležité terminologie, které v tomto článku používáme.

Cihla – je základní úložiště (adresář) na serveru ve fondu důvěryhodného úložiště.

Hlasitost – je logická sbírka cihel.

Shluk – je skupina propojených počítačů, které spolupracují jako jeden počítač.

Systém distribuovaných souborů – Souborový systém, ve kterém jsou data rozložena mezi více storage nody a umožňuje klientům k nim přistupovat přes síť.

Klient – je stroj, který připojuje svazek.

Server – je počítač, kde je hostován skutečný souborový systém, ve kterém budou data uložena.

Replikovat – Vytváření více kopií dat pro dosažení vysoké redundance.

Pojistka – je načítatelný modul jádra, který umožňuje neprivilegovaným uživatelům vytvářet vlastní systémy souborů bez úpravy kódu jádra.

shluk – je démon, který běží na všech serverech v důvěryhodném fondu úložiště.

RAID – Redundant Array of Inexpensive Disks (RAID) je technologie, která poskytuje zvýšenou spolehlivost úložiště prostřednictvím redundance.

Svazky:

Jak již bylo řečeno dříve, svazek je sbírka cihel a většina operací shluku, jako je čtení a psaní, probíhá na svazku. GlusterFS podporuje různé typy svazků na základě požadavků; vhodné pro škálování velikosti úložiště nebo zlepšení výkonu nebo pro obojí.

V tomto článku nakonfigurujeme replikovaný svazek GlusterFS na Ubuntu 16.04 / Debian 8. Tato příručka by měla fungovat i na předchozích verzích Ubuntu, jako je Ubuntu 14.04 / Ubuntu 12.04.

Replikovaný svazek Glusterfs je jako RAID 1 a Volume uchovává přesné kopie dat na všech cihlách. Při vytváření svazku můžete rozhodnout o počtu replik, takže budete potřebovat alespoň dvě cihly, abyste vytvořili svazek se dvěma replikami, nebo tři cihly, abyste vytvořili objem 3 replik.

Tento objem poskytuje lepší spolehlivost dat a redundanci dat.

Proč si nepřečíst o zbývajících typech svazků GlusterFS.

Požadavky:

Zde nakonfigurujeme svazek GlusterFS se dvěma replikami. Ujistěte se, že máte dva 64bitové systémy (buď virtuální nebo fyzické) s 1 GB paměti a jedním náhradním pevným diskem na každém systému.

Název hostitele IP adresa OS Paměť Disk Účel
gluster1.itzgeek.local 192.168.12.16 Ubuntu 16.04 LTS 1 GB /dev/sdb (5 GB) Uzel úložiště 1
gluster2.itzgeek.local 192.168.12.17 Debian 8 1 GB /dev/sdb (5 GB) Uzel úložiště 2
client.itzgeek.local 192.168.12.8 CentOS 7 / Debian NE NE Klientský stroj
Pro demonstraci zde používám jinou distribuci Linuxu pro každý storage node. Doporučuji vám používat jedinou distribuci Linuxu v celém clusteru, což vám usnadní odstraňování problémů, které se objevují v produkci.

Konfigurace DNS:

Komponenty GlusterFS používají DNS pro překlad názvů, takže nakonfigurujte buď DNS, nebo nastavte položku hosts. Pokud ve svém prostředí nemáte DNS, upravte soubor /etc/hosts a podle toho jej aktualizujte.

sudo vi /etc/hosts192.168.12.16 gluster1.itzgeek.local gluster1192.168.12.17 gluster2.itzgeek.local gluster2192.168.12.20 client.itzgeek.local client

Přidat úložiště GlusterFS:

Než přistoupíme k instalaci, musíme nakonfigurovat úložiště GlusterFS na obou storage nodech. Postupujte podle pokynů pro přidání úložiště do systému.

Debian:

Nainstalujte balíček podpory pro transakce https.

sudo apt-get install -y lsb-releasesudo apt-get install -y apt-transport-https

Přidejte veřejný klíč pro úložiště GlusterFS.

wget -O - http://download.gluster.org/pub/gluster/glusterfs/LATEST/rsa.pub | sudo apt-key add -echo deb https://download.gluster.org/pub/gluster/glusterfs/LATEST/Debian/$(lsb_release -sc)/apt $(lsb_release -sc) main | sudo tee /etc/apt/sources.list.d/gluster.list

Ubuntu 16.04 / 14.04:

sudo apt-get install -y software-properties-commonsudo add-apt-repository ppa:gluster/glusterfs-3.8

Instalovat GlusterFS:

Jakmile do svých systémů přidáte úložiště, můžeme začít s instalací GlusterFS.

Aktualizujte mezipaměť úložiště.

aktualizace sudo apt-get

Nainstalujte balíček GlusterFS pomocí následujícího příkazu.

sudo apt-get install -y glusterfs-server

Spusťte službu glusterfs-server na všech uzlech glusteru.

spuštění služby sudo glusterfs-server

Ověřte, že služba glusterfs běží správně.

raj@gluster1:~$ služba sudo stav serveru glusterfs● glusterfs-server.service - LSB:Server GlusterFS Načteno:načteno (/etc/init.d/glusterfs-server; špatné; přednastaveno dodavatele:povoleno) Aktivní:aktivní (běží) od So 2016-09-24 21:47:20 IST; Před 1min 6s Dokumenty:man:systemd-sysv-generator(8) Proces:1570 ExecStop=/etc/init.d/glusterfs-server stop (code=exited, status=0/USCCESS) Proces:1664 ExecStart=/etc/ start init.d/glusterfs-server (kód=ukončeno, stav=0/ÚSPĚCH) Úkoly:7 (limit:512) Paměť:25,5M CPU:3,552s CGroup:/system.slice/glusterfs-server.service └─1673 /usr/sbin/glusterd -p /var/run/glusterd.pidSep 24 21:47:16 gluster1.itzgeek.local systemd[1]:Spouštění serveru LSB:GlusterFS...24. září 21:47:16 gluster1.itzgeek .local glusterfs-server[1664]:* Spouštění služby glusterd glusterdSep 24 21:47:20 gluster1.itzgeek.local glusterfs-server[1664]:...hotovo.Sep 24 21:47:20 gluster1.systemdgeek.gluster1.itzgeek.local glusterfs-server[1664]:... [1]:Spuštěn LSB:GlusterFS server.

Konfigurace brány firewall:

Budete muset buď deaktivovat bránu firewall, nebo ji nakonfigurovat tak, aby povolovala všechna připojení v rámci clusteru.

sudo iptables -I INPUT -p all -s  -j ACCEPT

Přidat úložiště:

Za předpokladu, že máte na počítači jeden náhradní pevný disk, /dev/sdb je ten, který zde použiji na cihlu. Vytvořte jeden oddíl na náhradním pevném disku, jak je znázorněno níže.

Níže uvedené kroky byste museli provést na obou uzlech.

sudo fdisk /dev/sdb

Naformátujte vytvořený oddíl na souborový systém podle vašeho výběru.

sudo mkfs.ext4 /dev/sdb1

Připojte disk do adresáře s názvem /data/gluster .

sudo mkdir -p /data/glustersudo mount /dev/sdb1 /data/gluster

Přidejte záznam do /etc/fstab pro zachování trvalého připojení po restartu.

echo "/dev/sdb1 /data/gluster ext4 výchozí 0 0" | sudo tee --append /etc/fstab

Nakonfigurujte GlusterFS na Ubuntu 16.04:

Před vytvořením svazku musíme vytvořit důvěryhodný fond úložiště přidáním gluster2.itzgeek.local . Konfigurační příkazy GlusterFS můžete spouštět na libovolném serveru v clusteru, který provede stejný příkaz na všech ostatních serverech.

Zde spustím všechny příkazy GlusterFS v gluster1.itzgeek.local uzel.

raj@gluster1:~$ sudo gluster peer probe gluster2.itzgeek.localpeer probe:úspěch.

Ověřte stav důvěryhodného fondu úložiště.

raj@gluster1:~$ sudo gluster stav peeru Počet vrstevníků:1Název hostitele:gluster2.itzgeek.localUuid:51470928-dfa8-42e1-a221-d7bbcb8c13bdState:Peer in Cluster (Připojeno)

Uveďte seznam úložiště.

raj@gluster1:~$ sudo gluster pool listUUID Hostname State51470928-dfa8-42e1-a221-d7bbcb8c13bd gluster2.itzgeek.local Connecteddc7c1639-d21c-4adf-b282f-515 local9ehosted local 

Nastavení svazku GlusterFS:

Vytvořte cihlu (adresář) s názvem „gvol0 ” v připojeném systému souborů na obou uzlech.

sudo mkdir -p /data/gluster/gvol0

Protože budeme používat replikovaný svazek, vytvořte svazek s názvem „gvol0 ” se dvěma replikami.

raj@gluster1:~$ sudo gluster volume create gvol0 replika 2 gluster1.itzgeek.local:/data/gluster/gvol0 gluster2.itzgeek.local:/data/gluster/gvol0volume create:gvol0:success:prosím spusťte svazek pro přístup k datům

Spusťte hlasitost.

raj@gluster1:~$ sudo gluster volume start gvol0volume start:gvol0:success

Zkontrolujte stav vytvořeného svazku.

raj@gluster1:~$ info o objemu sudo gluster gvol0Název svazku:gvol0Typ:ReplicateVolume ID:ca102e4b-6cd1-4d9d-9c5a-03b882c76da0Stav:Zahájeno Počet snímků:0Počet x2Brick-Brick:1 typ cihel:T. gluster1.itzgeek.local:/data/gluster/gvol0Brick2:gluster2.itzgeek.local:/data/gluster/gvol0Options Překonfigurováno:transport.address-family:inetperformance.readdir-ahead:onnfs.disable:on

Nastavení klienta GlusterFS:

Nainstalujte glusterfs-client balíček pro podporu připojení souborových systémů GlusterFS. Spouštějte všechny příkazy jako root uživatel.

$ su -### CentOS / RHEL ###yum install -y glusterfs-client### Ubuntu / Debian ###apt-get install -y glusterfs-client

Vytvořte adresář pro připojení souborového systému GlusterFS.

mkdir -p /mnt/glusterfs

Nyní připojte souborový systém GlusterFS k /mnt/glusterfs pomocí následujícího příkazu.

mount -t glusterfs gluster1.itzgeek.local:/gvol0 /mnt/glusterfs

Můžete také použít gluster2.itzgeek.local místo gluster1.itzgeek.com ve výše uvedeném příkazu.

Ověřte připojený souborový systém GlusterFS.

[root@client ~]# df -hP /mnt/glusterfs Použitá velikost systému souborů Dostupnost Použití % Namontované ongluster1.itzgeek.local:/gvol0 4,8G 11M 4,6G 1% /mnt/glusterfs

Můžete také použít níže uvedený příkaz k ověření souborového systému GlusterFS.

[root@client ~]# cat /proc/mountsrootfs / rootfs rw 0 0sysfs /sys sysfs rw,seclabel,nosuid,nodev,noexec,relatime 0 0proc /proc proc rw,nosuid,nodev,noexec,relatime rw /dev devtmpfs rw,seclabel,nosuid,size=490448k,nr_inodes=122612,mode=755 0 0securityfs /sys/kernel/security securityfs rw,nosuid,nodev,noexec,relatimeshshm/relatimesshwdetm0 /stmpfsm,stmpfs 0 ,nodev 0 0devpts /dev/pts devpts rw,seclabel,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000 0 0tmpfs /run tmpfs rw,seclabel,nosuid=705t50 /fs/cgroup tmpfs ro,seclabel,nosuid,nodev,noexec,mode=755 0 0cgroup /sys/fs/cgroup/systemd cgroup rw,nosuid,nodev,noexec,relatime,xattr,release_agent=/usr/lib/systemd/ systemd-cgroups-agent,name=systemd 0 0pstore /sys/fs/pstore pstore rw,nosuid,nodev,noexec,relatime 0 0cgroup /sys/fs/cgroup/memory cgroup rw,nosuid,nodev,noexec,relatime,memory 0 0cgroup /sys/fs/cgroup/perf_event cgroup rw,nosuid,nodev,noexec,relatime,perf_event 0 0cgroup /sys/fs/cgroup/cpuset cg roup rw,nosuid,nodev,noexec,relatime,cpuset 0 0cgroup /sys/fs/cgroup/devices cgroup rw,nosuid,nodev,noexec,relatime,devices 0 0cgroup /sys/fs/cgroup/freezer cgroup rw,nosuid,nodev ,noexec,relatime,freezer 0 0cgroup /sys/fs/cgroup/cpu,cpuacct cgroup rw,nosuid,nodev,noexec,relatime,cpuacct,cpu 0 0cgroup /sys/fs/cgroup/blkio cgroup rw,nosuid,nodev,noexe ,relatime,blkio 0 0cgroup /sys/fs/cgroup/hugetlb cgroup rw,nosuid,nodev,noexec,relatime,hugetlb 0 0cgroup /sys/fs/cgroup/net_cls cgroup rw,nosuid,nodev,noexec,slatime,net_0 /sys/kernel/config configfs rw,relatime 0 0/dev/mapper/centos-root / xfs rw,seclabel,relatime,attr2,inode64,noquota 0 0selinuxfs /sys/fs/selinux selinuxfs rw,relatime-0 proc/sys/fs/binfmt_misc autofs rw,relatime,fd=25,pgrp=1,timeout=300,minproto=5,maxproto=5,direct 0 0hugetlbfs /dev/hugepages hugetlbfs rw,seclabel,relatime 0 kernel/debug debugfs rw,relatime 0 0mqueue /dev/mqueue mqueue rw,seclabel,relatime 0 0/dev/mapper/centos-ho já /home xfs rw,seclabel,relatime,attr2,inode64,noquota 0 0/dev/sda1 /boot xfs rw,seclabel,relatime,attr2,inode64,noquota 0 0tmpfs /run/user/0 tmpfecsbel, rw nodev,relatime,size=100136k,mode=700 0 0gluster1.itzgeek.local:/gvol0 /mnt/glusterfs fuse.glusterfs rw,relatime,user_id=0,group_id=0,default_permissions,allow_other,max_read=allow_other,max_read 0 0 fusectl /sys/fs/fuse/connections fusectl rw,relatime 0 0

Přidejte níže uvedený záznam do /etc/fstab pro automatické připojení během spouštění systému.

gluster1.itzgeek.local:/gvol0 /mnt/glusterfs výchozí nastavení glusterfs,_netdev 0 0

Test replikace GlusterFS a vysoké dostupnosti:

Strana serveru GlusterFS:

Chcete-li zkontrolovat replikaci, připojte vytvořený svazek GlusterFS na stejný uzel úložiště.

raj@gluster1:~$ sudo mount -t glusterfs gluster1.itzgeek.local:/gvol0 /mntraj@gluster2:~$ sudo mount -t glusterfs gluster2.itzgeek.local:/gvol0 /mnt

Data uvnitř /mnt adresář obou uzlů bude vždy stejný (replikace).

Strana klienta GlusterFS:

Pojďme vytvořit nějaké soubory na připojeném souborovém systému na client.itzgeek.local.

touch /mnt/glusterfs/file1touch /mnt/glusterfs/file2

Ověřte vytvořené soubory.

[root@client ~]# ll /mnt/glusterfs/celkem 0-rw-r--r--. 1 kořenový kořen 0 26. září 11:22 soubor1-rw-r--r--. 1 kořenový kořen 0 26. září 11:22 soubor2

Otestujte oba uzly GlusterFS, zda mají uvnitř /mnt stejná data .

raj@gluster1:~$ ll /mnt/celkem 12drwxr-xr-x 4 kořenový kořen 4096 26. září 20:52 ./drwxr-xr-x 24 kořenový kořenový adresář 4096 25. září 21:57 ../-rw- r--r-- 1 kořenový kořen 0 26. září 20:52 file1-rw-r--r-- 1 kořenový adresář 0 26. září 20:52 file2raj@gluster2:~$ ls -al /mnt/total 12drwxr-xr -x 4 kořenový kořenový adresář 4096 26. září 06:30 .drwxr-xr-x 23 kořenový adresář 4096 24. září 08:39 ..-rw-r--r-- 1 kořenový adresář 0 26. září 2016 soubor1-rw-r- -r-- 1 kořenový kořen 0 26. září 2016 soubor2

Jak víte, připojili jsme svazek GlusterFS z gluster1.itzgeek.local na client.itzgeek.local , nyní je čas otestovat vysokou dostupnost svazku vypnutím uzlu.

raj@gluster1:~$ sudo poweroff

Nyní otestujte dostupnost souborů, uvidíte soubory, které jsme vytvořili nedávno, i když je uzel mimo provoz.

[root@client ~]# ll /mnt/glusterfs/celkem 0-rw-r--r--. 1 kořenový kořen 0 26. září 11:22 soubor1-rw-r--r--. 1 kořenový kořen 0 26. září 11:22 soubor2
Můžete zaznamenat pomalost při provádění příkazů na připojeném souborovém systému GlusterFS je způsobena přechodem GlusterFS na gluster2.itzgeek.local když client.itzgeek.local nelze dosáhnout gluster1.itzgeek.local .

Vytvořte nějaké další soubory na souborovém systému GlusterFS, abyste zkontrolovali replikaci.

touch /mnt/glusterfs/file3touch /mnt/glusterfs/file4

Ověřte počet souborů.

[root@client ~]# ll /mnt/glusterfs/celkem 0-rw-r--r--. 1 kořenový kořen 0 26. září 11:22 soubor1-rw-r--r--. 1 kořenový kořen 0 26. září 11:22 soubor2-rw-r--r--. 1 kořenový kořen 0 26. září 11:26 soubor3-rw-r--r--. 1 kořenový kořen 0 26. září 11:26 soubor4

Od gluster1 je mimo provoz, všechna vaše data jsou nyní zapsána nagluster2.itzgeek.local kvůli vysoké dostupnosti. Nyní zapněte uzel1 (gluster1.itzgeek.local ).

Zkontrolujte /mnt z gluster1.itzgeekk.local; měli byste vidět všechny čtyři soubory v adresáři, což potvrzuje, že replikace funguje podle očekávání.

raj@gluster1:~$ sudo mount -t glusterfs gluster1.itzgeek.local:/gvol0 /mnt[sudo] heslo pro raj:raj@gluster1:~$ ll /mnt/total 12drwxr-xr-x 4 root root 4096 26. září 20:59 ./drwxr-xr-x 24 kořenový adresář 4096 25. září 21:57 ../-rw-r--r-- 1 kořenový adresář 0 26. září 20:52 file1-rw-r-- r-- 1 kořenový kořen 0 26. září 20:52 file2-rw-r--r-- 1 kořenový kořen 0 26. září 20:56 file3-rw-r--r-- 1 kořenový adresář 0 26. září 20:56 soubor4

To je vše.


Debian
  1. Jak nainstalovat a nakonfigurovat docker na Debian 11

  2. Jak nainstalovat a nakonfigurovat Mariadb 10 v Debianu 11

  3. Jak nainstalovat a nakonfigurovat MongoDB 5 na Debian 11

  1. Nainstalujte a nakonfigurujte Fail2ban na Debian 10

  2. Jak nainstalovat a nakonfigurovat Redis 6 na Debian 11

  3. Nainstalujte a nakonfigurujte Apache a PHP s cgi na Ubuntu nebo Debianu

  1. Jak nainstalovat a nakonfigurovat Redis na Debian 9

  2. Jak nainstalovat a nakonfigurovat Redmine na Debian 9

  3. Jak nainstalovat a nakonfigurovat Webmin na Debian / Ubuntu