Glusterfs FreeBSD
NB! tekst vajab uuendamist, sest praegu on väljas Glusterfs 3.3 ja FreeBSD9.1
Sisukord
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