-
Notifications
You must be signed in to change notification settings - Fork 547
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
CSI snapshots of an erasure-coded-backed volume stores snapshot data in the metadata pool #4761
Comments
I have temporarily patched this problem internally so we can test if the change helps with our OSD disk usage.
|
@iPraveenParihar any update on this? |
@Champ-Goblem, Thanks for opening up the issue. Since Can we use GetString(RbdImageOptionDataPool) to get datapool value as we are setting the datapool value when creating an image? ceph-csi/internal/rbd/rbd_util.go Lines 1553 to 1559 in e19c289
@nixpanic WDYT? |
This issue has been automatically marked as stale because it has not had recent activity. It will be closed in a week if no further activity occurs. Thank you for your contributions. |
For reference, I asked about the following in the Ceph Slack: https://ceph-storage.slack.com/archives/C05522L7P60/p1723555634369239
Describe the bug
When creating snapshots of erasure-coded RBD volumes the data is stored in the replicated metadata pool.
From the investigation into the ceph-csi code, the data pool option is not set during
CreateSnapshot
->GenVolFromVolID
.This instance of rbdVolume is passed to
doSnapshotClone
, which callscreateRBDClone
.During the clone process:
cloneRbdImageFromSnapshot
copies the RBD image options from thecloneRbdVol
, created based on the rbdVolume generated fromGenVolFromVolID
. These options are passed tolibrbd.CloneImage
and thus copies the data into the erasure-coded metadata pool, rather than keeping the data in the original erasure-coded pool.This can be seen when inspecting the image in rbd with
rbd info
, the image is missing the data_pool field:Compare this to the original image:
Steps to reproduce
Steps to reproduce the behavior: Snapshot an erasure-coded volume
Expected behavior
The snapshot should remain within the original erasure-coded pool and not have data copied to the replicated metadata pool.
The text was updated successfully, but these errors were encountered: