This week I had some time to play with Trixbox, for those unfamiliar with Trixbox, it is a linux distro based on centos designed to easily setup an Asterisk VoIP server. I was able to get the machine setup with a couple Polycom 501 phones, but I haven't had much time to setup much else yet. I'd like to experiment more and what advanced features I can use to benefit me. I have a few projects in my future that might benefit from me doing some further testing.
I guy I work with came up with an interesting idea, and I'd love to play with it just a little bit to see if it would really work. The idea is this, have a pair of machines both the same, one that backs up the other machine. Nothing really interesting about that until we start talking about the details of the proposed way of achieving redundancy.
Newer Linux 2.6 kernels support AOE (ATA over Ethernet) protocol designed for high volume data thoughput over Ethernet interfaces without TCP/IP overhead. Unlike most network storage AOE volumes appear to the OS as block devices in /dev. Now because the OS sees the drive as a block device, you should be able to add a remote drive to a software mirror.
The long and short of it is you have two systems connected via a crossover cable, one system boots up normal, the other boots up in slave mode. In normal operation Server A is mirroring all data to server B via software raid. In the event of problem with server A, server B could be promoted or rebooted to be the master. Server A could be repaired or replaced and resume operations as a slave to B.
I have to say it may seem kind of crazy, but I have to agree I like the idea of using raid to mirror volumes over any other way I can think of. I was also worried about network overhead, but I think gigabit Ethernet can outtransfer most hard drives, and AOE keeps network overhead down. Exact details about switching a machine from slave to master are still in the works, but it just might work.
I'm trying to find a pair of machines just to some basic testing.