Code Monkey home page Code Monkey logo

Comments (7)

elemental-lf avatar elemental-lf commented on July 30, 2024

It is possible to specify hints for any type of backup. But there currently is no program to generate these hints for LVM. Code to do something similar in Ruby is found here, both in a variant for classic snapshots and for thin snapshots. I would be delighted to include a script to generate the hints for LVM snapshots, preferably in Python of course.

from benji.

adambmedent avatar adambmedent commented on July 30, 2024

Appreciate the input, I had a feeling that was the case.

I don't know Ruby or Python so I won't be much help.

from benji.

elemental-lf avatar elemental-lf commented on July 30, 2024

I found out that for thin LVM volumes there is a CLI tool which does the metadata parsing and difference calculation: thin_delta. Must have missed it somehow.
See https://github.com/tasket/wyng-backup/blob/94d410fc415094c6cf3f526ae52e7abf1eada2fd/wyng#L930 and https://github.com/LINBIT/thin-send-recv/blob/c48c568055c14d1fa893ac110cadb8c1ded32aea/thin_send_recv.c#L156 for usage by other programs. I haven't looked at the output but it is XML formatted. So it shouldn't be too hard to translate that into Benji's hints format.

from benji.

refi64 avatar refi64 commented on July 30, 2024

So I want to look into this at some point because I'm looking to set up Benji Backup for personal use and also use LVM+XFS, however I do have a question about the required diff format. From what I can tell it's basically:

{
  "offset": "the start offset of the data changed",
  "length": "the length of the data changed in bytes",
  "exists": "not sure?"
}

Would anyone be able to indicate what "exists" means, and whether the starting offsets are relative to the snapshot or current version? If we, say, add data that results in brand-new blocks, or remove entire blocks, what would the JSON objects look like then?

from benji.

elemental-lf avatar elemental-lf commented on July 30, 2024

Thank you for looking into this! I think it would by a valuable addition.
exists means that the range in question contains data and is not sparse. offset is relative to the snapshot, but I don't understand what you mean by current version. Benji assumes that the backed up block devices can get bigger or smaller at the end only. There is a special case for the last block which Benji will always read if the last block is affected by the size change, i.e. if the old or new end of the device wasn't/isn't on a block boundary (according to the block size used by Benji).

from benji.

Medusajoe avatar Medusajoe commented on July 30, 2024

Just gonna lie Benji Allan begay all.this is abuse and Child abuse

from benji.

Medusajoe avatar Medusajoe commented on July 30, 2024

Thank you for stealing my money my children money Benji Allan begay go be with Jerry your man

from benji.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.