I want to use Tahoe-LAFS as the storage component of a network backup application. In this application, each node hosts a backup application as well as a full Tahoe node (storage server + client). The backup application can be used to back up data on the node to the Tahoe storage network. I have found a limitation of Tahoe-LAFS that makes it less than ideal for this type of application.
Here’s the issue: When you use Tahoe-LAFS with the introducer, every node is advertised as a potential storage node. This includes the local node which is also is hosting a Tahoe storage node. When the backup application is used to store local data to the Tahoe-LAFS network, it may end up putting a slice of the data on its own node. There are 2 problems with this: It is wasteful of storage space The local node already has a copy of the data so storing a slice locally does not really improve resiliency. It reduces resiliency If the hard drive fails on the node, Tahoe slice stored on it may be lost. I have discussed this issue with people on the tahoe-lafs IRC node and we came up with a proposal for a new feature which addresses this issue. The proposed new feature is to create a new configuration flag for the Tahoe-LAFS client which prevents the client from storing data to its local storage node (“don’t_use_local_storage”). When the flag is set, the client gets the name of the local storage node from tahoe.cfg using the nickname attribute of the [node] section. When the client creates a list of storage nodes to store content to, it excludes this particular node from the list. Make sense? Bruce T
_______________________________________________ tahoe-dev mailing list tahoe-dev@tahoe-lafs.org https://tahoe-lafs.org/cgi-bin/mailman/listinfo/tahoe-dev