Project

General

Profile

Actions

Feature #3064

closed

librbd: A way to read from nearby replicas

Added by Anonymous over 11 years ago. Updated almost 11 years ago.

Status:
Resolved
Priority:
Normal
Assignee:
Target version:
% Done:

0%

Source:
Tags:
Backport:
Reviewed:
Affected Versions:
Pull request ID:

Description

In the style of CEPH_OSD_FLAG_LOCALIZE_READS, there are cases when an rbd image is stored in a pool where some of the replicas are closer than the others. That flag only does exact match to current host, it has no other metric of locality.

It would nice if a librados/librbd user could either:

- configure the client's location in terms of crush hierarchy (e.g. dc=us-west)
OR
- configure a list of IP subnets that are considered "close"

These could even go in ceph.conf / libvirt rbd disk entry. "client location = dc:us-west" would match the syntax I've been playing with for OSDs to know what crush location to set at bootup. (Colon because I wanted to avoid "client_location=dc=us-west" confusion.)

I personally prefer the first one, because it isolates the client from knowing internal deployment details of the cluster. I don't know if the crush information would be available

And then, a flag in the api could actually enable reading from replicas; as it loosens the integrity guarantees, it should not be the default, or set for all clients in ceph.conf.

librbd could set the above flag by default for images that are marked "protected" (in the CoW sense), as those are known not to change.

Actions #1

Updated by Neil Levine about 11 years ago

  • Status changed from New to 12
Actions #2

Updated by Neil Levine about 11 years ago

OnAPP offer this with their SAN product:

http://www.quora.com/OnApp/Is-OnApps-SAN-built-using-Ceph

Actions #3

Updated by Ian Colle almost 11 years ago

  • Target version set to v0.63
Actions #4

Updated by Josh Durgin almost 11 years ago

  • Translation missing: en.field_story_points set to 5.00
Actions #5

Updated by Ian Colle almost 11 years ago

  • Status changed from 12 to In Progress
Actions #6

Updated by Josh Durgin almost 11 years ago

  • Status changed from In Progress to Resolved
  • Assignee set to Josh Durgin

Flags to do this for reads of snapshots are added by commit:13ae13a9068afcd4eb4b3574c46875cad8c91ab6.

Making the idea of 'localized' smarter can be implemented later, in #5035.

Actions

Also available in: Atom PDF