[Imported from Trac: page Tutorial, version 1]
parent
9d4aff5757
commit
897be954cf
428
Tutorial.md
Normal file
428
Tutorial.md
Normal file
|
@ -0,0 +1,428 @@
|
||||||
|
```
|
||||||
|
===============================
|
||||||
|
Tutorial for Tahoe-LAFS (Draft)
|
||||||
|
===============================
|
||||||
|
```
|
||||||
|
# Hosts setup
|
||||||
|
|
||||||
|
In this tutorial we're gonna setup 3 nodes, whatever they are (Host+VM1+VM2)
|
||||||
|
|
||||||
|
IPs and hosts are:
|
||||||
|
* 172.16.23.1 (host.local : Mac OS X 10.6.4)
|
||||||
|
* 172.16.23.128 (vm1.local : Debian GNU/Linux 5.0)
|
||||||
|
* 172.16.23.130 (vm2.local : Debian GNU/Linux 5.0)
|
||||||
|
|
||||||
|
I'll use a self-explanatory prompt for each host.
|
||||||
|
|
||||||
|
# Installation on each node
|
||||||
|
|
||||||
|
I like pypi so much I find it easier to do the download, extraction,
|
||||||
|
get dependencies and build using it.
|
||||||
|
```
|
||||||
|
# easy_install -U allmydata-tahoe
|
||||||
|
```
|
||||||
|
it failed on the freshly installed debian, with that error :
|
||||||
|
```
|
||||||
|
ImportError: No module named darcsver.setuptools_command
|
||||||
|
```
|
||||||
|
A fast look on google, showed that installing setuptools_darcs and
|
||||||
|
darcsver don't build as expected and may be missing at install time.
|
||||||
|
The fix is to install them first, and only then install tahoe.
|
||||||
|
```
|
||||||
|
# easy_install -U setuptools_darcs darcsver
|
||||||
|
# easy_install -U allmydata-tahoe
|
||||||
|
```
|
||||||
|
then execute tahoe --vesion to check everything is installed as
|
||||||
|
expected :
|
||||||
|
|
||||||
|
on debian :
|
||||||
|
```
|
||||||
|
% tahoe --version
|
||||||
|
allmydata-tahoe: 1.7.1, foolscap: 0.5.1, pycryptopp: 0.5.17-r683, zfec: 1.4.7, Twisted: 10.0.0, Nevow: 0.10.0, zope.interface: 3.5.1, python: 2.6.1, platform: Darwin-10.4.0-i386-64bit, sqlite: 3.6.12, simplejson: 2.1.1, argparse: 1.1, pycrypto: 2.1.0, pyOpenSSL: 0.7, pyutil: 1.7.7, zbase32: 1.1.1, setuptools: 0.6c15dev, pyasn1: 0.0.11a, pysqlite: 2.4.1
|
||||||
|
```
|
||||||
|
on MacOSX :
|
||||||
|
```
|
||||||
|
% tahoe --version
|
||||||
|
allmydata-tahoe: 1.7.1, foolscap: 0.5.1, pycryptopp: 0.5.19, zfec: 1.4.7, Twisted: 10.0.0, Nevow: 0.10.0, zope.interface: 3.6.1, python: 2.5.2, platform: Linux-debian_5.0-x86_64-64bit, sqlite: 3.5.9, simplejson: 2.1.1, argparse: 1.1, pycrypto: 2.1.0, pyOpenSSL: 0.7, pyutil: 1.7.7, zbase32: 1.1.1, setuptools: 0.6c12dev, pyasn1: 0.0.11a, pysqlite: 2.3.2
|
||||||
|
```
|
||||||
|
now Tahoe is installed \o/
|
||||||
|
|
||||||
|
# Instanciate the nodes
|
||||||
|
|
||||||
|
So, after reading running.html, configuration.txt and architecture.txt, we'll first
|
||||||
|
create an introducer node, that will get every other nodes to know each other. The
|
||||||
|
documentation says that we have to create and launch the introducer as follows (that
|
||||||
|
we do on vm1.local)
|
||||||
|
```
|
||||||
|
vm1% mkdir tahoe-introducer
|
||||||
|
vm1% tahoe create-introducer tahoe-introducer
|
||||||
|
Introducer created in tahoe-introducer
|
||||||
|
vm1% tahoe start tahoe-introducer
|
||||||
|
STARTING /home/guyzmo/tahoe-introducer
|
||||||
|
introducer node probably started
|
||||||
|
vm1% cat tahoe-introducer/introducer.furl
|
||||||
|
pb://6oibvp5whrb3v3ge7ajuyapooswsda2e@172.16.23.128:33272,127.0.0.1:33272/introducer
|
||||||
|
```
|
||||||
|
Then we copy that last string we got from 'cat', and paste it in tahoe.cfg,
|
||||||
|
as follows (edit it using your favorite editor, mine is vim) :
|
||||||
|
```
|
||||||
|
vm2% vim ~/.tahoe/tahoe.cfg
|
||||||
|
-------------8<----------------------8<----------------
|
||||||
|
22 [client]
|
||||||
|
23 introducer.furl = pb://6oibvp5whrb3v3ge7ajuyapooswsda2e@172.16.23.128:33272,127.0.0.1:33272/introducer
|
||||||
|
24 helper.furl =
|
||||||
|
25 #key_generator.furl =
|
||||||
|
26 #stats_gatherer.furl =
|
||||||
|
27 #shares.needed = 3
|
||||||
|
28 #shares.happy = 7
|
||||||
|
29 #shares.total = 10
|
||||||
|
------------->8---------------------->8----------------
|
||||||
|
```
|
||||||
|
exit, and then do the same on 'host'.
|
||||||
|
|
||||||
|
finally, execute on 'vm2' and 'host' the following :
|
||||||
|
```
|
||||||
|
vm2% tahoe start
|
||||||
|
STARTING /home/guyzmo/.tahoe
|
||||||
|
client node probably started
|
||||||
|
|
||||||
|
host% tahoe start
|
||||||
|
STARTING /home/guyzmo/.tahoe
|
||||||
|
client node probably started
|
||||||
|
```
|
||||||
|
wait a bit and do :
|
||||||
|
```
|
||||||
|
% ps aux | grep tahoe
|
||||||
|
myuser 5360 1.2 7.4 158820 28348 ? S< 02:13 0:00 /usr/bin/python /usr/bin/twistd -y tahoe-client.tac --logfile logs/twistd.log
|
||||||
|
```
|
||||||
|
and you shall see an output that looks alike. If not, tahoe failed to start.
|
||||||
|
You've got to check ~/.tahoe/logs/ what got wrong.
|
||||||
|
|
||||||
|
# Configure the nodes
|
||||||
|
|
||||||
|
Now, let's do some configuration. On each node edit tahoe.cfg :
|
||||||
|
```
|
||||||
|
host% vim ~/.tahoe/tahoe.cfg
|
||||||
|
-------------8<----------------------8<----------------
|
||||||
|
10 [node]
|
||||||
|
11 nickname = client-host
|
||||||
|
12 web.port = tcp:3456:interface=172.16.23.1
|
||||||
|
------------->8---------------------->8----------------
|
||||||
|
host% tahoe restart
|
||||||
|
```
|
||||||
|
|
||||||
|
```
|
||||||
|
vm1% vim ~/tahoe-introducer/tahoe.cfg
|
||||||
|
-------------8<----------------------8<----------------
|
||||||
|
10 [node]
|
||||||
|
11 nickname = introducer-vm1
|
||||||
|
12 web.port = tcp:3456:interface=172.16.23.128
|
||||||
|
------------->8---------------------->8----------------
|
||||||
|
vm1% tahoe restart ~/tahoe-introducer
|
||||||
|
|
||||||
|
vm2% vim ~/.tahoe/tahoe.cfg
|
||||||
|
-------------8<----------------------8<----------------
|
||||||
|
10 [node]
|
||||||
|
11 nickname = client-vm2
|
||||||
|
12 web.port = tcp:3456:interface=172.16.23.130
|
||||||
|
------------->8---------------------->8----------------
|
||||||
|
vm2% tahoe restart
|
||||||
|
```
|
||||||
|
|
||||||
|
Then get your favorite browser and browse to the following URLs, you
|
||||||
|
should get pages similar to the ones below
|
||||||
|
|
||||||
|
* <http://172.16.23.1:3456/> -> <http://m0g.net/~guyzmo/172.16.23.1_3456_1.png>
|
||||||
|
* <http://172.16.23.128:3456/> -> <http://m0g.net/~guyzmo/172.16.23.128_3456_1.png>
|
||||||
|
* <http://172.16.23.130:3456/> -> <http://m0g.net/~guyzmo/172.16.23.130_3456_1.png>
|
||||||
|
|
||||||
|
Now it's time to be able to store something on the grid, as
|
||||||
|
the whole purpose of Tahoe-LAFS, and thus of this tutorial is
|
||||||
|
to get a grid to store files.
|
||||||
|
|
||||||
|
On host and vm2, edit again ~/.tahoe/tahoe.cfg and modify it
|
||||||
|
as follows :
|
||||||
|
|
||||||
|
```
|
||||||
|
vm2% vim ~/.tahoe/tahoe.cfg
|
||||||
|
-------------8<----------------------8<----------------
|
||||||
|
31 [storage]
|
||||||
|
32 enabled = true
|
||||||
|
33 readonly = false
|
||||||
|
34 reserved_space = 1GB # here you tell the storage server how much space you would like to use
|
||||||
|
------------->8---------------------->8----------------
|
||||||
|
vm2% tahoe restart
|
||||||
|
```
|
||||||
|
|
||||||
|
and the same on host.
|
||||||
|
|
||||||
|
The result would be as follows :
|
||||||
|
|
||||||
|
* <http://172.16.23.1:3456/> -> <http://m0g.net/~guyzmo/172.16.23.1_3456_2.png>
|
||||||
|
* <http://172.16.23.128:3456/> -> <http://m0g.net/~guyzmo/172.16.23.128_3456_2.png>
|
||||||
|
* <http://172.16.23.130:3456/> -> <http://m0g.net/~guyzmo/172.16.23.130_3456_2.png>
|
||||||
|
|
||||||
|
Then, you've got a working Tahoe-LAFS grid working !
|
||||||
|
Is that all ? Well, no, it's time to learn how to use it.
|
||||||
|
|
||||||
|
# File capabilities ?
|
||||||
|
|
||||||
|
Now it's time for a bit of litterature.
|
||||||
|
|
||||||
|
TODO
|
||||||
|
|
||||||
|
# Access your shares
|
||||||
|
|
||||||
|
You can store and access files on Tahoe-LAFS using a lot of
|
||||||
|
different ways. The fatest is to either use the Web UI, or
|
||||||
|
the CLI though you need to remember the caps of the files.
|
||||||
|
|
||||||
|
Using the WUI is straight forward, connect to a storage client,
|
||||||
|
use the forms to add/get/remove files and directories. Just
|
||||||
|
always remember that once you created a directory, you need to
|
||||||
|
save the file's URI, or you won't be able to find it again later
|
||||||
|
on.
|
||||||
|
|
||||||
|
## Using the CLI
|
||||||
|
|
||||||
|
The CLI behaves mostly like a standard shell, with all
|
||||||
|
commands prefixed by 'tahoe', the same way version control
|
||||||
|
system work.
|
||||||
|
|
||||||
|
If you execute for the first time :
|
||||||
|
|
||||||
|
```
|
||||||
|
% tahoe ls
|
||||||
|
error: No alias specified, and the default 'tahoe' alias doesn't exist. To create it, use 'tahoe create-alias tahoe'.
|
||||||
|
```
|
||||||
|
|
||||||
|
you'll get that error. That's why you need to create a
|
||||||
|
'root' directory for CLI commands that will be aliased
|
||||||
|
to the 'tahoe:' prefix.
|
||||||
|
|
||||||
|
```
|
||||||
|
% tahoe create-alias tahoe
|
||||||
|
[...]
|
||||||
|
socket.error: [Errno 61] Connection refused
|
||||||
|
```
|
||||||
|
|
||||||
|
What happens here is that the Tahoe client tries to connect to the URL
|
||||||
|
given in the ~/.tahoe/node.url file. So, you need to edit ~/.tahoe/node.url
|
||||||
|
```
|
||||||
|
host% vim ~/.tahoe/node.url
|
||||||
|
-------------8<----------------------8<----------------
|
||||||
|
1 http://172.16.23.1:3456/
|
||||||
|
------------->8---------------------->8----------------
|
||||||
|
```
|
||||||
|
```
|
||||||
|
vm2% vim ~/.tahoe/node.url
|
||||||
|
-------------8<----------------------8<----------------
|
||||||
|
1 http://172.16.23.1:3456/
|
||||||
|
------------->8---------------------->8----------------
|
||||||
|
```
|
||||||
|
|
||||||
|
HINT: each time you do 'tahoe start' node.url gets reset to 127.0.0.1. If you
|
||||||
|
want to intensively use the CLI, change
|
||||||
|
'web.port = tcp:3456:interface=172.16.23.1'
|
||||||
|
to
|
||||||
|
'web.port = tcp:3456'
|
||||||
|
in tahoe.cfg. Specifying the interface to listen on is usually a good security
|
||||||
|
policy, though twisted supports only one interface declaration, or all interfaces
|
||||||
|
if you don't declare it.
|
||||||
|
|
||||||
|
Now, you can run the previous command :
|
||||||
|
|
||||||
|
```
|
||||||
|
% tahoe create-alias tahoe
|
||||||
|
Alias 'tahoe' created
|
||||||
|
```
|
||||||
|
|
||||||
|
What it has actually done, is that it edited the ~/.tahoe/private/aliases file
|
||||||
|
linking the keyword you gave with a file cap :
|
||||||
|
|
||||||
|
```
|
||||||
|
vm2% cat ~/.tahoe/private/aliases
|
||||||
|
tahoe: URI:DIR2:bfe7inwcduobfnnrxocqechr4q:huurbpkrtajzdrq6okvxxppj5negccz4payh6gxes5nphe6djbeq
|
||||||
|
```
|
||||||
|
and
|
||||||
|
```
|
||||||
|
host% cat ~/.tahoe/private/aliases
|
||||||
|
tahoe: URI:DIR2:ozgebrm5oe52hhcnxhbc6oy6xu:7cyu73izd6q6w4kwngyxxdu7ttuzwy5kl2uybcrqohhen362crla
|
||||||
|
```
|
||||||
|
so, as you can see, different tahoe CLI won't work in the same base directories.
|
||||||
|
If you really want to enable this, copy the same aliases file on every account
|
||||||
|
you want to use the CLI on.
|
||||||
|
|
||||||
|
Finally, to use the CLI, have a look at 'tahoe help' for a full description
|
||||||
|
of the commands.
|
||||||
|
|
||||||
|
For example, here are some basic commands:
|
||||||
|
|
||||||
|
```
|
||||||
|
% tahoe cp README.txt tahoe:
|
||||||
|
Success: file copied
|
||||||
|
% tahoe ls -l tahoe:
|
||||||
|
-r-- 1348 Aug 04 12:52 README.txt
|
||||||
|
% tahoe get tahoe:README.txt | head
|
||||||
|
===============================
|
||||||
|
Tahoe-LAFS
|
||||||
|
===============================
|
||||||
|
|
||||||
|
Tahoe-LAFS is a Free Software/Open Source decentralized data store. It
|
||||||
|
distributes your filesystem across multiple servers, and even if some of the
|
||||||
|
servers fail or are taken over by an attacker, the entire filesystem continues
|
||||||
|
to work correctly and to preserve your privacy and security.
|
||||||
|
|
||||||
|
To get started please see `quickstart.html`_.
|
||||||
|
```
|
||||||
|
|
||||||
|
## Using the FTP interface
|
||||||
|
|
||||||
|
As Tahoe does not have user accounts management, to enable FTP access,
|
||||||
|
we need first to enable authentication and associate root caps to each
|
||||||
|
user allowed to access the system.
|
||||||
|
|
||||||
|
/!\ Be sure to have installed twisted version >=10.1 before trying FTP/sFTP
|
||||||
|
interface, tahoe's ftp feature is not compatible with prior versions.
|
||||||
|
|
||||||
|
For more informations about FTP/sFTP configuration refer to the documentation:
|
||||||
|
* <http://tahoe-lafs.org/source/tahoe-lafs/trunk/docs/frontends/FTP-and-SFTP.txt>
|
||||||
|
* <http://tahoe-lafs.org/trac/tahoe-lafs/wiki/SftpFrontend>
|
||||||
|
|
||||||
|
### Account file creation
|
||||||
|
|
||||||
|
The password file is using a very simple format, each non blank/commented
|
||||||
|
line is following this template :
|
||||||
|
```
|
||||||
|
USER PASSWORD ROOTCAP
|
||||||
|
```
|
||||||
|
so we're gonna setup two users the following way on host:
|
||||||
|
```
|
||||||
|
host% tahoe create-alias alice
|
||||||
|
Alias 'alice' created
|
||||||
|
host% tahoe create-alias bob
|
||||||
|
Alias 'bob' created
|
||||||
|
host% cat ~/.tahoe/private/aliases
|
||||||
|
tahoe: URI:DIR2:ozgebrm5oe52hhcnxhbc6oy6xu:7cyu73izd6q6w4kwngyxxdu7ttuzwy5kl2uybcrqohhen362crla
|
||||||
|
alice: URI:DIR2:dhl2wcuoppuirtv3gk2lslhx6i:nur5sar5lwfxal63gcjaysu4mxt33l35uw4bqtokby3airqhwehq
|
||||||
|
bob: URI:DIR2:r2dwmysrl4wigiov52fmifs2mi:2fdu2l3jxuqupepefmkd3y5vftqatc62vl6elmb5qlgi3gmvpx6a
|
||||||
|
host% cat > ~/.tahoe/private/ftp.accounts
|
||||||
|
alice h3rp4ssw0rd URI:DIR2:dhl2wcuoppuirtv3gk2lslhx6i:nur5sar5lwfxal63gcjaysu4mxt33l35uw4bqtokby3airqhwehq
|
||||||
|
bob h1sp4ssw0rd URI:DIR2:r2dwmysrl4wigiov52fmifs2mi:2fdu2l3jxuqupepefmkd3y5vftqatc62vl6elmb5qlgi3gmvpx6a
|
||||||
|
host%
|
||||||
|
```
|
||||||
|
and two users on vm2:
|
||||||
|
```
|
||||||
|
vm2% tahoe create-alias alice
|
||||||
|
Alias 'alice' created
|
||||||
|
vm2% tahoe add-alias bob URI:DIR2:r2dwmysrl4wigiov52fmifs2mi:2fdu2l3jxuqupepefmkd3y5vftqatc62vl6elmb5qlgi3gmvpx6a
|
||||||
|
vm2% cat ~/.tahoe/private/aliases
|
||||||
|
tahoe: URI:DIR2:ozgebrm5oe52hhcnxhbc6oy6xu:7cyu73izd6q6w4kwngyxxdu7ttuzwy5kl2uybcrqohhen362crla
|
||||||
|
alice: URI:DIR2:x3y3i3s6h5l7gspse6ol4b7goy:zinwdjlffv23gbv5umyjqcdg3trfmvxdwc77cwae3cpxw6mhtq5a
|
||||||
|
bob: URI:DIR2:r2dwmysrl4wigiov52fmifs2mi:2fdu2l3jxuqupepefmkd3y5vftqatc62vl6elmb5qlgi3gmvpx6a
|
||||||
|
vm2% cat > ~/.tahoe/private/ftp.accounts
|
||||||
|
alice h3rp4ssw0rd URI:DIR2:x3y3i3s6h5l7gspse6ol4b7goy:zinwdjlffv23gbv5umyjqcdg3trfmvxdwc77cwae3cpxw6mhtq5a
|
||||||
|
bob h1sp4ssw0rd URI:DIR2:r2dwmysrl4wigiov52fmifs2mi:2fdu2l3jxuqupepefmkd3y5vftqatc62vl6elmb5qlgi3gmvpx6a
|
||||||
|
vm2%
|
||||||
|
```
|
||||||
|
|
||||||
|
If you look carefully to both logs, alice gets two root caps on each target host,
|
||||||
|
while bob is getting the same root cap on both. Of course, the alias creation is
|
||||||
|
optional, but handy for the grid manager to control what the users have.
|
||||||
|
|
||||||
|
now, let's update the configuration :
|
||||||
|
```
|
||||||
|
% vim ~/.tahoe/tahoe.cfg
|
||||||
|
-------------8<----------------------8<----------------
|
||||||
|
22 [ftpd]
|
||||||
|
23 enabled = true
|
||||||
|
24 port = 8021
|
||||||
|
25 accounts.file = private/ftp.accounts
|
||||||
|
------------->8---------------------->8----------------
|
||||||
|
% tahoe restart
|
||||||
|
STOPPING /home/guyzmo/.tahoe
|
||||||
|
process 3063 is dead
|
||||||
|
STARTING /home/guyzmo/.tahoe
|
||||||
|
client node probably started
|
||||||
|
```
|
||||||
|
|
||||||
|
and then, connect your FTP client to tahoe's FTP server:
|
||||||
|
|
||||||
|
```
|
||||||
|
% tahoe cp foobar.jpg bob:
|
||||||
|
Success: files copied
|
||||||
|
% lftp bob:h1sp4ssw0rd@172.16.23.1:8021
|
||||||
|
lftp bob@172.16.23.1:/> ls
|
||||||
|
-rw------- 1 bob bob 857648 Jan 01 1970 foobar.jpg
|
||||||
|
lftp bob@172.16.23.1:/> exit
|
||||||
|
% lftp alice:h3rp4ssw0rd@172.16.23.1:8021
|
||||||
|
lftp alice@172.16.23.1:~> put cliclac.jpg
|
||||||
|
857648 bytes transferred
|
||||||
|
lftp alice@172.16.23.1:~> ls
|
||||||
|
-rw------- 1 alice alice 857648 Jan 01 1970 foobar.jpg
|
||||||
|
lftp alice@172.16.23.1:/> exit
|
||||||
|
% lftp bob:h1sp4ssw0rd@172.16.23.130:8021
|
||||||
|
lftp bob@172.16.23.130:~> ls
|
||||||
|
-rw------- 1 bob bob 857648 Jan 01 1970 foobar.jpg
|
||||||
|
lftp bob@172.16.23.130:/> exit
|
||||||
|
% lftp alice:h3rp4ssw0rd@172.16.23.130:8021
|
||||||
|
lftp alice@172.16.23.130:~> ls
|
||||||
|
lftp alice@172.16.23.130:/> exit
|
||||||
|
```
|
||||||
|
|
||||||
|
et voilà !
|
||||||
|
|
||||||
|
## Configure sFTP access
|
||||||
|
|
||||||
|
The procedure is slightly the same as for ftp access. You need to have the
|
||||||
|
ftp.accounts files placed in ~/.tahoe/private/, and we'll consider you already
|
||||||
|
have the one written in the previous section.
|
||||||
|
|
||||||
|
/!\ As for FTP access, you need to have twisted version >=10.1.0 installed
|
||||||
|
before trying to use tahoe's sFTP feature.
|
||||||
|
|
||||||
|
```
|
||||||
|
% ssh-keygen -f ~/.tahoe/private/ssh_host_rsa_key
|
||||||
|
Generating public/private rsa key pair.
|
||||||
|
Enter passphrase (empty for no passphrase):
|
||||||
|
Enter same passphrase again:
|
||||||
|
Your identification has been saved in /home/guyzmo/.tahoe/private/ssh_host_rsa_key.
|
||||||
|
Your public key has been saved in /home/guyzmo/.tahoe/private/ssh_host_rsa_key.pub.
|
||||||
|
The key fingerprint is:
|
||||||
|
3f:a6:c7:38:19:3a:19:3c:ee:77:d5:5a:3d:2f:86:6c guyzmo@vm2
|
||||||
|
The key's randomart image is:
|
||||||
|
+--[ RSA 2048]----+
|
||||||
|
| |
|
||||||
|
| |
|
||||||
|
| |
|
||||||
|
| |
|
||||||
|
| . S . . |
|
||||||
|
| + .. . o..|
|
||||||
|
| . = =+o + o|
|
||||||
|
| = =o+.E o .|
|
||||||
|
| ..o.+ . . . |
|
||||||
|
+-----------------+
|
||||||
|
% vim ~/.tahoe/tahoe.cfg
|
||||||
|
-------------8<----------------------8<----------------
|
||||||
|
27 [sftpd]
|
||||||
|
28 enabled = true
|
||||||
|
29 port = 8022
|
||||||
|
30 host_pubkey_file = private/ssh_host_rsa_key.pub
|
||||||
|
31 host_privkey_file = private/ssh_host_rsa_key
|
||||||
|
32 accounts.file = private/ftp.accounts
|
||||||
|
------------->8---------------------->8----------------
|
||||||
|
% tahoe restart
|
||||||
|
STOPPING /home/guyzmo/.tahoe
|
||||||
|
process 3101 is dead
|
||||||
|
STARTING /home/guyzmo/.tahoe
|
||||||
|
client node probably started
|
||||||
|
% mkdir ./mnt
|
||||||
|
% mount_sshfs -p 8022 bob@172.16.23.1:/ ./mnt/
|
||||||
|
% ls ./mnt/
|
||||||
|
total 1676
|
||||||
|
-rw-rw-rw- luser staff 857648 Aug 4 17:37 foobar.jpg
|
||||||
|
```
|
||||||
|
|
||||||
|
Now, you have a 3 nodes grid running with 1 introducer, 2 storage servers
|
||||||
|
and 4 ways to access your files : a WUI, a CLI and accounts for FTP/sFTP
|
||||||
|
access.
|
Loading…
Reference in a new issue