PC-HQ.net

PC-HQ.net

Linux, Windows, Whatever…

PC-HQ.net RSS Feed
 
 
 
 

Success!!

So I got a working setup of Glusterfs using the unify and afr settings.  I still need to make a few tweaks for performance but hey, it works.

Stupid, crappy cd-rom

I had to steal my dvd-rom off my other machine because the cd-rom on the frankenstein machine was crapping out on me.  I am now having to start from scratch on that machine because I was getting all types of errors.  Good news is the dvd-rom is much faster at installing.  I should be up and running in no time but with all these issues causing delays, I probably won’t get to finish it tonight.  Sorry!

Rough Draft config

I’m still waiting on my server to finish installing so I made a rough sketch of what my gluster config will look like.  I actually thought I had a spare case and a few other things but I don’t…so my motherboard is sitting on an anti-static pad with the hard drives, power supply and cd-rom all sitting next to it.  The things I do to make something work.

Again this is the rough draft and I will elaborate on it later.

Basically, this run, I am going to have 2 servers, Server 1 and Server 2 with Server 1 acting as my Client as well.  So here is the basic design of the config.

Server 1 glusterfs-server.vol

volume brick1
    type storage/posix
    option directory /mnt/glustera
end-volume

volume brick2
    type storage/posix
    option directory /mnt/glusterb
end-volume

volume ns1
    type storage/posix
    option directory /mnt/ns
end-volume

volume server
    type protocol/server
    option transport-type tcp/server
    subvolumes brick1 brick2 ns1
    option auth.ip.brick1.allow 192.168.2.*
    option auth.ip.brick2.allow 192.168.2.*
    option auth.ip.ns1.allow 192.168.2.*
end-volume

Server 2 glusterfs-server.vol (Essentially the same thing)

volume brick1
type storage/posix
option directory /mnt/glustera
end-volume

volume brick2
type storage/posix
option directory /mnt/glusterb
end-volume

volume ns2
    type storage/posix
    option directory /mnt/ns
end-volume

volume server
type protocol/server
option transport-type tcp/server
subvolumes brick1 brick2 ns2
option auth.ip.brick1.allow 192.168.2.*
option auth.ip.brick2.allow 192.168.2.*
option auth.ip.ns2.allow 192.168.2.*
end-volume

Client glusterfs-client.vol

   volume stripe-1a
     type protocol/client
     option transport-type tcp/client
     option remote-host 192.168.2.115
     option remote-subvolume brick1
   end-volume

   volume stripe-1b
     type protocol/client
     option transport-type tcp/client
     option remote-host 192.168.2.115
     option remote-subvolume brick2
   end-volume

   volume stripe-2a
     type protocol/client
     option transport-type tcp/client
     option remote-host 192.168.2.116
     option remote-subvolume brick1
   end-volume

   volume stripe-2b
     type protocol/client
     option transport-type tcp/client
     option remote-host 192.168.2.116
     option remote-subvolume brick2
   end-volume

   volume client-ns-1
     type protocol/client
     option transport-type tcp/client
     option remote-host 192.168.2.115
     option remote-subvolume ns1
   end-volume

   volume client-ns-2
     type protocol/client
     option transport-type tcp/client
     option remote-host 192.168.2.116
     option remote-subvolume ns2
   end-volume

   volume unifyA
     type cluster/unify
     subvolumes stripe-1a stripe-1b
     option namespace client-ns-1 # should be a node which is not present in 'subvolumes'
     option scheduler rr    # simple round-robin scheduler
   end-volume

   volume unifyB
     type cluster/unify
     subvolumes stripe-2a stripe-2b
     option namespace client-ns-2 # should be a node which is not present in 'subvolumes'
     option scheduler rr    # simple round-robin scheduler
   end-volume

volume afr
   type cluster/afr
   subvolumes unifyA unifyB
end-volume

So once I get this implemented and confirm that it works, I will be creating a complete post with instructions for a start to finish install using Ubuntu on a 2 server 4 hard drive config.  That would be a common startup for most people who had an extra drive or 2 lying around and a couple of old machines…Stay tuned!

I’m in luck!

Sorry for any delay…I found an old copy of Final Fantasy X11 while I was getting a tire fixed the other day (gamestop is really close to discount tire).  Picked it up used for cheap so most of my hours awake have gone into that.

Anyway, I’ll get to the point…

While going through all my old parts I have found enough pieces to put together 2 nearly identical machines.  Nothing to write home about…they’re older 462 Semprons and I’ll run them with 4 80 GB drives spanned and replicated between them.  They will serve their purpose as my glusterfs servers/clients to at least do a complete test run.  Once I can justify the purchase of better materials, I’ll upgrade to 4 1 TB drives on a more modern 64-bit system.  That should give me a replicted 2 TB of storage compared to my test of 160GB.  Both tests will be similar to a RAID 01 setup.

My greatest hurdle I’ve run into was getting a mixed system of a 32-bit and 64-bit talking to each other but found the version of glusterfs I had for each was the wrong version.  So I had to compile them both using this guide http://ubuntuforums.org/showthread.php?t=883614&highlight=gluster and things started working out better.  I would still have issues with the machines suddenly disconnecting but I was only running spanning, not replication and the drives were 2 different sizes…one 60 GB and one 200 GB on 2 machines.  I was planning on going with more machines and more drives but 2 machines with a few drives will do everything I need.

I was excited to see that Seagate recently released a 1.5TB drive.  HUGE storage.  Most of the online reviews have talked about dependability issues…not something I want to deal with.  Besides, I can pick up 4 1TB drives for about the same price as 2 1.5 TB drives…and that equals to more spanned storage anyway.  Just means I’ll do an upgrade in the future.

Microsoft Photosynth

I first read and experienced Photosynth about a year ago while it was in its early stages.  At that time you could view one of three stitched environments and it was a very impressive application.  Being a person who believes in “a picture is worth 1000 words”, this application is right up my alley.  I purchased my current camera with the stitch ability built in (panoramic mode) and I’ve loved it.  It lets me take those awesome shots of some views I wanted to share so badly.  Photosynth does a one up.  Take your photos (lots of photos) of a place while moving the camera each frame a little to the left, right, up, down, zoom…and if the application can pinpoint similarities between the different images, it will show all the photos relative to your point of view.  I’ve played a little with it but most old pictures I have taken are not valid to stitch.  You have to really go above and beyond for getting images to be “synth” as they put it.  Even with new photos I’ve only managed 66% synth.

I would suggest you take a look at it and at least check what others are doing.  Some are much more impressive than others…and some are just there, no synth.  I’m definatly going to start taking scenic photos with this program in mind.