On Sun, Dec 2, 2012 at 11:53 PM, <liuyaqi@xxxxxxxxxx> wrote: > Dear Sir, > > I am YaqiLiu who had asked you some questions about snap in ceph, > and I have some problem with my gmail now, so I am connecting with you with > this address . Thanks for your reply about all the questions, but I still > have some confusion. You said "A pool is a logical namespace into which you > place objects", what is this mean by logical namespace? A directory?Can you > give me an example? It's not really a directory since it's flat — there's no hierarchy available. It's like an S3 bucket or any other object storage grouping. > And what's the meaning of pool snap? There are a couple of different kinds of snapshots in RADOS: the "self-managed snapshot" and the "pool snapshot". A pool snapshot is a snapshot on all objects in the pool, whereas self-managed snapshots apply to whatever objects you-the-object-writer decide they apply to. > I think if one > volume is failed, using one pool can not recover. No, no. RADOS pools are a logical namespace, and are the level at which you decide how many copies of the data there are and how they're placed. So an object in a Ceph cluster is placed into a single RADOS pool, and then gets 2 or 3 or n copies placed on different OSDs according to the CRUSH rules used by the pool. > I really want to learn the realization of ceph snap, after a few > weeks of reading code, I still have no idea of the implementation, can you > give me some guide on it? Thanks very much! You're going to need to ask some more specific questions than that. If you're looking for the low-level implementation you'll have to dig through the OSD code. > Can I ask you another question? Where is the content of the > snapshot like the pointers to the old blocks live in? That depends on the underlying filesystem in use. But if you look at the snapshot code in the OSD (start from ReplicatedPG::make_writeable) you'll see that it clones the object (into a new file on the local FS) when it needs to make a new snapshot. Follow that around, and look at the SnapSet struct. -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