Re: Copying a disk containing a btrfs filesystem

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Dne Čt 10. dubna 2014 20:36:32, Michael Schuerig napsal(a):
> On Thursday 10 April 2014 19:17:13 Jan Kouba wrote:
> > 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:
> Intriguing. I didn't find much on the topic, but these pages seem
> pertinent
> 
> http://en.wikipedia.org/wiki/Btrfs#Seed_devices
> https://btrfs.wiki.kernel.org/index.php/Seed-device
> http://unix.stackexchange.com/a/97819/64935
> 
> > btrfstune -S 1 <old_device>
> 
> Does the "1" mean "true" or is this indeed an integer-value arg? I've
> only seen the "1" in examples, are there other possible values?
Yes, "1" means "true", "0" false. If you run it twice with the same argument, 
it says something like "Seeding flag already set/unset.".
> 
> > 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>
> 
> Is the last one the step where data is copied from the seed device to
> the second device? No balance required before deleting the device?
Yes, everything is copied, no balance needed.


Well actually if you don't need to preserve the filesystem on the old device, 
you can just add the new device into the filesystem and remove the old one like 
this:

mount <old_device> /mnt
btrfs dev add <new_device> /mnt
btrfs dev delete <old_device> /mnt

The last command will copy everything from <old_device> to the <new_device> 
and somehow wipe the <old_device> so it can't be mounted anymore.
 
This method will also preserve the UUID of the filesystem so there is no need 
to change any config files.


Jan Kouba
--
To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux Filesystem Development]     [Linux NFS]     [Linux NILFS]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux