I have a keen interest in opensource history and trying to understand which technologies hyperscalers may be using, or at least the technologies which came before them- the influences.
With EFS (Another Web Service), I couldn't help but feel maybe there maybe similarities with other open file systems and was reminded of Andrew File System which I had briefly came across during undergraduate research. Whilst writing this article, I've also Coda is a file system based on a fork by Satya taken from a November 1986 version of AFS.
My motto is "Working Code Trumps All Hype."
- Mahadev Satyanarayanan, experimental computer scientist, Carnegie Mellon University
OpenAFS is an implementation of the Andrew File System, which was born out of a need in the early 1980s to work out how to achieve "enterprise-scale use of personal computing required the technical ability to share information easily, securely, and with appropriate access controls." src.
The questions I want to answer are:
- Can I grow and shrink OpenAFS storage?
- How easy is this thing to install/operate
- How do clients connect/mount and use this thing?
- What is the ecosystem like? On first take, it's website looks old fashioned- but this is often a sign that the effort is in the right place, and https://gerrit.openafs.org/#/q/status:open confirms this
A little digging quickly shows a significant deployment at Morgan Stanley, with a presentation by Robert Milkowski on OpenAFS with Solaris 11, reportedly supporting over 25,000 clients as recent as 2018 based on his comment.
We have had our AFS servers running on ZFS on Solaris, OpenIndiana, and FreeBSD for a few years.
This slide deck has a good presentation on what to do:
- Richard Feltstykket src
So, is it like EFS? As Bob Brown puts it:
Finally, many of the architectural principles and implementation techniques of AFS have influenced many other systems over the past decades.
Bob Brown, Networkworld src
What about object storage?
Does it make sense to use OpenAFS with ZFS?