Re: RBD Watch Notify for snapshots

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

 



Looks good.  Since you are re-using the RBD header object to send the
watch notification, a running librbd client will most likely print out
an error message along the lines of "failed to decode the
notification" since you are sending "fsfreeze" / "fsunfreeze" as the
payload, but it would be harmless.

On Mon, Aug 22, 2016 at 9:13 AM, Nick Fisk <nick@xxxxxxxxxx> wrote:
> Hi Jason,
>
> Here is my initial attempt at using the Watch/Notify support to be able to remotely fsfreeze a filesystem on a RBD. Please note this
> was all very new to me and so there will probably be a lot of things that haven't been done in the best way.
>
> https://github.com/fiskn/rbd_freeze
>
> I'm not sure if calling out to bash scripts is the best way of doing the fsfreezing, but it was the easiest way I could think to
> accomplish the task. And it also allowed me to fairly easily run extra checks like seeing if any files have been updated recently.
>
> Let me know what you think.
>
> Nick
>
>> -----Original Message-----
>> From: ceph-users [mailto:ceph-users-bounces@xxxxxxxxxxxxxx] On Behalf Of Nick Fisk
>> Sent: 08 July 2016 09:58
>> To: dillaman@xxxxxxxxxx
>> Cc: 'ceph-users' <ceph-users@xxxxxxxxxxxxxx>
>> Subject: Re:  RBD Watch Notify for snapshots
>>
>> Thanks Jason,
>>
>> I think I'm going to start with a bash script which SSH's into the machine to check if the process has finished writing and then
> calls the
>> fsfreeze as I've got time constraints to getting this working. But I will definitely revisit this and see if there is something I
> can create
>> which will do as you have described, as it would be a much neater solution.
>>
>> Nick
>>
>> > -----Original Message-----
>> > From: ceph-users [mailto:ceph-users-bounces@xxxxxxxxxxxxxx] On Behalf
>> > Of Jason Dillaman
>> > Sent: 08 July 2016 04:02
>> > To: nick@xxxxxxxxxx
>> > Cc: ceph-users <ceph-users@xxxxxxxxxxxxxx>
>> > Subject: Re:  RBD Watch Notify for snapshots
>> >
>> > librbd pseudo-automatically handles this by flushing the cache to the
>> > snapshot when a new snapshot is created, but I don't think krbd does the same. If it doesn't, it would probably be a nice
> addition to
>> the block driver to support the general case.
>> >
>> > Baring that (or if you want to involve something like fsfreeze), I
>> > think the answer depends on how much you are willing to write some
>> > custom C/C++ code (I don't think the rados python library exposes
>> > watch/notify APIs). A daemon could register a watch on a custom per-host/image/etc object which would sync the disk when a
>> notification is received. Prior to creating a snapshot, you would need to send a notification to this object to alert the daemon
> to
>> sync/fsfreeze/etc.
>> >
>> > On Thu, Jul 7, 2016 at 12:33 PM, Nick Fisk <mailto:nick@xxxxxxxxxx> wrote:
>> > Hi All,
>> >
>> > I have a RBD mounted to a machine via the kernel client and I wish to
>> > be able to take a snapshot and mount it to another machine where it can be backed up.
>> >
>> > The big issue is that I need to make sure that the process writing on
>> > the source machine is finished and the FS is sync'd before taking the snapshot.
>> >
>> > My question. Is there something I can do with Watch/Notify to trigger
>> > this checking/sync process on the source machine before the snapshot is actually taken?
>> >
>> > Thanks,
>> > Nick
>> >
>> > _______________________________________________
>> > ceph-users mailing list
>> > mailto:ceph-users@xxxxxxxxxxxxxx
>> > http://lists.ceph.com/listinfo.cgi/ceph-users-ceph.com
>> >
>> >
>> >
>> >
>> > --
>> > Jason
>>
>> _______________________________________________
>> ceph-users mailing list
>> ceph-users@xxxxxxxxxxxxxx
>> http://lists.ceph.com/listinfo.cgi/ceph-users-ceph.com
>



-- 
Jason
_______________________________________________
ceph-users mailing list
ceph-users@xxxxxxxxxxxxxx
http://lists.ceph.com/listinfo.cgi/ceph-users-ceph.com



[Index of Archives]     [Information on CEPH]     [Linux Filesystem Development]     [Ceph Development]     [Ceph Large]     [Ceph Dev]     [Linux USB Development]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [xfs]


  Powered by Linux