the data encode/decode operation is done on OSD side. 2016-03-31 23:28 GMT+08:00 Yu Xiang <hellomorning@xxxxxxxxxxxxx>: > Thanks for the reply! > So where did the decoding process happen? Is it in cache or on the client > side? (Only considering Read.) If it happened when copying from storage tier > to cache, then it has to be an whole object (file), but if decoding can be > happened on client side when the client has all needed chunks, it seems > cache can hold partial chunks of the file? What i mean is that is it > possible for cache to hold partial chunks of a file in Ceph? (assuming file > A has 7 chunks in storage tier, to recover file A a client needs 4 chunks, > will it be possible that 2 chunks of file A are copied to and stored in > cache, when file A is requested, only another 2 chunks are needed from the > storage tier? ) > > Thanks! > > > > e-----Original Message----- > From: huang jun <hjwsm1989@xxxxxxxxx> > To: Yu Xiang <hellomorning@xxxxxxxxxxxxx> > Cc: ceph-users <ceph-users@xxxxxxxxxxxxxx> > Sent: Wed, Mar 30, 2016 9:04 pm > Subject: Re: chunk-based cache in ceph with erasure coded > back-end storage > > > if your cache-mode is write-back, which will cache the read object in > cache tier. > you can try the read-proxy mode, which will not cache the object. > the read request send to primary OSD, and the primary osd collect the > shards from base tier(in you case, is erasure code pool), > you need to read at least k chunks to decode the object. > In current code, cache tier only store the whole object, not the shards. > > > 2016-03-31 6:10 GMT+08:00 Yu Xiang <hellomorning@xxxxxxxxxxxxx>: >> Dear List, >> I am exploring in ceph caching tier recently, considering a cache-tier >> (replicated) and a back storage-tier (erasure-coded), so chunks are stored >> in the OSDs in the erasure-coded storage tier, when a file has been >> requested to read, usually, all chunks in the storage tier would be copied >> to the cache tier, replicated, and stored in the OSDs in caching pool, but >> i >> was wondering would it be possible that if only partial chunks of the >> requested file be copied to cache? or it has to be a complete file? for >> example, a file using (7,4) erasure code (4 original chunks, 3 encoded >> chunks), when read it might be 4 required chunks are copied to cache, and >> i >> was wondering if it's possible to copy only 2 out of 4 required chunks to >> cache, and the users getting the other 2 chunks elsewhere (or assuming the >> client already has 2 chunks, they only need another 2 from ceph)? can the >> cache store partial chunks of a file? >> >> Thanks in advance for any help! >> >> Best, >> Yu >> >> _______________________________________________ >> ceph-users mailing list >> ceph-users@xxxxxxxxxxxxxx >> http://lists.ceph.com/listinfo.cgi/ceph-users-ceph.com >> > > > > -- > thanks > huangjun -- thanks huangjun _______________________________________________ ceph-users mailing list ceph-users@xxxxxxxxxxxxxx http://lists.ceph.com/listinfo.cgi/ceph-users-ceph.com