Re: Cannot 'mount -o degraded /dev/replacement' after a replace

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

 



On Sat, Feb 9, 2019 at 3:36 AM Jakob Schöttl <jschoett@xxxxxxxxx> wrote:
>
> Replace device 2 with device 3:
>
>    mount -o degraded /dev/loop1 /mnt
>    btrfs filesystem show   # to get devid of device 2
>    btrfs replace start -Br 2 /dev/loop3 /mnt
>    btrfs replace status /mnt   # check success
>    umount /mnt

The first command causes the creation of metadata and system chunk
using single profile, on loop1, and even after a replace, both devices
know that there is a single and required chunk on loop1. So subsequent
degraded mount fails because the volume was not fully redundant.

The missing step is between 'btrfs replaced start' completing, and
umount. There needed to be at least a 'btrfs fi us' to check if there
are any single chunks and to convert them with 'btrfs balance start
-dconvert=raid1,soft -mconvert=raid1,soft' where soft is only possible
if there were no data writes while degraded; if there were degraded
writes, a scrub is also necessary to make sure any single mirror raid1
chunk writes to the degraded device are replicated to the replacement.

Yep - kinda ugly. And not intuitive. But that's the present status.


-- 
Chris Murphy




[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