Version 19 (modified by amontero, at 2012-01-16T19:19:01Z) (diff)


Network Configurations

There are several ways that people might want to use Tahoe-LAFS. We're not necessarily committed to satisfying all of these use cases -- these are just possibilities.

As these network configurations develop, the node roles section develops in complement.

nametypical number of nodesadministrative domainsnode capacitynode availabilitychurn
non-RAID1 host, multiple nodesonepotentially mixeduniformlow
friendnet2-10many domains, but all trustedmixedmixedlow
sneakernet (#1657)2-10many domains, but all trustedmixedlowlow
proprietary grid3-1000 servers, up to 50,000 clientsone domain for servers, many for clientsuniformhighlow
hivecache10-1000one domain, but not as well controlledsomewhat uniformhighlow
Allmydata plus customers10-10,000manymixedmixedmedium
global gridanymanymixedmixedhigh
  • non-RAID: Turn the traditional redundancy stack on its head, applying filesystem-redundancy-crypto-filesystem by running a storage node on each disk. Has the advantages over RAID that storage is encrypted, any mix of capacities is fine, redundancy is freely selectable per file, and recovery does not require entire disks.
  • friendnet: You and your friends share a virtual filesystem. It remains accessible even when some of your friends' computers are unreachable. Your friends can't see your files by default, but you can share individual files and directories with individual friends or with all friends.
  • proprietary grid -- 1x upload: Pay $5/month and you can store your stuff on their grid. Or: run your own grid by buying a few servers, so that you can backup your own stuff on it. The data is uploaded to the servers over a streaming protocol such as HTTP (using the Web API).
  • hivecache: Install a tahoe node on each of the workstations in your office, turning their unused disk space into a giant storage pool.
  • Allmydata plus customers: Allmydata, Inc. and its customers share a storage grid including the customer's computers.
  • global grid: A large, diverse ecosystem of people and organizations who want a storage grid with extremely high reliability and availability.

See also the ServerSelection page.

Node Roles

Network configurations can usually be thought of in terms of a topology connecting particular node roles. These roles often fulfill the same abstraction across network configurations. By allowing specialized role configurations, a plethora of custom network configurations can be deployed without modifying the code.

Here are some archetypal roles:

  • The Available Migrator consumes storage from a changing address.
    • Migration Pattern Availability - Availability is high, but address changes are frequent.
    • Examples: Laptops, mobile devices, poor DHCP configurations.
    • We think that the foolscap/introducer mechanism will dynamically adjust to the changing IP address and make this appear to be a server with good availability, but this use case hasn't been much tested. Please let us know if you try it.
  • The Ephemeral Consumer consumes storage, but lacks availability.
    • Poor availability - Availability is low, such as a node that is only up when consuming storage service.
    • Examples: Backup service customer.
    • Hints:
  • A Grid Storage Server provides storage but does not consume it.
    • High Availability - An individual file's availability is largely dependent on average storage availability.
    • Remote Control - Typically a provider configures many nodes through a centralized manner for convenience.
    • Non Consumer - Specialized storage providers do not consume storage services.

  • A Grid Manager does not provide storage services but controls storage server.


The Test Grid

... Put your experience with particular configurations here ...