oktober 2013

You are currently browsing the monthly archive for oktober 2013.

GlusterFs är ett väldigt coolt replikerat filsystem. Det innebär att du kan ha dina filer spridda över flera filservrar och därmed alltid ha dina filer tillgängliga även om en server skulle gå ned.

Så här gör du för att installera GlusterFS på två servrar, här nedan kallade glustersrv1.example.com (10.0.0.100) och glustersrv2.example.com (10.0.0.101) samt en klient kallad glusterclient1.example.com (10.0.0.200). Servrarna har var sin tillgänglig extra disk kallad /dev/sdb där vi kommer lägga upp en brick. Den version som installeras här är GlusterFs 3.4.1-3, om du vill installera en annan version, t.ex. om det kommit en nyare version när du läser den här bloggposten får du anpassa kommandona nedan för detta.

 

Börja med att fixa lagringsytan som Gluster ska användas, denna kallas med Glustertermer för en brick, detta görs på båda servrarna:

yum install xfsprogs
fdisk /dev/sdb #Skapa en stor partition här bara
mkfs.xfs -i size=512 /dev/sdb1
mkdir -p /export/sdb1 && mount /dev/sdb1 /export/sdb1 && mkdir /export/sdb1/brick
echo "/dev/sdb1 /export/sdb1 xfs defaults 0 0"  >> /etc/fstab

installera sedan själva glusterfs-mjukvaran, detta görs på båda servrarna:

mkdir gluster_rpms
cd gluster_rpms/
wget -l 1 -nd -nc -r -A.rpm http://download.gluster.org/pub/gluster/glusterfs/LATEST/RHEL/epel-6.4/x86_64/
yum localinstall glusterfs-3.4.1-3.el6.x86_64.rpm glusterfs-fuse-3.4.1-3.el6.x86_64.rpm glusterfs-geo-replication-3.4.1-3.el6.x86_64.rpm glusterfs-server-3.4.1-3.el6.x86_64.rpm glusterfs-libs-3.4.1-3.el6.x86_64.rpm glusterfs-cli-3.4.1-3.el6.x86_64.rpm
service glusterd start
chkconfig glusterd on
chkconfig glusterfsd on

Från glustersrv1.example.com ska du nu göra lite konfiguration:

gluster peer probe 10.0.0.101
gluster volume create replvolume rep 2 transport tcp glustersrv1:/export/sdb1/brick glustersrv2:/export/sdb1/brick
gluster volume start replvolume

På glusterclient1.example.com kan du nu installera den mjukvara du behöver där samt montera den replikerade volymen:

mkdir gluster_rpms
cd gluster_rpms/
wget -l 1 -nd -nc -r -A.rpm http://download.gluster.org/pub/gluster/glusterfs/LATEST/RHEL/epel-6.4/x86_64/
yum localinstall glusterfs-fuse-3.4.1-3.el6.x86_64.rpm glusterfs-3.4.1-3.el6.x86_64.rpm glusterfs-libs-3.4.1-3.el6.x86_64.rpm
mkdir /mnt/gluster
mount -t glusterfs glustersrv1:/replvolume /mnt/gluster

Nu är du klar och kan glatt lägga till fler klienter om du behöver.Notera att även om du monterat klienten mot en av servrarna kommer allt att fortsätta funka även om just den servern går ned. Om en server går sönder kommer den automatiskt att replikera sig tillbaka så att servrarna innehåller samma information när den kommer upp igen. Du kommer heller inte ha problem med split-brain, även om servrarna inte kan prata med varandra, så länge åtminstonne en klient kan prata med båda servrarna. Du kan även se till att servrarna stänger ned sig själva om de skulle bli ensamma och inte ha majoritet i klustret genom att använda en feature som heter server quorum. Detta har jag dock inte testat själv.

 

Instruktionerna har anpassats härifrån:

Switch to our mobile site

Page optimized by WP Minify WordPress Plugin