Changes between Version 59 and Version 60 of FAQ
- Timestamp:
- 2011-11-26T20:17:49Z (13 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
FAQ
v59 v60 1 1 2 '''[=#Q1_why_tahoe_lafs Q1:] What is special about Tahoe-LAFS? Why should anyone care about it instead of [ http://tahoe-lafs.org/trac/tahoe/wiki/RelatedProjects#OtherProjects other distributed storage systems]?'''2 '''[=#Q1_why_tahoe_lafs Q1:] What is special about Tahoe-LAFS? Why should anyone care about it instead of [wiki:RelatedProjects#OtherProjects other distributed storage systems]?''' 3 3 4 A1: Tahoe-LAFS is the first Free !Software/Open Source storage technology to offer ''provider-independent security''. ''Provider-independent security'' means that the integrity and confidentiality of your files is guaranteed by mathematics computed on the client side, and is independent of the servers, which may be owned and operated by someone else. To learn more, read [ http://tahoe-lafs.org/source/tahoe/trunk/docs/about.html our one-page explanation].4 A1: Tahoe-LAFS is the first Free !Software/Open Source storage technology to offer ''provider-independent security''. ''Provider-independent security'' means that the integrity and confidentiality of your files is guaranteed by mathematics computed on the client side, and is independent of the servers, which may be owned and operated by someone else. To learn more, read [//source/tahoe/trunk/docs/about.html our one-page explanation]. 5 5 6 6 A2: Tahoe-LAFS provides reliable, fault-tolerant storage. Even if you do not need its security properties, you might want to use Tahoe-LAFS for extremely reliable storage. (Tahoe-LAFS's security features do a good job of staying out of your way when you don't need them.) … … 26 26 '''[=#Q4_where_are_the_docs Q4:] Where should I look for current documentation about the Tahoe-LAFS protocols?''' 27 27 28 A: http://tahoe-lafs.org/source/tahoe/trunk/docs/architecture.rst28 A: [//source/tahoe/trunk/docs/architecture.rst https://tahoe-lafs.org/source/tahoe/trunk/docs/architecture.rst] 29 29 30 30 '''[=#Q5_embedded_devices Q5:] Does Tahoe-LAFS work on embedded devices such as a [http://www.pogoplug.com PogoPlug] or an [http://openwrt.org OpenWRT] router?''' 31 31 32 A: Yes. François Deppierraz contributes [ http://tahoe-lafs.org/buildbot/builders/FranXois%20lenny-armv5tel a buildbot] which shows that Tahoe-LAFS builds and all the unit tests pass on his Intel SS4000-E NAS box running under Debian Squeeze. Zandr Milewski [http://tahoe-lafs.org/pipermail/tahoe-dev/2009-November/003157.html reported] that it took him only an hour to build, install, and test Tahoe-LAFS on a !PogoPlug.32 A: Yes. François Deppierraz contributes [//buildbot-tahoe-lafs/builders/FranXois%20lenny-armv5tel a buildbot] which shows that Tahoe-LAFS builds and all the unit tests pass on his Intel SS4000-E NAS box running under Debian Squeeze. Zandr Milewski [//pipermail/tahoe-dev/2009-November/003157.html reported] that it took him only an hour to build, install, and test Tahoe-LAFS on a !PogoPlug. 33 33 34 34 '''[=#Q6_windows Q6:] Does Tahoe-LAFS work on Windows?''' 35 35 36 A: Yes. Follow [ http://tahoe-lafs.org/trac/tahoe-lafs/browser/trunk/docs/quickstart.rst the standard quickstart instructions] to get Tahoe-LAFS running on Windows. (There was also an "Allmydata Windows client", but that is not actively maintained at the moment, and relied on some components that are not open-source.)36 A: Yes. Follow [source:trunk/docs/quickstart.rst the standard quickstart instructions] to get Tahoe-LAFS running on Windows. (There was also an "Allmydata Windows client", but that is not actively maintained at the moment, and relied on some components that are not open-source.) 37 37 38 38 '''[=#Q7_mac_os_x Q7:] Does Tahoe-LAFS work on Mac OS X?''' 39 39 40 A: Yes. Follow [ http://tahoe-lafs.org/trac/tahoe-lafs/browser/trunk/docs/quickstart.rst the standard quickstart instructions] on Mac OS X and it will result in a working command-line tool on Mac OS X just as it does on other Unixes.40 A: Yes. Follow [source:trunk/docs/quickstart.rst the standard quickstart instructions] on Mac OS X and it will result in a working command-line tool on Mac OS X just as it does on other Unixes. 41 41 42 42 '''[=#Q8_storage_in_multiple_dirs Q8:] Can there be more than one storage directory on a storage node? So if a storage server contains 3 drives without RAID, can it use all 3 for storage?''' … … 125 125 A: Tahoe-LAFS is designed to be unobtrusive. First of all, it doesn't start at all except when you tell it to—you start it with {{{tahoe start}}} and stop it with {{{tahoe stop}}}. Secondly, the software doesn't act as a server unless you configure it to do so—it isn't like peer-to-peer software which automatically acts as a server as well as a client. Thirdly, the client doesn't do anything except in response to the user starting an upload or a download—it doesn't do anything automatically or in the background (this might change in future, to support background repair for example, but probably only if you explicitly enable it). Fourthly, with two minor exceptions described below, the server doesn't do anything either, except in response to clients doing uploads or downloads. Finally, even when the server is actively serving clients it isn't too intensive of a process. It uses between 40 and 56 MB of RAM on a 64-bit Linux server. We used to run eight of them on a single-core 2 GHz Opteron and had plenty of CPU to spare, so it isn't too CPU intensive. 126 126 127 The two minor exceptions are that the server periodically inspects all of the ciphertext that it is storing on behalf of clients. It is configured to do this "in the background", by doing it only for a second at a time and waiting for a few seconds in between each step. The intent is that this will not noticably impact other users of the same server. For all the details about when these background processes run and what they do, read the documentation in [ http://tahoe-lafs.org/trac/tahoe-lafs/browser/trunk/src/allmydata/storage/crawler.py?annotate=blame&rev=4164 storage/crawler.py] and [http://tahoe-lafs.org/trac/tahoe-lafs/browser/trunk/src/allmydata/storage/expirer.py?annotate=blame&rev=4329 storage/expirer.py].127 The two minor exceptions are that the server periodically inspects all of the ciphertext that it is storing on behalf of clients. It is configured to do this "in the background", by doing it only for a second at a time and waiting for a few seconds in between each step. The intent is that this will not noticably impact other users of the same server. For all the details about when these background processes run and what they do, read the documentation in [source:trunk/src/allmydata/storage/crawler.py?annotate=blame&rev=4164 storage/crawler.py] and [source:trunk/src/allmydata/storage/expirer.py?annotate=blame&rev=4329 storage/expirer.py]. 128 128 129 129 130 130 '''[=#Q19_repair Q19:] If a storage server dies and new one is installed, will Tahoe-LAFS automatically generate a new share of each file to store on the new one?''' 131 131 132 A: Not automatically (see also [#Q18_unobtrusive_software Q18]). There is a repair operation, but it starts only when the use triggers it, by clicking on the "repair" button on the web user interface or running the "tahoe check" command. You can, of course, execute the "tahoe check" command from a script. Kevin Reid posted [ http://tahoe-lafs.org/pipermail/tahoe-dev/2009-October/003012.html his cron script] with which he has configured his node to repair all files every night.132 A: Not automatically (see also [#Q18_unobtrusive_software Q18]). There is a repair operation, but it starts only when the use triggers it, by clicking on the "repair" button on the web user interface or running the "tahoe check" command. You can, of course, execute the "tahoe check" command from a script. Kevin Reid posted [//pipermail/tahoe-dev/2009-October/003012.html his cron script] with which he has configured his node to repair all files every night. 133 133 134 134 '''[=#Q20_revocation Q20:] What about revoking access to a file or directory?''' 135 135 136 136 Please see these mailing list threads: 137 * [ http://tahoe-lafs.org/pipermail/tahoe-dev/2011-June/006387.html Tahoe Access Control]138 * [ http://tahoe-lafs.org/pipermail/tahoe-dev/2011-June/006388.html question about sharing...] (especially [http://tahoe-lafs.org/pipermail/tahoe-dev/2011-June/006427.html this message by Brian Warner])139 * [ http://tahoe-lafs.org/pipermail/tahoe-dev/2011-June/006424.html revocation of read-access to an immutable file]137 * [//pipermail/tahoe-dev/2011-June/006387.html Tahoe Access Control] 138 * [//pipermail/tahoe-dev/2011-June/006388.html question about sharing...] (especially [//pipermail/tahoe-dev/2011-June/006427.html this message by Brian Warner]) 139 * [//pipermail/tahoe-dev/2011-June/006424.html revocation of read-access to an immutable file] 140 140 141 141 '''[=#Q21_NAT Q21:] How come sometimes my client is connected to my server even though the server is behind NAT?''' … … 143 143 A: 144 144 Ideally, all clients attempt to open connections to all servers, and all servers attempt to open connections to all clients. So, if the client is not behind NAT, then even if the server is behind NAT. However, this is not currently the case. 145 **Currently** what it does is that all clients attempt to open connections to all servers, but if there is a connection between two Tahoe-LAFS processes (== Tahoe-LAFS nodes) it can re-use that connection for any client or server in either node. So, when you enable a storage server on the public facing server, that causes the node behind NAT to initiate a TCP connection to the node on the public facing server. Once that connection is established, that enables the node there to *use* the server behind NAT. Related issue: http://tahoe-lafs.org/trac/tahoe-lafs/ticket/1086#comment:7145 **Currently** what it does is that all clients attempt to open connections to all servers, but if there is a connection between two Tahoe-LAFS processes (== Tahoe-LAFS nodes) it can re-use that connection for any client or server in either node. So, when you enable a storage server on the public facing server, that causes the node behind NAT to initiate a TCP connection to the node on the public facing server. Once that connection is established, that enables the node there to *use* the server behind NAT. Related issue: comment:7:ticket:1086 146 146 147 147 '''[=#Q22_literalcaps Q22:] What are literal caps?''' 148 148 149 149 A: 150 Literal caps (or LIT caps) are simply the base32 encoding of the file data, and are used for very small files. The threshold is 55 bytes (source: [ https://tahoe-lafs.org/trac/tahoe-lafs/browser/trunk/src/allmydata/immutable/upload.py?rev=fd676a5846fce5da#L1410 immutable/upload.py]), which is150 Literal caps (or LIT caps) are simply the base32 encoding of the file data, and are used for very small files. The threshold is 55 bytes (source: [source:trunk/src/allmydata/immutable/upload.py?rev=5232#L1410 immutable/upload.py]), which is 151 151 the break-even point at which the LIT filecap is the same length as a typical CHK filecap. They are sufficient (you don't even need network access to turn the LIT filecap into the data), and necessary (if you don't know the filecap for my data, you can't figure out the data). See this mailing list thread: 152 * [ https://tahoe-lafs.org/pipermail/tahoe-dev/2010-April/004235.html Storing a small file leads to a weird read capability] (especially [https://tahoe-lafs.org/pipermail/tahoe-dev/2010-April/004237.html this message by Brian Warner])152 * [//pipermail/tahoe-dev/2010-April/004235.html Storing a small file leads to a weird read capability] (especially [//pipermail/tahoe-dev/2010-April/004237.html this message by Brian Warner]) 153 153 154 Literal caps are supported for immutable files and immutable directories (see [ https://tahoe-lafs.org/trac/tahoe-lafs/wiki/Capabilities the Capabilities wiki page]). Whenever the contents of the file or directory are small enough that it would be more efficient to fit the contents into the cap itself than the store the contents remotely and use the cap to fetch it, then it becomes a literal cap.154 Literal caps are supported for immutable files and immutable directories (see [wiki:Capabilities the Capabilities wiki page]). Whenever the contents of the file or directory are small enough that it would be more efficient to fit the contents into the cap itself than the store the contents remotely and use the cap to fetch it, then it becomes a literal cap.