Glusterfs FreeBSD

Allikas: Kuutõrvaja
Redaktsioon seisuga 3. oktoober 2012, kell 18:35 kasutajalt Jj (arutelu | kaastöö)
(erin) ←Vanem redaktsioon | Viimane redaktsiooni (erin) | Uuem redaktsioon→ (erin)

NB! tekst vajab uuendamist, sest praegu on väljas Glusterfs 3.3 ja FreeBSD9.1

Sissejuhatus

Juba mõniaeg tagasi kuulutati välja ,et FreeBSD'l on glusterfs täiesti toimiv, kahjuks siis veel oli kummaline readdir probleem mis ei lasknud normaalselt kasutada ent versioonist on see parandatud 1.4.0qa28. Näide on ehitatud konreetsele versioonile kuid võib töötada ka uuematega.

Järgneva õpetuse järgi tehes peaks saama FreeBSD 7.0 Rekease peal millele paigaldatud viimased patchid peal tööle glusterfs'i server-client seadistuse

Antud õpetuse eesmärgiks on seadistada kahe serveri peal tööle teineteist peegeldav failisüsteem Järgnevad käsud konfid tuleb teha täpselt identselt mõlemale serverile

Install

Installime fuse

make -C /usr/ports/sysutils/fusefs-kmod install clean

Fuse installil võib panna linnukese kasti autosetup millejärel laaditakse kohe ka fuse.ko ning lisatakse fuse automaatne laadmine igal reboodil rc.local faili

Vajalik sõltuvus installiks veel

make -C /usr/ports/devel/bison install clean

Seejärel tõmmata glusterfs ja installi allpooltoodud võtmetega, edaspidistes versioonides võib loota ei pea ehk ise neid radu nii täpselt määrama.

fetch http://ftp.zresearch.com/pub/gluster/glusterfs/1.4-qa/glusterfs-1.4.0qa28.tar.gz
tar -xf glusterfs-1.4.0qa28.tar.gz
cd glusterfs-1.4.0qa28
./configure -enable-fuse-client LDFLAGS="-L/usr/local/lib -L/usr/lib -I/usr/include -I/usr/local/include"
make CFLAGS="-L/usr/local/lib -L/usr/lib -I/usr/include -I/usr/local/include" 
make install

ning valmis

Seadistus

Loome kaustad

Mountpoint kust hakkame glusterfs'i kasutama

mkdir /mnt/gluster

Kaust mis haagitakse glusterfs serverile kõlge ja kus reaalselt hakkavad failid asuma

mkdir /usr/home/export

Serveri seadistus

/usr/local/etc/glusterfs/glusterfs-server.vol

volume brick
  type storage/posix
  option directory /usr/home/export
 end-volume

volume server
  type protocol/server
  option transport-type tcp/server
  option auth.ip.brick.allow *
  subvolumes brick
end-volume

Kliendi seadistus

/usr/local/etc/glusterfs/glusterfs-client.vol

volume server1
 type protocol/client
 option transport-type tcp/client     
 option remote-host 192.168.1.20     
 option remote-subvolume brick      
end-volume

volume server2
 type protocol/client
 option transport-type tcp/client    
 option remote-host 192.168.1.21    
 option remote-subvolume brick     
end-volume 

volume mount0
 type cluster/afr
 subvolumes server1 server2
end-volume 

Stardime serveri

glusterfs -f /usr/local/etc/glusterfs/glusterfs-server.vol

ja kliendi

glusterfs -f /usr/local/etc/glusterfs/glusterfs-client.vol /mnt/gluster

Need käsud võib kirjutada /etc/rc.local faili kus binaarfail tuleks äramärkida täisrjaga ehk /usr/local/sbin/glusterfs

Debugimiseks saame panna need ka logima

/usr/local/sbin/glusterfs -f /usr/local/etc/glusterfs/glusterfs-server.vol --log-file=/var/log/glusterfsd.log --log-level=DEBUG /usr/local/sbin/glusterfs -f /usr/local/etc/glusterfs/glusterfs-client.vol /mnt/gluster --log-file=/var/log/glusterfsc.log --log-level=DEBUG

Katsetus

mõlemal serveril anname käsu cd /mnt/glusterfs ja

server2# touch fail
server1# ls
fail
server1# echo "infokild" > fail
server2# cat  fail
infokild

Tundub toimivat