Re: load balancing at fastmail.fm

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

 



Fastmail dont use SAN, as I understand they use external raid arrays.
There are many ways to lose your data, one of these being filesystem error, others being software bugs and human error. Block-level replication (typically used in SANs) is very fast and uses few resources but doesnt protect from filesystem error (although it can offer instant recovery).
If it's using block level replication, how does it offer instant recovery on 
filesystem corruption? Does it track every block written to disk, and can 
thus roll back to effectively what was on disk at a particular instant in 
time, so you then just remount the filesystem and the replay of the journal 
should restore to a good state?
File-level replication is somewhat more resilient and easier to monitor, but is just as prone to human errors, bugs, misconfigurations, etc.
Any replication system is prone to human errors and bugs, the most common 
one being "split brain syndrome" which is pretty much possible with any 
replication system regardless of which approach it uses if you stuff up. 
Which is why good tools and automation that ensure you can't stuff it up are 
really important! :)
There will be horror stories for every given system in the world. Generally speaking ext3 is very reliable, but naturally no filesystem is going to remove the need for replication and no replication system is going to remove the need for backups.
Indeed. Which is what we have, a replicated setup with nightly incremental 
backups. And things like filesystem or LVM snapshots are NOT backups, 
they're still relying on the integrity of your filesystem, rather than being 
on completely separate storage.
The main thing we were trying to avoid was single points of failure.

With a SAN, you generally have a very reliable, though very expensive central data store, but it's still a single point of failure, and even better you're dealing with some closed system you have to rely on a vendor for support for. That may or may not be a good thing depending on your point of view. You still have the SAN as a single point of failure
With block based replication, you get the hardware redundancy, but you still 
have the filesystem as a single point of failure. If master end gets 
corrupted (eg http://oss.sgi.com/projects/xfs/faq.html#dir2) the other end 
replicates the corruption.
With file based replication, about your only way of failure is the 
replication software going crazy blowing both sides away somehow, which 
given that the protocol is strictly designed to be one way, seems extremely 
unlikely that anything will happen to the master side.
Rob

PS. As a separate observation, if you're looking to get performance out of cyrus with a large number of users in a significantly busy environment, don't use ext3. We've been using reiserfs for years, but after the SUSE announcement, decided to try ext3 again on a machine. We had to switch it back to reiserfs, the load difference and visible performance difference for our users was quite large. And yes we tried with dirindex and various journal options. None of them came close to matching the load and response times of our standard reiser mount options; noatime,nodiratime,notail,data=journal, but read these first:
http://www.irbs.net/internet/info-cyrus/0412/0042.html
http://lists.andrew.cmu.edu/pipermail/info-cyrus/2006-October/024119.html


----
Cyrus Home Page: http://cyrusimap.web.cmu.edu/
Cyrus Wiki/FAQ: http://cyrusimap.web.cmu.edu/twiki
List Archives/Info: http://asg.web.cmu.edu/cyrus/mailing-list.html

[Index of Archives]     [Cyrus SASL]     [Squirrel Mail]     [Asterisk PBX]     [Video For Linux]     [Photo]     [Yosemite News]     [gtk]     [KDE]     [Gimp on Windows]     [Steve's Art]

  Powered by Linux