A while back I was talking about using LVM, on the whole it seemed like a productive discussion. Anyway, I started a project about a year ago, but shelved it. I recently dusted it off and cleaned it up a bit.

What it does is read one or more files, split them up into chunks, compress them, optionally encrypt them, and save them to disk. Its sort of a two stage compression system. The chunks are identified, compressed, encrypted and only unique chunks are stored. The file structure is saved separately from the data. Multiple files can use the same data repository. (Its best if the files share some common base.)

The reason why I cleaned it off was LVM. As you know, backing up a large volume can take a while. compressors can only compress so fast, duplicate data is a waste of space (especially now that disks are getting expensive.)

I added a mode where you can take successive snapshots of an LVM volume and only backup the changes between the two snapshots. So, after the initial backup you can then backup the changes in minutes.

example:
PREVTIME=13234915
CURRTIME=$(now)
lvrename /dev/lvm/mysnap /dev/lvm/mysnap.old
lvcreate -s -c 64 -L1G -nmysnap /dev/lvm/myvol
bcebackup -C /dev/mapper/lvm-mysnap-old.cow -P $PREVTIME -t $CURTIME /dev/lvm/mysnap
lvremove /dev/lvm/mysnap.old

The time stamps are standard unix time numbers and have to be managed by you, but you get the idea.

If you use LVM in your shop and could use a utility like this, I'd like to get some independent feedback. Also, if you use zfs or btrfs and would like to be able to do this with their snapshot system, I'm sure it can be adapted.

Any guinea pigs out there? Any suggestions? criticisms?

_______________________________________________
Discuss mailing list
Discuss@blu.org
http://lists.blu.org/mailman/listinfo/discuss

Reply via email to