Messages in this thread | | | From | (Harald Milz) | Subject | Re: Swap over network | Date | Wed, 30 Apr 1997 18:48:47 +0200 |
| |
From: hm@seneca.muc.de (Harald Milz) Subject: Re: Swap over network To: linux-kernel@vger.rutgers.edu Organization: Linux.DE X-PGP-Fingerprint: 44 5B 4E 65 50 F5 99 2B 20 55 C1 B0 56 FC C4 00 X-Nospam: Unsolicited ads are unwanted and will be proofread for $199/hr.
John Wyszynski (wyszynsk@clark.net) wrote: > that talks to some server process as if it was a device. Doing it that way > it could be used for things other than swapping; including raid and striped > drives which span machines.
Just to add $.02 to this. The way a well-known (at least to me) commercial solution achieves this is a pseudo device driver which behaves like a normal block device to the application or filesystem working on it. It traps all the write() calls and actually writes the data across an arbitrary IP network to a remote machine (using a proprietary UDP-based protocol) and to its local underlying device. Data is received by the remote pseudo device driver(s), written to its local disk and acknowledged to the original initiator. Everything happens two-way.
The pseudo device is configured to point to the local and some remote block devices and basically synchronizes data between them. To provide for data consistency, a transaction log is kept (actually, it is a bit map carrying dirty flags). Reads are always done locally, for performance reasons. This way, all the mirroring is perfectly transparent on the block device level.
How about that?
BTW Striping across machines is probably not very useful. If one machine fails, data is completely lost. Mirroring, in turn, _is_ very useful, and several huge customers worldwide are just in the process of installing the said commercial product (no advertising intended). Data Centers are between 3 km and more than 100 km apart.
Keep in mind that with the described algorithm, data throughput (application performance) pretty much depends on the network latency (I/O transfer rates, important for database style apps) and the maximum throughput in MB/s.
-- Harald Milz ----------- PGP Public Key: finger hm[AT]muc.de (Key ID 7ADC4839)
All bridge hands are equally likely, but some are more equally likely than others. -- Alan Truscott
| |