[tahoe-dev] Can Tahoe works well in this scenario?

Shu Lin linshu at gmail.com
Thu Dec 2 07:47:36 UTC 2010


Hi Tahoe team,

First, I am new to the Tahoe project. So, please point out if I have some
misunderstanding on concepts or design purposes. Thanks a lot!

Ok, let's start:

1, I am not so clear about the concept of "share". From my current
understanding, share is a copy of a file, especially if I use extreme case
of below configuration

shares.needed = 1
shares.happy = 1
shares.total = 3

I like to bypass the FEC coding for now (It might be against the original
design goal, but I have my reason for that - will be described in below
scenario). Then, what is the mapping mechanism between shares and servers?

2, Ok, here is my deployment:
In most cases, I have only 3 servers sitting in 3 different places in the
world. I simply like them mirroring each other. There is big possibility
that no all 3 servers are online at the same time. That means lots of time,
there will be 1 or 2 servers are offline. Also, means these 3 servers are
coming and going all the time. It is acceptable as long as the server coming
back online, it can sync missed files from other online server/servers

3, With my observation and below email discussion:
http://tahoe-lafs.org/pipermail/tahoe-dev/2010-November/005597.html
It seems the current Tahoe release can't work for my scenarios without
server rebalancing.

4, The test I have run.
Only two servers, A, B. Both use below configuration
shares.needed = 1
shares.happy = 1
shares.total = 3

>From server A WUI, uploaded file a1 while B is offline, uploaded a2 while B
is online.
>From server B WUI, uploaded file b1 while A is offline, uploaded b2 while A
is online.

Although, eventually, A and B can see all 4 files in the grid. But, from A
WUI, I can't access b1. From B WUI, I can't access a1. Checking a1, it says

   - Share Counts: need 1-of-3, have 3
   - Hosts with good shares: 1
   - Corrupt shares: none
   - Wrong Shares: 0

All 3 good shares are on A server. But, if I try to access a1 from B WUI, it
gave me below error:
==

NoSharesError: no shares could be found. Zero shares usually indicates
a corrupt URI, or that no servers were connected, but it might also
indicate severe corruption. You should perform a filecheck on this
object to learn more.

The full error message is:

no shares (need 1). Last failure: None
==
So, from B WUI, a1 is totally unaccessible even checking report is ok.
Did I miss something in my test? Or, shall I do something to make B server
getting a share of a1?

In my deployment, I would consider it is not acceptable that a1 can only be
accessed from A WUI because all my 3 servers are running in the different
places in the world behind their own firewalls. Accessing a file from remote
server from WUI is not acceptable and against the original security design
of Tahoe project.

Basically, I didn't find any clear concept talking about mapping between
shares and servers (Sorry, maybe I haven't gone through all the docs,
discussion threads  and tickets and found out.). But, I think there should
be a mapping framework, and general configuration language (which is
mentioned by Zooko in
http://tahoe-lafs.org/trac/tahoe-lafs/wiki/ServerSelection . I totally agree
with that). But, definitely not just A super clever algorithm.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://tahoe-lafs.org/pipermail/tahoe-dev/attachments/20101201/722223ab/attachment-0001.html>


More information about the tahoe-dev mailing list