[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

Re: [Linux-cluster] GNBD & Network Outage

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:


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:


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


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


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

[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]