Am Wed, 19 Nov 2014 16:58:16 +0100
schrieb Jakob Schürz <wertsto...@nurfuerspam.de>:

> Hi there!
> 
> I'm new on btrfs, and I like it :)

Me too :) . (I've been using it since May.)

> But i have a question. I have a existing backup on an external HDD. This 
> was ext4 before i converted it to btrfs.
> And i installed my debian new on btrfs with some subvolumes. (f.e. home, 
> var, multimedia/Video multimedia/Audio...)
> 
> On my backup there are no subvolumes.
> 
> Now i wrote a script to take local snapshots on my laptops HDD an mirror 
> this snapshots with btrfs send/receive to the external HDD.

Yeah, I also recently made the switch to btrfs send/receive, and I just love
being able to do incremental full system backups in less than two minutes (it's
also efficient enough that I backup my (borrowed) laptop over WLAN).

So from me a big thanks to the btrfs devs :) !

But to get to the questions:

> An i don't know, how to do, to make the inital snapshot on the external 
> HDD. I want to use the existing data there, so I don't have to transmit 
> the whole bunch of data to the external drive, which exists there 
> already...

Yeah, I had that problem, too, with my old rsync based backups; see below.

> What happens, if i make the same structure on the external drive with 
> creating subvolumes and »cp --reflink«, give this subvolumes the correct 
> names, and fire a »btrfs send«?

Do you mean cp --reflink from the original backup to the new structure? That
won't help.  Again, see below.

> Or is the best (ONLY???) way, to make an initial snapshot on the 
> external drive and delete the old backup there?

I couldn't think of any other way than doing an initial snapshot + send that
transferred the entire subvolumes, then doing incremental sends from there.

Here's my understanding as a complete non-expert:

The problem is that you need a parent snapshot, which needs to be on *both* the
source *and* target volumes, with which to be able to generate and then receive
the incremental send.  Currently, your source and target volumes are
independent, so btrfs can't infer anything about any differences between them;
that is, while the data may be related, the file systems themselves have
independent "histories", making it impossible to compare them via their data
structures.

This is why you need to make an initial send: to give both volumes a common
frame of reference, so to speak.

So I bit the bullet and went through with it, and am keeping the original
backups until enough snapshots have accumulated in the new backup location
(both of my backups are on the same file system in different subvolumes).

> greetings
> jakob

HTH
-- 
Marc Joliet
--
"People who think they know everything really annoy those of us who know we
don't" - Bjarne Stroustrup

Attachment: signature.asc
Description: PGP signature

Reply via email to