I have just done a test on rbd-mirror. Follow the steps: 1. deploy two new clusters, clusterA and clusterB 2. configure one-way replication from clusterA to clusterB with rbd-mirror 3. write data to rbd_blk on clusterA once every 5 seconds 4. get information with 'rbd mirror image status rbd_blk', the "state" is "up+replaying" 5. demote image on clusterA(just wanna stop syncing and switch client connection to clusterB) The result is: 1. I find that the "last_update" from "rbd mirror image status" updates every 30 seconds, which means I will lose at most 30s of data 2. I stopped syncing on 11:02, while the data from rbd_blk on the clusterB is not newer than 10:50. Did I have the wrong steps in the switching progress? Zhenshi Zhou <deaderzzs@gmail.com> 于2020年6月9日周二 上午8:57写道:
Well, I'm afraid that the image didn't replay continuously, which means I have some data lost. The "rbd mirror image status" shows the image is replayed and its time is just before I demote the primary image. I lost about 24 hours' data and I'm not sure whether there is an interval between the synchronization.
I use version 14.2.9 and I deployed a one direction mirror.
Zhenshi Zhou <deaderzzs@gmail.com> 于2020年6月5日周五 上午10:22写道:
Thank you for the clarification. That's very clear.
Jason Dillaman <jdillama@redhat.com> 于2020年6月5日周五 上午12:46写道:
On Thu, Jun 4, 2020 at 3:43 AM Zhenshi Zhou <deaderzzs@gmail.com> wrote:
My condition is that the primary image being used while rbd-mirror
I want to get the period between the two times of rbd-mirror transfer
sync. the
increased data. I will search those options you provided, thanks a lot :)
When using the original (pre-Octopus) journal-based mirroring, once the initial sync completes to transfer the bulk of the image data from a point-in-time dynamic snapshot, any changes post sync will be replayed continuously from the stream of events written to the journal on the primary image. The "rbd mirror image status" against the non-primary image will provide more details about the current state of the journal replay.
With the Octopus release, we now also support snapshot-based mirroring where we transfer any image deltas between two mirroring snapshots. These mirroring snapshots are different from user-created snapshots and their life-time is managed by RBD mirroring (i.e. they are automatically pruned when no longer needed). This version of mirroring probably more closely relates to your line of questioning since the period of replication is at whatever period you create new mirroring snapshots (provided your two clusters can keep up).
Eugen Block <eblock@nde.ag> 于2020年6月4日周四 下午3:28写道:
The initial sync is a full image sync, the rest is based on the
sets created. There are several options to control the mirroring, for example:
rbd_journal_max_concurrent_object_sets rbd_mirror_concurrent_image_syncs rbd_mirror_leader_max_missed_heartbeats
and many more. I'm not sure I fully understand what you're asking, maybe you could rephrase your question?
Zitat von Zhenshi Zhou <deaderzzs@gmail.com>:
Hi Eugen,
Thanks for the reply. If rbd-mirror constantly synchronize changes, what frequency to replay once? I don't find any options I can config.
Eugen Block <eblock@nde.ag> 于2020年6月4日周四 下午2:54写道:
> Hi, > > that's the point of rbd-mirror, to constantly replay changes from
object the
> primary image to the remote image (if the rbd journal feature is > enabled). > > > Zitat von Zhenshi Zhou <deaderzzs@gmail.com>: > > > Hi all, > > > > I'm gonna deploy a rbd-mirror in order to sync image from clusterA to > > clusterB. > > The image will be used while syncing. I'm not sure if the rbd-mirror will > > sync image > > continuously or not. If not, I will inform clients not to write data in > it. > > > > Thanks. Regards > > _______________________________________________ > > ceph-users mailing list -- ceph-users@ceph.io > > To unsubscribe send an email to ceph-users-leave@ceph.io > > > _______________________________________________ > ceph-users mailing list -- ceph-users@ceph.io > To unsubscribe send an email to ceph-users-leave@ceph.io >
_______________________________________________ ceph-users mailing list -- ceph-users@ceph.io To unsubscribe send an email to ceph-users-leave@ceph.io
-- Jason