Note that servers of happiness only applies to immutable files for the moment
This commit is contained in:
parent
4141d95588
commit
a0a770a96a
|
@ -195,17 +195,28 @@ that information to the share-to-server table. This lets us do less work for
|
||||||
files which have been uploaded once before, while making sure we still wind up
|
files which have been uploaded once before, while making sure we still wind up
|
||||||
with as many shares as we desire.
|
with as many shares as we desire.
|
||||||
|
|
||||||
If we are unable to place every share that we want, but we still managed to
|
Before a file upload is called successful, it has to pass an upload health
|
||||||
place enough shares on enough servers to achieve a condition called "servers of
|
check. For immutable files, we check to see that a condition called
|
||||||
happiness" then we'll do the upload anyways. If we cannot achieve "servers of
|
'servers-of-happiness' is satisfied. When satisfied, 'servers-of-happiness'
|
||||||
happiness", the upload is declared a failure.
|
assures us that enough pieces of the file are distributed across enough
|
||||||
|
servers on the grid to ensure that the availability of the file will not be
|
||||||
|
affected if a few of those servers later fail. For mutable files and
|
||||||
|
directories, we check to see that all of the encoded shares generated during
|
||||||
|
the upload process were successfully placed on the grid. This is a weaker
|
||||||
|
check than 'servers-of-happiness'; it does not consider any information about
|
||||||
|
how the encoded shares are placed on the grid, and cannot detect situations in
|
||||||
|
which all or a majority of the encoded shares generated during the upload
|
||||||
|
process reside on only one storage server. We hope to extend
|
||||||
|
'servers-of-happiness' to mutable files in a future release of Tahoe-LAFS. If,
|
||||||
|
at the end of the upload process, the appropriate upload health check fails,
|
||||||
|
the upload is considered a failure.
|
||||||
|
|
||||||
The current defaults use k=3, servers_of_happiness=7, and N=10. N=10 means that
|
The current defaults use k=3, servers_of_happiness=7, and N=10. N=10 means that
|
||||||
we'll try to place 10 shares. k=3 means that we need any three shares to
|
we'll try to place 10 shares. k=3 means that we need any three shares to
|
||||||
recover the file. servers_of_happiness=7 means that we'll consider the upload
|
recover the file. servers_of_happiness=7 means that we'll consider an immutable
|
||||||
to be successful if we can place shares on enough servers that there are 7
|
file upload to be successful if we can place shares on enough servers that
|
||||||
different servers, the correct functioning of any k of which guarantee the
|
there are 7 different servers, the correct functioning of any k of which
|
||||||
availability of the file.
|
guarantee the availability of the immutable file.
|
||||||
|
|
||||||
N=10 and k=3 means there is a 3.3x expansion factor. On a small grid, you
|
N=10 and k=3 means there is a 3.3x expansion factor. On a small grid, you
|
||||||
should set N about equal to the number of storage servers in your grid; on a
|
should set N about equal to the number of storage servers in your grid; on a
|
||||||
|
|
|
@ -272,11 +272,14 @@ shares.happy = (int, optional) k <= happy <= N
|
||||||
larger than 256, because of the 8-bit erasure-coding algorithm that Tahoe
|
larger than 256, because of the 8-bit erasure-coding algorithm that Tahoe
|
||||||
uses.
|
uses.
|
||||||
|
|
||||||
shares.happy allows you control over the distribution of your file. An upload
|
shares.happy allows you control over the distribution of your immutable file.
|
||||||
is only considered successful if shares are placed on at least 'shares.happy'
|
An upload is only considered successful if shares are placed on at least
|
||||||
distinct servers, the correct functioning of at least k of which is sufficient
|
'shares.happy' distinct servers, the correct functioning of at least k of
|
||||||
to guarantee the availability of the uploaded file. This value should not be
|
which is sufficient to guarantee the availability of the uploaded file. This
|
||||||
larger than the number of servers on your grid.
|
value should not be larger than the number of servers on your grid.
|
||||||
|
|
||||||
|
(Mutable files use a different share placement algorithm that does not
|
||||||
|
consider this parameter.)
|
||||||
|
|
||||||
|
|
||||||
== Storage Server Configuration ==
|
== Storage Server Configuration ==
|
||||||
|
|
Loading…
Reference in New Issue