Architecture Improvements

Finally, after very much pain, stopgap measures, and testing, I have the architecture that I want for GeekISP. Some key points:

  • All important content is on some sort of hardware RAID disks. Home directories, web docs, and mail are the biggest examples.
  • All important content is available via a fast, reliable NFS server (note, a better network filesystem would be nice, but that’s the best there is in the BSD world right now).
  • I’m building out the second webserver as I type. It’ll provide failover via CARP at first, and possibly load sharing later.
  • After a relatively easy database migration, the old NFS server will become another mail server. Since it has faster disks, I’ll probably turn it into the primary.
  • With redundancy on both the web and mail servers, I’ll be able to perform upgrades without any service interruptions.
  • As above, I’ll be able to take vacations and sleep better.

All this is wonderful. There’s more work to do, of course, but this architecture gives me some more breathing room, and room for growth. Now I can add web and mail servers linearly (to a point, I realize).

All of this is possible because FreeBSD’s NFS client is fast enough to allow me to serve web pages off NFS. I can also add OpenBSD machines into the mix, test them, and see how they perform against the NFS server before putting them in production. A big improvement!

Of course, now I’m thinking about going to a GigE internal network, maybe with jumbo frames, to boost NFS performance. Yet another migration challenge… but I’ll try not to get too far ahead of myself.

Leave a Reply

You must be logged in to post a comment.