[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