On Thu, 8 Nov 2018, Mohamad Gebai wrote: > Hi all, > > I'm going over the pool migration using a cache tier process explained > here [1]. There are a couple of issues with it: > > 1. if the pool has RBD images in it, it cannot be added as a tier: > > $> ceph osd tier add newpool testpool --force-nonempty > Error ENOTEMPTY: tier pool 'testpool' has snapshot state; it cannot be > added as a tier without breaking the pool > > This happens even though there are no snapshots in the pool, but it can > be mitigated by enabling mon_debug_unsafe_allow_tier_with_nonempty_snaps. Is newpool not a brand-new pool? It shouldn't have any snapshot state.. although, yes, if it is empty and you don't care, then enabling that option is okay (basically the pool-level snapshot metadata for the base pool gets mirrored into the tier pool). > 2. the 'forward' mode seems to be causing some issues as seen in this > issue [2] (writes reordering) and in the comment here [3]. Using the > 'proxy' mode though seems to achieve the same ends for pool migration. > > Are there any thoughts on this procedure? Should the 'proxy' mode be > used instead of the 'forward' mode? And how safe is it to enable tiering > with snapshot state on a production cluster? 'foward' is unsafe--do not use it. 'proxy' is what you want. sage