|Poster:||billmoyer||Date:||May 11, 2004 7:47am|
The homeserver node does export a filesystem for "/home", but the system is very deliberately designed to not rely on NFS for its normal operations. Thus the proper functioning of the cluster is not dependent on NFS remaining healthy. It has been our experience at the Archive that NFS is insufficiently reliable and insufficiently scalable to be used in petabyte-sized systems.
The software currently running on the PetaBox organizes the space into mostly-independent cellular units. Each storage node understands what its space is for, and behaves appropriately (seeking new information, identifying the information it has, etc). This behavior changes when a new configuration is pushed out from the homeserver node to a storage node (via CVS with the ssh protocol). The advantages to this system are a lack of a single point of failure, and a lack of complex (and therefore inherently unreliable, imo) state-sharing logic. It is somewhat similar to a peer-to-peer network in its degree of node autonomy. If the homeserver node bursts into flame, the storage nodes will continue operating quite happily.
The Mirroring System software (Brad Tofel's baby, currently in beta) knits its constituent nodes together into a more closely co-operating system, and uses its own protocol to allocate space on specific filesystems on specific nodes. It is even more decentralized than the interim software currently running on the petabox, and does not even rely on a homeserver node for its configuration data. I will let Brad talk about the mirroring system more, if he feels like it.