Stephen C. Tweedie
1999-06-28 17:17:24 UTC
Hi,
This is great (and exactly what IBM's HAGEO does) but we also need a
transaction-based mechanism to make sure things are a) written in the
correct sequence (serial, in parallel, or others, sync or async across the
network etc.) and b) reintegrates correctly after a network failure.
As far as the filesystem is concerned, journaling provides the necessary
guarantees. The only requirements are that (a) we don't acknowledge the
entire IO as complete until all copies have been written, and (b) on
failure, we make sure that reads are from one disk only until
reconstruction is complete, to avoid inconsistent data.
--Stephen
Set up RAID mirroring between a local disk partition, and a Network
Block Device (NBD). Hack the RAID code so that it prefers local disk to
the network block device, so it always *reads* from the local disk.
Block Device (NBD). Hack the RAID code so that it prefers local disk to
the network block device, so it always *reads* from the local disk.
transaction-based mechanism to make sure things are a) written in the
correct sequence (serial, in parallel, or others, sync or async across the
network etc.) and b) reintegrates correctly after a network failure.
guarantees. The only requirements are that (a) we don't acknowledge the
entire IO as complete until all copies have been written, and (b) on
failure, we make sure that reads are from one disk only until
reconstruction is complete, to avoid inconsistent data.
--Stephen