Inleiding tot GlusterFS (bestandssysteem) en installatie op RHEL/CentOS en Fedora

We leven in een wereld waar data op een onvoorspelbare manier groeit en het onze behoefte is om deze data, of het nu gestructureerd of ongestructureerd is, op een efficiënte manier op te slaan. Gedistribueerde computersystemen bieden een breed scala aan voordelen ten opzichte van gecentraliseerde computersystemen. Hier wordt data op een gedistribueerde manier opgeslagen met verschillende knooppunten als servers.

GlusterFS Storage

Het concept van een metadataserver is niet langer nodig in een gedistribueerd bestandssysteem. In gedistribueerde bestandssystemen biedt het een gemeenschappelijk gezichtspunt van alle bestanden die verdeeld zijn over verschillende servers. Bestanden/mappen op deze opslagservers worden op normale manieren benaderd.

Zo kunnen bijvoorbeeld de machtigingen voor bestanden/mappen worden ingesteld zoals in het gebruikelijke systeemmachtigingsmodel, d.w.z. de eigenaar, groep en anderen. De toegang tot het bestandssysteem hangt in feite af van hoe het bijbehorende protocol is ontworpen om te werken op hetzelfde.

Wat is GlusterFS?

GlusterFS is een gedistribueerd bestandssysteem dat is gedefinieerd om te worden gebruikt in de gebruikersruimte, d.w.z. Bestandssysteem in Gebruikersruimte (FUSE). Het is een op software gebaseerd bestandssysteem dat zijn eigen flexibiliteitskenmerk oplevert.

Bekijk de volgende figuur die schematisch de positie van GlusterFS in een hiërarchisch model weergeeft. Standaard wordt het TCP-protocol gebruikt door GlusterFS.

GlusterFS Design

Voordelen van GlusterFS

  1. Innovatie – Het elimineert de metadata en kan de prestaties drastisch verbeteren, wat ons zal helpen om data en objecten te verenigen.
  2. Elasticiteit – Aangepast aan de groei en vermindering van de omvang van de gegevens.
  3. Lineair Schalen – Het heeft beschikbaarheid tot petabytes en verder.
  4. Eenvoud – Het is gemakkelijk te beheren en onafhankelijk van de kernel terwijl het in de gebruikersruimte draait.

Wat maakt Gluster opvallend tussen andere gedistribueerde bestandssystemen?

  1. Schaalbaar – Het ontbreken van een metadataserver zorgt voor een sneller bestandssysteem.
  2. Voordelig – Het implementeert op commodity hardware.
  3. Flexibel – Zoals ik eerder zei, is GlusterFS een alleen-softwarebestandssysteem. Hier wordt gegevens opgeslagen op native bestandssystemen zoals ext4, xfs, enz.
  4. Open Source – Momenteel wordt GlusterFS onderhouden door Red Hat Inc, een open source bedrijf van miljarden dollars, als onderdeel van Red Hat Storage.

Opslagconcepten in GlusterFS

  1. Brick – Brick is in feite elke directory die bedoeld is om te worden gedeeld tussen het vertrouwde opslagpool.
  2. Vertrouwde Opslagpool – is een verzameling van deze gedeelde bestanden/mappen, die zijn gebaseerd op het ontworpen protocol.
  3. Blok Opslag – Dit zijn apparaten waarmee de gegevens worden verplaatst tussen systemen in de vorm van blokken.
  4. Cluster – In Red Hat Storage hebben zowel cluster als vertrouwde opslagpool dezelfde betekenis van samenwerking tussen opslagservers op basis van een gedefinieerd protocol.
  5. Gedistribueerd bestandssysteem – Een bestandssysteem waarbij gegevens over verschillende knooppunten zijn verspreid waar gebruikers toegang kunnen krijgen tot het bestand zonder de daadwerkelijke locatie van het bestand te kennen. De gebruiker ervaart niet het gevoel van externe toegang.
  6. FUSE – Het is een inlaadbaar kernelmodule waarmee gebruikers bestandssystemen kunnen maken boven de kernel zonder enige kernelcode te betrekken.
  7. glusterd – glusterd is de GlusterFS-beheerdaemon die de ruggengraat van het bestandssysteem vormt en continu actief is wanneer de servers in de actieve staat zijn.
  8. POSIX – Portable Operating System Interface (POSIX) is de familie van standaarden gedefinieerd door de IEEE als een oplossing voor de compatibiliteit tussen Unix-varianten in de vorm van een Application Programmable Interface (API).
  9. RAID – Redundant Array of Independent Disks (RAID) is een technologie die verhoogde opslagbetrouwbaarheid biedt door redundantie.
  10. Subvolume – Een brick nadat deze is verwerkt door minstens één vertaler.
  11. Vertaler – Een vertaler is dat stuk code dat de basisacties uitvoert die door de gebruiker vanaf het koppelingspunt zijn geïnitieerd. Het verbindt één of meer subvolumes.
  12. Volume – Een volume is een logische verzameling bricks. Alle bewerkingen zijn gebaseerd op de verschillende soorten volumes die door de gebruiker zijn gemaakt.
Verschillende soorten volumes

Representaties van verschillende soorten volumes en combinaties tussen deze basisvolumetypes zijn ook toegestaan zoals hieronder weergegeven.

Distributed Volume
Replicated Volume
Striped Volume
Verspreide Gerepliceerde Volume

Vertegenwoordiging van een verspreid gerepliceerd volume.

Distributed Replicated Volume

Installatie van GlusterFS in RHEL/CentOS en Fedora

In dit artikel zullen we GlusterFS voor de eerste keer installeren en configureren voor hoge beschikbaarheid van opslag. Hiervoor nemen we twee servers om volumes te maken en gegevens tussen hen te repliceren.

Stap 1: Hebben ten minste twee knooppunten

  1. Installeer CentOS 6.5 (of een ander besturingssysteem) op twee knooppunten.
  2. Stel hostnamen in als ” server1 ” en ” server2 “.
  3. A working network connection.
  4. Opslagdisk op beide knooppunten genaamd ” /data/brick “.

Stap 2: EPEL en GlusterFS Repository inschakelen

Voordat u GlusterFS op beide servers installeert, moeten we de EPEL en GlusterFS repositories inschakelen om aan externe afhankelijkheden te voldoen. Gebruik de volgende link om de epel repository te installeren en in te schakelen onder beide systemen.

  1. Hoe EPEL Repository inschakelen in RHEL/CentOS

Vervolgens moeten we de GlusterFs repository inschakelen op beide servers.

# wget -P /etc/yum.repos.d http://download.gluster.org/pub/gluster/glusterfs/LATEST/EPEL.repo/glusterfs-epel.repo

Stap 3: GlusterFS installeren

Installeer de software op beide servers.

# yum install glusterfs-server

Start de GlusterFS-beheerdaemon.

# service glusterd start

Controleer nu de status van de daemon.

# service glusterd status
Voorbeelduitvoer
service glusterd start
  service glusterd status
  glusterd.service - LSB: glusterfs server
   	  Loaded: loaded (/etc/rc.d/init.d/glusterd)
  	  Active: active (running) since Mon, 13 Aug 2012 13:02:11 -0700; 2s ago
  	 Process: 19254 ExecStart=/etc/rc.d/init.d/glusterd start (code=exited, status=0/SUCCESS)
  	  CGroup: name=systemd:/system/glusterd.service
  		  ├ 19260 /usr/sbin/glusterd -p /run/glusterd.pid
  		  ├ 19304 /usr/sbin/glusterfsd --xlator-option georep-server.listen-port=24009 -s localhost...
  		  └ 19309 /usr/sbin/glusterfs -f /var/lib/glusterd/nfs/nfs-server.vol -p /var/lib/glusterd/...

Stap 4: SELinux en iptables configureren

Open ‘/etc/sysconfig/selinux‘ en wijzig SELinux naar de “permissive” of “disabled” modus op beide servers. Sla het bestand op en sluit het af.

# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
#     enforcing - SELinux security policy is enforced.
#     permissive - SELinux prints warnings instead of enforcing.
#     disabled - No SELinux policy is loaded.
SELINUX=disabled
# SELINUXTYPE= can take one of these two values:
#     targeted - Targeted processes are protected,
#     mls - Multi Level Security protection.
SELINUXTYPE=targeted

Daarna moet u de iptables op beide nodes legen of toegang toestaan tot de andere node via iptables.

# iptables -F

Stap 5: Configureer de vertrouwde pool

Voer het volgende commando uit op ‘Server1’.

gluster peer probe server2

Voer het volgende commando uit op ‘Server2’.

gluster peer probe server1

Opmerking: Zodra deze pool is verbonden, mogen alleen vertrouwde gebruikers nieuwe servers in deze pool onderzoeken.

Stap 6: Stel een GlusterFS-volume in

Op zowel server1 als server2.

# mkdir /data/brick/gv0

Maak een volume aan op een willekeurige server en start het volume. Hier heb ik ‘Server1’ genomen.

# gluster volume create gv0 replica 2 server1:/data/brick1/gv0 server2:/data/brick1/gv0
# gluster volume start gv0

Controleer vervolgens de status van het volume.

# gluster volume info

Opmerking: Als het volume niet is gestart, worden de foutmeldingen geregistreerd onder ‘/var/log/glusterfs’ op een of beide servers.

Stap 7: Controleer het GlusterFS-volume

Koppel het volume aan een directory onder ‘/mnt’.

# mount -t glusterfs server1:/gv0 /mnt

Nu kunt u bestanden maken en bewerken op het aankoppelpunt als een enkelvoudige weergave van het bestandssysteem.

Kenmerken van GlusterFS

  1. Zelfherstel – Als een van de blokken in een gerepliceerd volume niet beschikbaar is en gebruikers de bestanden wijzigen binnen een ander blok, zal de automatische zelfherstel daemon in actie komen zodra het blok de volgende keer weer beschikbaar is en worden de transacties die hebben plaatsgevonden tijdens de niet-beschikbare periode gesynchroniseerd.
  2. Herbalanceren – Als we een nieuw blok toevoegen aan een bestaand volume waar eerder een grote hoeveelheid gegevens stond, kunnen we een herbalanceeroperatie uitvoeren om de gegevens over alle blokken, inclusief het nieuw toegevoegde blok, te verdelen.
  3. Geo-replicatie – Dit zorgt voor back-ups van gegevens voor rampenherstel. Hier komt het concept van master- en slave-volumes om de hoek kijken. Als de master uitvalt, kan alle data worden benaderd via de slave. Deze functie wordt gebruikt om gegevens te synchroniseren tussen geografisch gescheiden servers. Het initialiseren van een geo-replicatiesessie vereist een reeks gluster-opdrachten.

Hier is een schermafbeelding die de Geo-replicatiemodule toont.

Geo Replication

Referentielinks

GlusterFS Homepage

Dat is het voor nu! Blijf op de hoogte voor de gedetailleerde beschrijving van functies zoals Zelfherstel en Herbalanceren, Geo-replicatie, etc. in mijn aankomende artikelen.

Source:
https://www.tecmint.com/introduction-to-glusterfs-file-system-and-installation-on-rhelcentos-and-fedora/