YAY, распределенные файловая система будущего.
https://www.tahoe-lafs.org/trac/tahoe-lafs
https://www.tahoe-lafs.org/~trac/LAFS.svg
Естессно, все шифруется на стороне клиента, чтобы service provider не смог ничего прочитать.
Даже есть веб-ебло на питушоне
- Договариваешься с N друзьями.
- Поднимаете это говно
- ...
- Спокойное аутирование
@polecat узабельно? у этих хуев папиры есть и реализация рабочая
Оператор, оперативно прооперируйте меня оперативно оперирующими оперативниками.
@l29ah Q2: "Erasure-coding"? What's that?
A: You know how with RAID-5 you can lose any one drive and still recover? And there is also something called RAID-6 where you can lose any two drives and still recover. Erasure coding is the generalization of this pattern: you get to configure how many drives you could lose and still recover. You can choose how many drives (actually storage servers) will be used in total, from 1 to 256, and how many storage servers are required to recover all the data, from 1 to however many storage servers there are. We call the number of total servers N and the number required K, and we write the parameters as "K-of-N".
This uses an amount of space on each server equal to the total size of your data divided by K.
The default Tahoe-LAFS parameters are 3-of-10, so the data is spread over 10 different drives, and you can lose any 7 of them and still recover the entire data. This gives much better reliability than comparable RAID setups, at a cost of only 3.3 times the storage space that a single copy takes. It takes about 3.3 times the storage space, because it uses space on each server equal to 1/3 of the size of the data, and there are 10 servers.
"Forward error correction" is another term for erasure coding.
Erasure coding should not be confused with "secret sharing", which has the additional security property that fewer than K servers cannot recover any information about the data. Tahoe-LAFS' erasure coding does not have this property, and does not need to have it because we rely on secret-key encryption (using a key in the read cap) for confidentiality.
"Information Dispersal Algorithm" (IDA) can refer either to an erasure code or a secret sharing algorithm depending on context, so we prefer not to use that term.
@l29ah как мне докинуть пару своих гигабайт в твой грид?
@l29ah % tahoe start ~/.tahoe-introducer
STARTING '/home/dc/.tahoe-introducer'
Unhandled Error
Traceback (most recent call last):
File "/usr/lib/python2.7/dist-packages/twisted/application/app.py", line 642, in run
runApp(config)
File "/usr/lib/python2.7/dist-packages/twisted/scripts/twistd.py", line 23, in runApp
_SomeApplicationRunner(config).run()
File "/usr/lib/python2.7/dist-packages/twisted/application/app.py", line 376, in run
self.application = self.createOrGetApplication()
File "/usr/lib/python2.7/dist-packages/twisted/application/app.py", line 441, in createOrGetApplication
application = getApplication(self.config, passphrase)
--- <exception caught here> ---
File "/usr/lib/python2.7/dist-packages/twisted/application/app.py", line 452, in getApplication
application = service.loadApplication(filename, style, passphrase)
File "/usr/lib/python2.7/dist-packages/twisted/application/service.py", line 405, in loadApplication
application = sob.loadValueFromFile(filename, 'application', passphrase)
File "/usr/lib/python2.7/dist-packages/twisted/persisted/sob.py", line 210, in loadValueFromFile
exec fileObj in d, d
File "tahoe-introducer.tac", line 5, in <module>
pkg_resources.require('allmydata-tahoe')
File "/usr/lib/python2.7/dist-packages/pkg_resources.py", line 745, in require
needed = self.resolve(parse_requirements(requirements))
File "/usr/lib/python2.7/dist-packages/pkg_resources.py", line 644, in resolve
raise VersionConflict(dist, req)
pkg_resources.VersionConflict: (six 1.4.1 (/usr/lib/python2.7/dist-packages), Requirement.parse('six>=1.5.2'))
Failed to load application: (six 1.4.1 (/usr/lib/python2.7/dist-packages), Requirement.parse('six>=1.5.2'))