Pawel Jakub Dawidek was awarded a grant by the FreeBSD Foundation last year to implement storage replication software that will enable users to use the FreeBSD operating system for highly available configurations where data has to be shared across the cluster nodes.

The HAST (High Availability Storage Project) is now completed. Pawel reports:

I’m very happy to report to FreeBSD users that the HAST project I was working on for the last three months is ready for testing and already committed to the HEAD branch.

I’ll describe what HAST does in few words. HAST allows for synchronous block-level replication of any storage media (called GEOM providers, using FreeBSD nomenclature) over a TCP/IP network for fast failure recovery. HAST provides storage using the GEOM infrastructure, meaning it is file system and application independent and can be combined with any existing GEOM class. In case of a primary node failure, the cluster will automatically switch to the secondary node, check and mount the UFS file system or import the ZFS pool, and continue to work without missing a single bit of data.

I must admit the project was quite challenging, not only from the technical point of view, but also because it was sponsored by the FreeBSD Foundation. The FreeBSD Foundation has a great reputation and is known to select the projects it funds very carefully. I felt strong pressure that should I fail, the FreeBSD Foundation’s reputation might be hurt. Of course, not a single dollar would be spent on a failed project, but the FreeBSD community’s expectations were very high and I really wanted to do a good job.

During the work a number of people contacted me privately offering help, explaining how important HAST is for FreeBSD and giving me the motivation to soldier on.

I hope that HAST will meet the community’s expectations and I myself am looking forward to using it

The final commit notice from Pawe? Jakub Dawidek briefly describes the project. A detailed discussion of the project is available form the FreeBSD Wiki.

This is a good example of how the wider FreeBSD community can financially support further development of FreeBSD, and it also shows the value that the FreeBSD Foundation brings to the community. To see more of these sort of projects started, funded and completed, why not support and donate to the Foundation so they can continue sponsoring more projects. (disclaimer: I am not affiliated with the FreeBSD Foundation)