Glusterfs FreeBSD

Allikas: Kuutõrvaja
Redaktsioon seisuga 7. november 2008, kell 14:00 kasutajalt Jj (arutelu | kaastöö)

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

Järgneva õpetuse järgi tehes peaks saama FreeBSD 7.0 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

Installi 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

fetch http://ftp.zresearch.com/pub/gluster/glusterfs/1.4-qa/glusterfs-1.4.0qa28.tar.gz

./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

Loome kaustad

Mountpoint kust hakkame glusterfs'i kasutama

mkdir /mnt/gluster

Kaust mis haagitakse glusterfs serverile kõlge

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

### Add client feature and attach to remote subvolume of server1
volume brick1
 type protocol/client
 option transport-type tcp/client     # for TCP/IP transport
 option remote-host 192.168.1.20      # IP address of the remote brick
 option remote-subvolume brick        # name of the remote volume
end-volume

### Add client feature and attach to remote subvolume of brick2
volume brick2
 type protocol/client
 option transport-type tcp/client     # for TCP/IP transport
 option remote-host 192.168.1.21     # IP address of the remote brick
 option remote-subvolume brick        # name of the remote volume
end-volume 

### Add AFR feature to brick1
volume afr
 type cluster/afr
 subvolumes brick1 brick2
 #option replicate *:2
end-volume 


Stardime serveri ja kliendi

glusterfs -f /usr/local/etc/glusterfs/glusterfs-server.vol
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


Katsetame

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