[tahoe-lafs-trac-stream] [tahoe-lafs] #1838: Add StorageLocation hint to Storage Server

tahoe-lafs trac at tahoe-lafs.org
Thu Nov 1 22:58:15 UTC 2012


#1838: Add StorageLocation hint to Storage Server
-------------------------+----------------------------
 Reporter:  PRabahy      |          Owner:  davidsarah
     Type:  enhancement  |         Status:  new
 Priority:  normal       |      Milestone:  undecided
Component:  unknown      |        Version:  1.9.2
 Keywords:               |  Launchpad Bug:
-------------------------+----------------------------
 I'm new to Tahoe, so sorry if I don't use all the correct terminology.

 I believe that the Storage Server could be enhanced to announce a hint to
 where it stores its data. This will allow a Client to more intelligently
 choose which Storage Servers it chooses to trust with its data (#467,
 #573).

 On [wiki:ServerSelection] it looks like Brian already thought about this:
 "I'd love to be able to get stronger diversity among hosts, racks, or data
 centers, but I don't yet know how to get that and get the properties
 listed above, while keeping the filecaps small."

 My ideas that when a Client first connects to a Storage Server, the
 Storage Server can respond with a special string that describes where it
 believe that it is storing the data it receives. For example, any server
 that is using the S3 backend (#999) could reply "S3". A datacenter admin
 could set all of their servers to reply "ABC_DataCenter".

 These hints would be non-authoritative because any Storage Server could
 easily lie about where it is storing the data, but even if all Storage
 Server were lying it would be no worse than today. The rogue Storage
 Servers could collude to say they were all using the same storage
 location, but then the Client would just avoid using more than one of the
 rogue servers. The rouge Storage Servers could also collude to say the
 were all using different storage locations (even though the were in the
 same location), but that simply trick the client back into the current
 behavior.

 Finally, by adhering to a convention and parsing the string, a hierarchy
 of locations could be made. For example a company has 2 data centers so
 they set the hint for their servers as "ABC_DC1_RACK1", "ABC_DC1_RACK2",
 "ABC_DC2_RACK1", "ABC_DC2_RACK2", etc.

-- 
Ticket URL: <https://tahoe-lafs.org/trac/tahoe-lafs/ticket/1838>
tahoe-lafs <https://tahoe-lafs.org>
secure decentralized storage


More information about the tahoe-lafs-trac-stream mailing list