Understanding cephfs snapshot workflow and performance

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

 



Hello all,
Our team is currently deciding whether to implement snapshotting on cephfs
directories or not, and thus trying to understand the effects and
performance issues caused by snapshots on the cluster.
Our main concern is "How will the cluster be affected when data is written
to a file under a snapshot?". We were able to find out that ceph uses a
Copy-on-write mechanism to clone the snapshots, so my question is, for
example, if I have a 1GB file under a snapshot and I append another 10MB of
data to the file, then how much data will be copied because of the new
write?

My understanding is that since ceph stripes a file into multiple objects,
only the object containing the last stripe_unit (assuming it's not
completely filled) will be copied and the new data will be added to it, and
then ceph somehow manages to include the new object when I request the
current version file and will include the old object when I request the
file from the snapshot. Data copied = O(10MB), I mean it's in the order of
data written, and a few metadata changes.

Or since Ceph now uses Bluestore as the storage layer, does it have even
better optimizations (compared to the above case), like when editing the
object corresponding to the last stripe_unit, will ceph just write the new
data to a location in the disk and edit the metadata of the object to
include the location of the new data, and also maintain snapshot-based
versions of the metadata to provide us the file contents at previous points
in time. Data copied/written = 10MB and some more metadata changes
(compared to the above case).

Or is the case that ceph will copy the whole file and edit the new copy of
the file i.e, data copied is 1GB + 10MB. I am assuming this is not the case
because it's clearly suboptimal for large files.

PS: Any resources on measuring the effect of snapshots on the cluster and
any resources that explain the internals of ceph snapshots will be very
much appreciated. I've done extensive searching on the internet but
couldn't find any relevant data. Tried reading the code but you guys can
probably guess how it went.
Thank you.
_______________________________________________
ceph-users mailing list -- ceph-users@xxxxxxx
To unsubscribe send an email to ceph-users-leave@xxxxxxx



[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