From: Tomasz Chmielewski <mangoo@wpkg.org>
To: Btrfs BTRFS <linux-btrfs@vger.kernel.org>
Subject: how to replace a failed drive?
Date: Thu, 02 Sep 2021 00:07:11 +0200 [thread overview]
Message-ID: <b0bda3d5dba746c48bb264bea8ebc1cc@virtall.com> (raw)
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
Now, I wonder, how can I remove the disk which crashed?
# btrfs device delete /dev/sdb2 /data/lxd
ERROR: not a block device: /dev/sdb2
# btrfs device remove /dev/sdb2 /data/lxd
ERROR: not a block device: /dev/sdb2
# 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
And, a gem:
# btrfs device delete missing /data/lxd
ERROR: error removing device 'missing': no missing devices found to
remove
So according to "btrfs filesystem show /data/lxd" device is missing, but
according to "btrfs device delete missing /data/lxd" - no device is
missing. So confusing!
At this point, btrfs keeps producing massive amounts of logs -
gigabytes, like:
[39894585.659909] BTRFS error (device sda2): bdev /dev/sdb2 errs: wr
60298373, rd 393827, flush 1565805, corrupt 0, gen 0
[39894585.660096] BTRFS error (device sda2): bdev /dev/sdb2 errs: wr
60298374, rd 393827, flush 1565805, corrupt 0, gen 0
[39894585.660288] BTRFS error (device sda2): bdev /dev/sdb2 errs: wr
60298375, rd 393827, flush 1565805, corrupt 0, gen 0
[39894585.660478] BTRFS error (device sda2): bdev /dev/sdb2 errs: wr
60298376, rd 393827, flush 1565805, corrupt 0, gen 0
[39894585.660667] BTRFS error (device sda2): bdev /dev/sdb2 errs: wr
60298377, rd 393827, flush 1565805, corrupt 0, gen 0
[39894585.660861] BTRFS error (device sda2): bdev /dev/sdb2 errs: wr
60298378, rd 393827, flush 1565805, corrupt 0, gen 0
[39894585.661105] BTRFS error (device sda2): bdev /dev/sdb2 errs: wr
60298379, rd 393827, flush 1565805, corrupt 0, gen 0
[39894585.661298] BTRFS error (device sda2): bdev /dev/sdb2 errs: wr
60298380, rd 393827, flush 1565805, corrupt 0, gen 0
[39894585.747082] BTRFS warning (device sda2): lost page write due to IO
error on /dev/sdb2
[39894585.747214] BTRFS error (device sda2): error writing primary super
block to device 5
This is REALLY, REALLY very bad RAID experience.
How to recover at this point?
Tomasz Chmielewski
next reply other threads:[~2021-09-01 22:14 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-09-01 22:07 Tomasz Chmielewski [this message]
2021-09-02 0:15 ` how to replace a failed drive? Remi Gauvin
2021-09-02 6:03 ` Nikolay Borisov
2021-09-02 6:16 ` Nikolay Borisov
2021-09-02 7:45 ` Anand Jain
2021-09-02 8:00 ` Andrei Borzenkov
2021-09-02 8:04 ` Nikolay Borisov
2021-09-02 9:23 ` Tomasz Chmielewski
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=b0bda3d5dba746c48bb264bea8ebc1cc@virtall.com \
--to=mangoo@wpkg.org \
--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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.