WhileBenji can backup any block device or image file (this includes LVM logicalvolumes and snapshots) it excels at backing up Ceph RBD images and it also includespreliminary support to backup iSCSI targets.
Benji is written in Python and is available in PyPIfor installation with pip. Benji also features a generic container image with alldependencies included as well as an image and Helm chart to integrate Benji into aKubernetes environment to backup Ceph RBD based persistentvolumes.
Benji is beta quality and will probably stay that way due to time constraints. Pleaseopen an issue on GitHub if you have any usage question that is not or incorrectlycovered by the documentation. And have a look at the CHANGES file for any upgradenotes.
The master branch contains the development version of Benji and may be broken attimes and may even destroy your backups. Please use the latest pre-releases to getsome resemblance of stability and a migration path from one pre-release to the next.
The benji-k8s container image together with the Helm chart provides a solid wayfor backing up persistent volumes provided by Ceph RBD. This includes volumesprovisioned by Rook, Ceph CSI or the older volume plugin integrated into kubelet.
Benji deduplicates all data read and each unique block is only writtento the storage location once. The deduplication takes into account allhistoric data present on the backup storage and so spans all backupsand all backup sources.
With the help of snapshots and the rbd diff command Benji onlybackups blocks that have changed since the last backup when used withCeph RBD images. The same mechanism can be extended to other backupsources.
As only changed and not yet known blocks are written to the backup storage,the bandwidth requirements for the network connection between Benji and thestorage location are usually low. Even with newly created block devicesthe traffic to the backup storage location is generally small as these devicesmostly contain sparse blocks. Enabling compression further reduces the bandwidthrequirements.
Benji supports AES-256 in GCM mode to encrypt all data blocks on thebackup storage. By using envelope encryption every block is encrypted withits own unique random key. This makes plaintext attacks even more difficult.
Each data block in Benji is protected by a checksum. This checksum is notonly used for deduplication but also to ensure the integrity of the wholebackup. Long-term availability of backups is ensured by regularly checkingexisting backups for bit rot.
Benji brings its own NBD (network block device) server which makes backupimages directly accessible as a block device - even over the network. Theblock device can be mounted if it contains a filesystem and any individualfiles needed can be easily restored even though Benji is a block basedbackup solution.
Benji can also provide a writable version of a backup via NBD. This enablesrepair operations like fsck. The original backup is not changed in thiscase. All changes are transparently written to a new backup via copy-on-writeand this new backup can be restored just like any other backup after therepair is complete.
I agree to the terms described in the Registration Policy. Registration fees are non-refundable. I understand that if I am unable to attend, I may contact cynthia@thebenjiproject. If The Benji Project is able to fill my space, a 50 percent refund will be offered to me.
I agree that I will with hold harmless and indemnify The Benji Project, Cynthia Osterman, and any and all other individuals or entity connected with this event from any claims, suits or other actions arising from, caused by or which are the alleged result of any act or ommission related to this event. In consideration of my application and permitting me to participate in this event, I hereby take action for myself, my executors, heirs, next of kin, administrators and successors and waive, release and discharge from any and all liability for my death, disability, personal injury, property damage, property theft or actions of any kinds that may accrue to me from this event. I consent to receive medical treatment that may be deemed advisable during this event. This shall be construed broadly to provide a release and waiver to the maximum extend permissible. I certify I have read this information and understand its content.
3a8082e126