linux-btrfs.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Jan Kouba <kouba.honza@gmail.com>
To: linux-btrfs@vger.kernel.org
Subject: Re: Copying a disk containing a btrfs filesystem
Date: Thu, 10 Apr 2014 19:17:13 +0200	[thread overview]
Message-ID: <1632469.6TRA6yZMTn@honzk> (raw)
In-Reply-To: <4783411.VVGoQz5kVU@fuchsia>

Dne Čt 10. dubna 2014 15:21:01, Michael Schuerig napsal(a):
> SMART indicates that my notebook disk may soon be failing (an
> unreadable/uncorrectable sector), therefore I intend to exchange it. The
> disk contains a single btrfs filesystem with several nested(!)
> subvolumes, each with several read-only snapshots in a .snapshots
> subdirectory.
> 
> As far as I can tell, btrfs currently does not offer a sensible way to
> duplicate the entire contents of the old disk onto a new one. 

Yes it does

You can make the old disk a seeding device and use it to seed the new one like 
this:


btrfstune -S 1 <old_device>

mount <old_device> /mnt
# this will be mounted read-only

btrfs dev add <new_device> /mnt

mount -o remount,rw /mnt

btrfs dev delete <old_device>

According to my experiments, the filesystem on the new device will have 
different UUID, so if you are mounting using UUIDs, you must change it 
everywhere, but other than that the new filesystem should have the same content 
as the old one (including subvolumes).


> I can use
> cp, rsync, or send/receive to copy the "main" subvolumes. But unless I'm
> missing something obvious, the snapshots are effectively lost. btrfs
> send optionally takes multiple clone sources, but I've never seen an
> example of its usage.
> 
> If that's what "experimental" means, I'm willing to accept it. However,
> I'd like to emphasize that there's still something missing. Of course,
> most of all I'd like to be proved wrong.
> 
> Michael


  parent reply	other threads:[~2014-04-10 17:17 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-04-10 13:21 Copying a disk containing a btrfs filesystem Michael Schuerig
2014-04-10 13:58 ` Duncan
2014-04-10 14:53   ` Michael Schuerig
2014-04-10 14:00 ` George Eleftheriou
2014-04-10 15:15   ` Duncan
2014-04-10 15:51     ` Michael Schuerig
2014-04-10 16:01       ` George Eleftheriou
2014-04-10 16:24         ` Michael Schuerig
2014-04-11  0:35           ` Duncan
2014-04-10 18:15       ` Martin Steigerwald
2014-04-10 17:17 ` Jan Kouba [this message]
2014-04-10 18:36   ` Michael Schuerig
2014-04-10 22:25     ` Jan Kouba
2014-04-11 10:39 ` Brendan Hide
2014-04-16 11:12   ` Michael Schuerig

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1632469.6TRA6yZMTn@honzk \
    --to=kouba.honza@gmail.com \
    --cc=linux-btrfs@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).