Re: Question: How does Ceph go from filename to object?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, Jul 4, 2011 at 10:17 AM, Vasilakakos Giorgos <sugoruyo@xxxxxxxxx> wrote:
> Hello folks, I have a question:
> I know files get mapped to objects and those objects to OSDs but how
> exactly do we go from one to the other?
> What I mean is, given the filename I want to access how does Ceph find
> the relevant objects? What exactly does CRUSH do?
The mapping between files and objects is by inode number and doesn't
involve the filename at all (if it did you'd have to move objects just
because you'd renamed a file!).
> Supposedly, the client first asks the MDS for an inode number, what then?
> How are the object and PG IDs constructed and where exactly does CRUSH come in?
> My impression is that the OID is made from the name, inode and
> probably some kind of information about the striping of the file,
> what about the mapping of an object to a PG?
> Are PGs mapped to OSDs by means of CRUSH, or are objects mapped to PGs
> by CRUSH? How are PGs assigned to OSDs then?
The object name is just the inode number postfixed by a sequence
counter for each object included in the file. (If it included the file
name, you'd have to rename objects and move them just because you
renamed the file. Not good.) The information about striping is
contained in object metadata that the OSDs keep.
I believe that by default the striping is just linear, so if your
object is less than 4MB it will take one object; if it is more than
4MB it will take (ceiling(size/4MB)) objects named 2000000001.0,
2000000001.1, 2000000001.2....
You could set up other striping strategies though, so that it striped
eg 1MB over each object and did 4 stripes per object, but the objects
would still be named the same.
CRUSH then maps the OID onto a PG and maps the PG onto an OSD. (So,
objects are mapped by CRUSH into PGs, and PGs are mapped by CRUSH onto
OSDs.)
-Greg
--
To unsubscribe from this list: send the line "unsubscribe ceph-devel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [CEPH Users]     [Ceph Large]     [Information on CEPH]     [Linux BTRFS]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]
  Powered by Linux