[prev in list] [next in list] [prev in thread] [next in thread]
List: linux-btrfs
Subject: Re: how to replace a failed drive?
From: Tomasz Chmielewski <mangoo () wpkg ! org>
Date: 2021-09-02 9:23:55
Message-ID: 15ee35137c360d54f0ee1f80579a7614 () wpkg ! org
[Download RAW message or body]
On 2021-09-02 10:00, Andrei Borzenkov wrote:
> On 02.09.2021 10:45, Anand Jain wrote:
>> On 02/09/2021 06:07, Tomasz Chmielewski wrote:
>>> I'm trying to follow
>>> https://btrfs.wiki.kernel.org/index.php/Using_Btrfs_with_Multiple_Devices#Replacing_failed_devices
>>> to replace a failed drive. But it seems to be written by a person who
>>> never attempted to replace a failed drive in btrfs filesystem, and
>>> who
>>> never used mdadm RAID (to see how good RAID experience should look
>>> like).
>>>
>>> What I have:
>>>
>>> - RAID-10 over 4 devices (/dev/sd[a-d]2)
>>> - 1 disk (/dev/sdb2) crashed and was no longer seen by the operating
>>> system
>>> - it was replaced using hot-swapping - new drive registered itself as
>>> /dev/sde
>>> - I've partitioned /dev/sde, so that /dev/sde2 matches the size of
>>> other btrfs devices
>>> - because I couldn't remove the faulty device (it wouldn't go below
>>> my
>>> current number of devices) I've added the new device to btrfs
>>> filesystem:
>>>
>>
>>
>>> btrfs device add /dev/sde2 /data/lxd
>>
>> Wiki is correct.
>>
>> $ btrfs replace start 7 /dev/sdf1 /mnt
>>
>
> Where exactly user is supposed to find out the correct number of
> missing
> device? Because
> ...
>
>>>
>>> # btrfs filesystem show /data/lxd
>>> Label: 'lxd5' uuid: 2b77b498-a644-430b-9dd9-2ad3d381448a
>>> Total devices 5 FS bytes used 2.84TiB
>>> devid 1 size 1.73TiB used 1.60TiB path /dev/sda2
>>> devid 3 size 1.73TiB used 1.60TiB path /dev/sdd2
>>> devid 4 size 1.73TiB used 1.60TiB path /dev/sdc2
>>> devid 6 size 1.73TiB used 0.00B path /dev/sde2
>>> *** Some devices missing
>>>
>
> It only shows existing devices. "Some devices missing" is not exactly
> helping. More useful would be "devid 7 missing".
Exactly this!
Fine documentation says:
Now replace the absent device with the new drive /dev/sdf1 on the
filesystem currently mounted on /mnt (since the device is absent, you
can
use any devid number that isn't present; 2,5,7,9 would all work the
same):
sudo btrfs replace start 7 /dev/sdf1 /mnt
I saw devid 1, 3, 4 and 6 in my "btrfs filesystem show ..." output.
Pairing that with "you can use any devid number that isn't present" from
documentation, I've used "2", as it was a devid number which wasn't
present.
So this failed with an error.
btrfs replace start 2 /dev/sde2 /data/lxd
This did work:
btrfs replace start 5 /dev/sde2 /data/lxd
Highly confusing, and again, not what documentation says.
Tomasz Chmielewski
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic