Introduksjon til GlusterFS (filsystem) og installasjon på RHEL/CentOS og Fedora


Vi lever i en verden der data vokser på en uforutsigbar måte, og det er vårt behov for å lagre disse dataene, enten de er strukturerte eller ustrukturerte, på en effektiv måte. Distribuerte databehandlingssystemer tilbyr et bredt spekter av fordeler fremfor sentraliserte datasystemer. Her lagres data på en distribuert måte med flere noder som servere.

Konseptet med en metadataserver er ikke lenger nødvendig i et distribuert filsystem. I distribuerte filsystemer tilbyr den et felles synspunkt for alle filene som er adskilt mellom forskjellige servere. Filer/kataloger på disse lagringsserverne får tilgang på vanlige måter.

For eksempel kan tillatelsene for filer/kataloger settes som i vanlig systemtillatelsesmodell, dvs. eier, gruppe og andre. Tilgangen til filsystemet avhenger i utgangspunktet av hvordan den aktuelle protokollen er utformet for å fungere på den samme.

Hva er GlusterFS?

GlusterFS er et distribuert filsystem definert for å brukes i brukerområdet, dvs. filsystem i brukerområdet (FUSE). Det er et programvarebasert filsystem som har sin egen fleksibilitetsfunksjon.

Se på følgende figur som skjematisk representerer posisjonen til GlusterFS i en hierarkisk modell. Som standard vil TCP-protokollen brukes av GlusterFS.

Fordeler med GlusterFS

  1. Innovasjon – Det eliminerer metadataene og kan drastisk forbedre ytelsen som vil hjelpe oss å forene data og objekter.
  2. Elastisitet – Tilpasset vekst og reduksjon av størrelsen på dataene.
  3. Skaler lineært – Den har tilgjengelighet for petabyte og utover.
  4. Enkelhet – Det er enkelt å administrere og uavhengig av kjernen mens det kjøres i brukerområdet.

Hva gjør Gluster enestående blant andre distribuerte filsystemer?

  1. Selgbar – Fravær av en metadataserver gir et raskere filsystem.
  2. Rimelig – Den distribueres på råvaremaskinvare.
  3. Fleksibel – Som jeg sa tidligere, er GlusterFS et filsystem som kun er programvare. Her lagres data på native filsystemer som ext4, xfs etc.
  4. Åpen kildekode – For tiden vedlikeholdes GlusterFS av Red Hat Inc, et åpen kildekode-selskap for milliarder dollar, som en del av Red Hat Storage.

Lagringskonsepter i GlusterFS

  1. Brick – Brick er i utgangspunktet en hvilken som helst katalog som er ment å deles mellom den pålitelige lagringspoolen.
  2. Trusted Storage Pool – er en samling av disse delte filene/katalogene, som er basert på den utformede protokollen.
  3. Blokklagring – De er enheter der dataene blir flyttet på tvers av systemer i form av blokker.
  4. Klynge – I Red Hat Storage formidler både klynge og pålitelig lagringspool den samme betydningen av samarbeid mellom lagringsservere basert på en definert protokoll.
  5. Distribuert filsystem – Et filsystem der data er spredt over forskjellige noder der brukere kan få tilgang til filen uten å vite den faktiske plasseringen av filen. Brukeren opplever ikke følelsen av ekstern tilgang.
  6. FUSE – Det er en lastbar kjernemodul som lar brukere lage filsystemer over kjernen uten å involvere noen av kjernekoden.
  7. glusterd – glusterd er GlusterFS-administrasjonsdaemonen som er ryggraden i filsystemet som vil kjøre gjennom hele tiden når serverne er i aktiv tilstand.
  8. POSIX – Portable Operating System Interface (POSIX) er familien av standarder definert av IEEE som en løsning på kompatibiliteten mellom Unix-varianter i form av et Application Programmable Interface (API).
  9. RAID – Redundant Array of Independent Disks (RAID) er en teknologi som gir økt lagringssikkerhet gjennom redundans.
  10. Undervolum – En kloss etter å ha blitt behandlet av minst én oversetter.
  11. Oversetter – En oversetter er den kodebiten som utfører de grunnleggende handlingene initiert av brukeren fra monteringspunktet. Den kobler sammen ett eller flere undervolumer.
  12. Volum – A volumes er en logisk samling av klosser. Alle operasjonene er basert på de forskjellige volumene som er opprettet av brukeren.
Ulike typer volum

Representasjoner av ulike typer volum og kombinasjoner blant disse grunnleggende volumtypene er også tillatt som vist nedenfor.

Distribuert replikert volum

Representasjon av et distribuert-replikert volum.

Installasjon av GlusterFS i RHEL/CentOS og Fedora

I denne artikkelen skal vi installere og konfigurere GlusterFS for første gang for høy tilgjengelighet av lagring. For dette tar vi to servere for å lage volumer og replikere data mellom dem.

Trinn :1 Ha minst to noder

  1. Installer CentOS 6.5 (eller et hvilket som helst annet operativsystem) på to noder.
  2. Angi vertsnavn kalt «server1» og «server2».
  3. En fungerende nettverkstilkobling.
  4. Lagringsdisk på begge noder kalt "/data/brick".

Trinn 2: Aktiver EPEL og GlusterFS Repository

Før vi installerer GlusterFS på begge serverne, må vi aktivere EPEL- og GlusterFS-lagre for å tilfredsstille eksterne avhengigheter. Bruk følgende kobling for å installere og aktivere epel-repository under begge systemene.

  1. Slik aktiverer du EPEL Repository i RHEL/CentOS

Deretter må vi aktivere GlusterFs repository på begge serverne.

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

Trinn 3: Installere GlusterFS

Installer programvaren på begge serverne.

yum install glusterfs-server

Start GlusterFS-administrasjonsdemonen.

service glusterd start

Sjekk nå statusen til demonen.

service glusterd status
Eksempelutgang
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/...

Trinn 4: Konfigurer SELinux og iptables

Åpne «/etc/sysconfig/selinux» og endre SELinux til enten «tillatende» eller «deaktivert»-modus på begge serverne. Lagre og lukk filen.

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

Deretter skyller du iptablene i begge nodene eller må tillate tilgang til den andre noden via iptables.

iptables -F

Trinn 5: Konfigurer Trusted Pool

Kjør følgende kommando på 'Server1'.

gluster peer probe server2

Kjør følgende kommando på 'Server2'.

gluster peer probe server1

Merk: Når dette bassenget er koblet til, kan bare pålitelige brukere undersøke nye servere inn i denne poolen.

Trinn 6: Sett opp et GlusterFS-volum

På både server1 og server2.

mkdir /data/brick/gv0

Opprett et volum På en enkelt server og start volumet. Her har jeg tatt «Server1'.

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

Deretter bekrefter du volumets status.

gluster volume info

Merk: Hvis volum i tilfelle ikke startes, logges feilmeldingene under "/var/log/glusterfs" på en eller begge serverne.

Trinn 7: Bekreft GlusterFS-volum

Monter volumet til en katalog under '/mnt'.

mount -t glusterfs server1:/gv0 /mnt

Nå kan du opprette, redigere filer på monteringspunktet som en enkelt visning av filsystemet.

Funksjoner av GlusterFS

  1. Selvhelbredelse – Hvis noen av klossene i et replikert volum er nede og brukere endrer filene i den andre klossen, vil den automatiske selvhelbredende daemonen tre i handling så snart klossen er oppe neste gang tid og transaksjonene som skjedde under nedetiden synkroniseres tilsvarende.
  2. Rebalansere – Hvis vi legger til en ny kloss til et eksisterende volum, der store datamengder tidligere fantes, kan vi utføre en rebalanseringsoperasjon for å fordele dataene mellom alle klossene, inkludert den nylig lagt til klossen.
  3. Georeplikering – Den gir sikkerhetskopier av data for katastrofegjenoppretting. Her kommer begrepet master- og slavevolumer. Slik at hvis master er nede kan hele dataene nås via slave. Denne funksjonen brukes til å synkronisere data mellom geografisk adskilte servere. Initialisering av en geo-replikeringsøkt krever en rekke gluster-kommandoer.

Her er følgende skjermbilde som viser geo-replikeringsmodulen.

Referanselenker

GlusterFS hjemmeside

Det var det for nå!. Hold deg oppdatert for den detaljerte beskrivelsen av funksjoner som selvhelbredelse og rebalansering, geo-replikering osv. i mine kommende artikler.