[Linux-cluster] GNBD & Network Outage

Nigel Jewell nigel.jewell at pixexcel.co.uk
Fri Feb 4 10:26:36 UTC 2005


Dear Ben,

Thank you for your detailed reply.  It is always refreshing to get a 
decent response on a mailing list ;) .

> Sure. You see the -c in you export line.  Don't put it there.  That puts
> the device in (the very poorly named) uncached mode.  This does two 
> things.
> One: It causes the server to use direct IO to write to the exported 
> device,
> so your read performance will take a hit.  Two: It will time out after
> a period (default to 10 sec).  After gnbd times out, it must be able 
> to fence
> the server before it will let the requests fail.  This is so that you 
> know
> that the server isn't simply stalled and might write out the requests 
> later
> (if gnbd failed out, and the requests were rerouted to the backend 
> storage over
> another gnbd server, if the first server wrote it's requests out 
> later, it
> could cause data corruption).
>  
>

My understanding was that the "-c" put the device in cached mode, as 
described here:

http://www.redhat.com/docs/manuals/csgfs/admin-guide/s1-gnbd-commands.html

Or are you saying that by not putting the "-c" put its in uncached mode?

> This means that to run in uncached mode, you need to have a cluster 
> manager and
> fencing devices, which I'm not certain that you have.
>  
>

No we don't as we didn't really see the need, given what we want to do.

> I've got some questions about your setup.  Will this be part of a 
> clustered
> filesystem setup? If it will, I see some problems with your mirror.  When
> other nodes (including the gnbd server node A) write to the exported 
> device,
> these writes will not appear on the local partion of B.  So won't your 
> mirror
> get out of sync?  If only B will write to the exported device, (and 
> that's
> the only way I see this working) you can probably get by with nbd, which
> simply fails out if it loses connection.
>  
>

The intention of the setup was to have two hosts both exporting an 
unmounted device, and the alternative device using it as a RAID-1 
device.  Then to use heartbeat to mount and unmount the partitions as 
required.  For example:

HOST A:

/dev/hda1 (md0, ext3, mounted)
/dev/hda2 (ext3, unmounted, gnbd_exported as A)
/dev/gnbd/B (md0, ext3, mounted)

HOST B:

/dev/hda1 (ext3, unmounted, gnbd_exported as B)
/dev/hda2 (md0, ext3, mounted)
/dev/gnbd/A (md0, ext3, mounted)

I hope that makes sense.

If so, does what we are trying to achieve sound sensible?  Any 
gotchas/advice?

-- 
Nige.

PixExcel Limited
URL: http://www.pixexcel.co.uk




More information about the Linux-cluster mailing list