Feature #11184

[Keep] Support multiple storage tiers

Added by Tom Morris 9 months ago. Updated about 1 month ago.

Status:NewStart date:10/05/2017
Priority:NormalDue date:
Assignee:Tom Morris% Done:


Target version:Arvados Future Sprints
Story points3.0Remaining (hours)0.00 hour
Velocity based estimate0 days


As an Arvados system administrator, I'd want the ability take advantage of the cool/cold storage classes offered by cloud vendors.

This would potentially require the ability to designate storage tier in some way (collection, all collections in a project, etc) as well as a way to migrate between storage classes/locations,

Keep storage groups (previous Keep storage tiers)

Keep volumes have storage attributes that they offer.
Collections have storage attributes that they desire. Blocks get written to same Keep store server as today.
Keep balance moves data to volumes that have the desired attributes and updates the collection to reflect the actual storage class (ie there are separate requested storage class and current storage class). Keep balance needs to track blocks by volume rather than by server as it currently does.

If multiple collections have the same block with different storage classes, the block gets stored multiple times, once in each.

For the initial iteration, there is no client side support.

Microsoft Azure (pricing at 50-500 TB level)

  • LRS-COOL $0.01/GB/mo, $0.01/10Kops + $0.01GB
  • LRS-HOT $0.0177/GB/mo, $0.05/10Kops
  • GRS-COOL $0.02/GB/mo, $0.20/10Kops + $0.01/GB
  • GRS-HOT $0.0354/GB/mo, $0.10/10Kops
  • RAGRS-COOL $0.025/GB/mo, $0.20/10Kops + $0.01/GB
  • RAGRS-HOST $0.0442/GB/mo, $0.10/10Kops
Amazon S3 (pricing at 50-500TB level)
  • Standard - $0.022/GB, $0.004/10Kops (get)
  • Infrequent Access - $0.0125/GB, $0.01/10Kops (get)
  • Glacier - $0.004/GB + variable retrieval charge depending on speed
  • Multi-Regional Storage $0.026/GB/mo
  • Regional Storage $0.02/GB/mo
  • Nearline Storage $0.01/GB/mo, $0.01/GB retrieval charge
  • Coldline Storage $0.007, $0.05/GB retrieval charge
  • Optional bucket versioning


Task #12406: [Keep-balance] knows which volumes offer which storage ca...New

Task #12407: [API] Collections get a new storage category classNew

Task #12408: add StorageClasses to keepstore volume configsNew


#1 Updated by Tom Morris 8 months ago

  • Assignee set to Tom Clegg

#2 Updated by Tom Clegg 7 months ago

  • Description updated (diff)

#3 Updated by Tom Morris 5 months ago

  • Assignee changed from Tom Clegg to Tom Morris

#4 Updated by Tom Morris 5 months ago

  • Description updated (diff)

#5 Updated by Tom Clegg 2 months ago

  1. specify desired functionality (user can push X buttons, result is Y)
  2. enumerate features/improvements needed to achieve desired functionality, and define any new APIs needed
  3. estimate points (or maybe split into separate stories if needed)

#7 Updated by Tom Morris about 1 month ago

  • Description updated (diff)

#8 Updated by Tom Morris about 1 month ago

  • Story points set to 3.0

Also available in: Atom PDF