Monday, September 27, 2010

A clustered Samba Fileserver, Part I - Presentation

I got, a few weeks ago, a request to create a Samba (CIFS) fileserver that would be used to serve a variety of files to hundreds of clients. There are a few requirements:
  • It should be high performance;
  • It should have some mechanisms to replicate to another storage;
  • It should be scalable both in terms of performance and available space.

I came up quite quickly with a solution: a cluster of fileservers, replicating block devices and presenting to Samba a clustered filesystem. That way, I can have two nodes writing to their respective devices at the same time, and have both changes immediately available to the other nodes.

On Linux systems, DRBD is the de facto block device replication solution, and GFS2 is a well supported clustered filesystem, OCFS being another one.