I have a Ceph cluster managed by Rook with a single RGW store over it. We are trying to figure out the best backup strategy for this store. We are considering the following options: using rclone to backup object via an S3 interface, using s3fs-fuse (haven’t tested it yet but s3fs-fuse is known to be not reliable enough), and using NFS-Ganesha to reexport the RGW store as an NFS share. We are going to have quite a lot of RGW users and quite a lot of buckets, so all three solutions do not scale well for us. Another possibility is to perform snapshots of RADOS pools backing the RGW store and to backup these snapshots, but the RTO will be much higher in that case. Another problem with snapshots is that it does not seem possible to perform them consistently across all RGW-backing pools. We never delete objects from the RGW store, so this problem does not seem to be that big if we start snapshotting from the metadata pool - all the data it refers to will remain in place even if we create a snapshot on the data pool a bit later. It won’t be super consistent but it should not be broken either. It’s not entirely clear how to restore single objects in a timely manner using this snapshotting scheme (to be honest, it’s not entirely clear how to restore using this scheme at all), but it seems to be worth trying. What other options do we have? Am I missing something?
Ceph Object Gateway: what is the best backup strategy?
3.4k Views Asked by Alex At
1
There are 1 best solutions below
Related Questions in BACKUP
- How to restore a e2image image backup
- Differential backup for delete and restoring files and folders
- How would I use my backup for my 1inch wallet to get back into my wallet
- backing up RDS to non AWS backup solution
- Can I backup a dockerized mysql database just by copying the container's volume?
- Do I need the series of differential backups to restore my Ceph image to a specific point?
- Backup with Spatie does not work on Windows
- :Unable to obtain authentication token using the credentials provided
- How to create a localized backup server Using Windows server?
- Extract Note Text Format (Bold/Italic/Strikethrough) from iOS OTG Backup
- backup issue about openstack disk
- Auto back up using python
- Avoid automatically backup after restore from snapshot on RA3 Redshift cluster
- UDF (DVD-R) incremental writing of changed file sectors
- About VM Esxi Backup
Related Questions in CEPH
- Do I need the series of differential backups to restore my Ceph image to a specific point?
- CEPH storage can be used via RGW service or directly by librados. Which one is better to use from microservice?
- Can't able to create a Ceph bucket after deletion of access key
- Ceph Maximum number of replication
- The glibc versions of the container and the host are different,will influence performance?
- Error with DomainAttachDevice method from go-libvirt library: "No secret with id 'libvirt-11-format-encryption-secret0'"
- CEPH docker-compose setup dose not run as expected MDS and OSD
- TimescaleDB pgbackrest backups helm chart ERROR: [029]: unable to find child 'IsTruncated':0 in node 'ListAllMyBucketsResult'
- Tensorboard does not reload when using S3 compatible storage
- Ceph dashboard cannot connect to RGW while SSL is enabled
- CEPH RGW doesn't respond well with AWS SDK C++ S3 CreateBucketOutcome
- I should ask to understand the values under the 'attrs' of an object in the following JSON data structure, Ceph, Radosgw, S3, Rados
- Unable to delete multiple files via s3cmd (Ceph)
- How to use SCP and AWS to share data from remote Ceph (S3) and a remote standard filesystem?
- How to format Ceph S3 bucket-policy Principal?
Related Questions in RADOSGW
- I should ask to understand the values under the 'attrs' of an object in the following JSON data structure, Ceph, Radosgw, S3, Rados
- Unable to delete multiple files via s3cmd (Ceph)
- Is it possible for anonymous user to get object metadata (etag) without "full request"?
- Ceph Rados : Facing errors during dependencies installation on Ubuntu
- ceph df max available miscalculation
- ceph df (octopus) shows USED is 7 times higher than STORED in erasure coded pool
- Migrate ceph buckets to new user with zero downtime
- Migrate radosgw data to a new pool
- Read only users - list all the buckets I have read rights to
- Boto3 put_object() fails when I am using SSECustomerKey
- What does NoSuchKey error mean while subscribing for notification in Ceph?
- Ceph limitations (number of buckets and number of users)
- Why Ceph calculate PG ID by object hash rather than CRUSH algorithm?
- Ceph Object Gateway: what is the best backup strategy?
- How do Ceph S3 user and subuser permissions work together?
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
Popular # Hahtags
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?
We're planning to implement Ceph in 2021. We don't expect a large number of users and buckets, initially. While waiting for https://tracker.ceph.com/projects/ceph/wiki/Rgw_-_Snapshots, I successfully tested this solution to address the Object Store protection by taking advantage of multisite configuration + sync policy (https://docs.ceph.com/en/latest/radosgw/multisite-sync-policy/) in the "Octopus" version. Assuming you have all zones in the Prod site Zone Sync'd to the DRS,
user (or integration) can access them, only accessible from the other nodes in the
cluster (obviously) and the server running the rclone-based script;
This protects from the following failures:
Infra:
Human error:
Notes: