Wednesday, June 6, 2007

GFS choice

We are designing at work a clustered architecture for the site we are developing. For that purpose we needed a clustered/distributed filesystem such as NFS, GFS, OCFS, and the like. We all have already had bad experiences using NFS as it usually hangs a client if server goes down. In addition, on that design we have a SPOF (single point of failure) we were trying to avoid. So we give up with it.

The following candidates were GFS and OCFS. Despite there are some other suitable filesystems they are not so widely supported in the linux kernel and distributions so we couldn't fit with our hosting service level agreements bringing them out of question. And before you ask, linux itself was indeed a requirement. On a housing situation, things would have been different.

Back on FS, at first glance on our tests OCFS results wasn't as good as GFS ones. In addition, no all distribution supported online resizing in the packaged version of ocfs tools so we finally decided to use GFS as the clustered filesystem. But once we have almost all infrastructure ready, later tests showed it wasn't as good as we thought, and not so documented neither supported by RedHat itself as we expected. In fact, performance was an issue which was worrying us as it would slow down the whole site. Fortunately, after several dark options tests the solution was much simpler than that: GFS is a distributed FS which relies on network performance. Switching to giga ethernet made the trick. It boosted performance enough to make us more confident about our design and inversion.

Now we can focus on another of all that matters remaining before our product launching soon, quite soon, frightening soon.

1 comment:

www.muebles-en-getafe.com said...

I completely agree with everything you have printed here.