[Hcoop-discuss] Next hardware configuration/Email service

Adam Chlipala adamc at hcoop.net
Sun Jan 29 12:44:48 EST 2006


Justin S. Leitgeb wrote:

>I guess the tough part is figuring out an architecture that is robust, 
>while still allowing us to provide "generic" hosting services.  What 
>kind of redundancy do you think is reasonable?  Obviously we could fill 
>up a rack pretty quickly depending on the redundancy that we want to 
>provide.  I know that you mentioned a robust file server and it seems 
>like this could help us out, but in practice I haven't seen web servers 
>hitting a network filesystem.  I'm worried about performance issues and 
>scaling here (I haven't tried this but there are some threads on the web 
>about performance and scaling with Apache over a network file system 
>that concerned me).  Might work with something like RAID 10, but I know 
>applications like IMAP work horribly over NFS and AFS.
>  
>
I'm generally ignorant about established practice here.  For systems 
like the cluster you've mentioned you administer, do all of the nodes 
just sync the relevant web files from a central source every day or 
something?

>An alternative would be to set up a couple of web nodes, and give users 
>an account on one or the other.  Both could have RAID 1, or no disk 
>redundancy.  We could replicate between the two (e.g., rsync) in order 
>to recover quickly in the event of a failure, and MySQL replication 
>could work from one to the other, adding cheap DB redundancy.  Later it 
>would be nice to have a database cluster, perhaps a 4 node MySQL 
>configuration that would be suitable for dynamic web-based applications, 
>but obviously this can wait.  Then it seems we should still need to have 
>a third system for services such as IMAP, etc., that we don't want to 
>give normal users access to.  Since this would be a possible single 
>point of failure, it should have a high level of RAID, power redundancy, 
>etc.  Perhaps RAID 10 on this system because IMAP is so I/O intensive.  
>A hardware firewall would be a nice addition as well.  This would be a 
>3-node starting configuration.
>
I think we should at any time have multiple backup images 
(daily/weekly/monthly/etc.) of all data that doesn't come directly from 
a software package, and these images should be stored in a way that 
makes data loss from random failure very unlikely.  If all that data 
lives on a central shared filesystem, then the goal is probably easier 
to achieve.  Also, our current access control schemes (w.r.t. domains 
and other resources) are based on filesystem permissions.  If services 
are spread across filesystems, then this stops working as well.

Data backups are the most important kind of redundancy that I'm thinking 
about.  Servers that are able to take over for each other in case of 
failure are the next level.

The other main advantage of having multiple servers is that it's easier 
to administer a server that doesn't need to have user resource limits in 
place.  For example, we have some problems now with admin-maintained 
services running into ulimits set up to prevent members from DoS'ing fyodor.




More information about the HCoop-Discuss mailing list