Tahoe filesystem installation
I tried making an ebuild for it using g-pypi (package allmydata-tahoe), but tahoe doesn't havea compatible setup.py, it seems, so --prefix installs do not work.
I just downloaded a tarball here, exctracted it and ran
python setup.py buildwhich downloads and builds all external dependencies aswell, the resulting executable is put in bin/tahoe, all you need to do is link it to your bin/ directory and you're done.
- Tahoe doesn't need root priviledges, so you can use whatever your user's bin directory is, as long as it's in the path, i will from now on assume the tahoe executable is in your PATH.
To set up a new four-node grid, with three nodes inside a firewalled local network, one having ports redirected to it:
first, on the machine that has the port redirected to it:
set up an introducer:
tahoe create-introducer directorywhere directory is a subdirectory of your choice.
then edit it's configuration (directory/tahoe.cfg) to listen on a specified port and add the external interface (that isn't detected by tahoe):
tub.port = 8098 tub.location = home.myfqdn.dom:8098,192.168.0.5:8098,127.0.0.1:8098
- now start the introducer:
tahoe start directorythen set up your storage node on the same machine:
set up a default config, use the previously created initiator and start your storage node:
tahoe create-client cp directory/initiator.furl ~/.tahoe tahoe start
set up a helper, so that when a client with low upload bandwidth stores a file, the data is only uploaded once by that client, the helper then takes care of erasure-encoding the files and pushing them to other nodes:
echo yes > ~/.tahoe/run_helper tahoe restart
then you get the helper's furl from ~/.tahoe/private/helper.furl, and the introducer's furl from directory/introducer.furl
now on the other machines
- get the code, and build it
- run
tahoe create-client scp user@introducerhost:.tahoe/private/helper.furl ~/.tahoe scp user@introducerhost:directory/introducer.furl ~/.tahoe tahoe start