All of lore.kernel.org
 help / color / mirror / Atom feed
From: Qu Wenruo <quwenruo.btrfs@gmx.com>
To: Nemo <me@captnemo.in>, linux-btrfs@vger.kernel.org
Subject: Re: RAID1 device deletion feedback
Date: Mon, 25 Feb 2019 08:27:57 +0800	[thread overview]
Message-ID: <50bda293-891a-6c6f-8696-77037880fc12@gmx.com> (raw)
In-Reply-To: <d1eac64c-056b-a95b-7890-875d313a7ab4@captnemo.in>


[-- Attachment #1.1: Type: text/plain, Size: 3133 bytes --]



On 2019/2/25 上午1:32, Nemo wrote:
> Hi,
> 
> I had a RAID1 disk failure recently, and a limitation in number of SATA
> connectors meant I could not do a live replace.

Then you should go USB or other interfaces.
In your case, device deletion is not possible due to reasons explained
below.

> I'm still in the
> progress of resolving the issue, but posting some feedback here on the
> issues I faced and what could have helped.
> 
> **What all I did**
> 
> - remove the dying disk and mount in degraded mode. This didn't work,
> but _didn't provide me a failure reason_

It provides a failure reason, in dmesg.

> - swap the dead disk post boot with the new one. Tried a btrfs device
> add, but it failed as well because of too many failing reads from the
> dead disk (which wasn't even attached).
> - Started a btrfs device delete, which finally pointed me to the root
> cause:
> 
> `ERROR: error removing device '/dev/sdb1': No space left on device`
> 
> In short:
> 
> 1. My 2.7TBx3 setup was storing 2.9TB of data

If using RAID1, it takes 5.8T of your 7.1T total capacity.
Removing one missing device will cause ENOSPC failure, as 2 devices will
only be 5.4TB.

What you should do is replace, as during replace you only need one extra
chunk and your current device free space is completely fine for replacing.

> 2. Removing any one the disks was not possible without losing some data
> 
> However, getting to this error message took me hours of effort, despite
> having read the btrfs wiki.
> 
> **Feedback**
> 
> 1. The `btrfs device delete` command should have failed immediately
> instead of making me wait for ages.

Not that easy, as btrfs replace/delete/relocate all happens at chunk
level, we can only do educated guess to determine if it's possible,
especially all those operations are done online, user can do whatever
they want, initial estimation is not reliable.

Thanks,
Qu

> 2. A delete command should stop writes to a disk, unless avoidable. This
> would have left some data on the disk, and a subsequent delete could
> have cleaned it up much faster. It failed in the worst manner possible,
> because all deletion progress reversed once it failed: it balanced back
> to complete usage, causing more strain on a dying disk.
> 3. A degraded mount failure should provide some error message.
> 
> *Status*: I cleared up some disk space, and ran another delete which is
> still ongoing. I don't have physical access to the system for a few more
> days, so adding the new disk will take me some time.
> 
> ---
> 
> ## Debug Details
> 
> 
> ```
> uname -a
> Linux tatooine.captnemo.in 4.20.10-arch1-1-ARCH #1 SMP PREEMPT Fri Feb
> 15 17:49:06 UTC 2019 x86_64 GNU/Linux
> 
> btrfs --version
> btrfs-progs v4.20.1
> ```
> 
> A few more details are on a reddit post[0] I made to help debug the
> issue and a gist[1] has disk usage and filesystem details.
> 
> [0]:
> https://www.reddit.com/r/archlinux/comments/asrlam/btrfscleaner_at_100_cpu_usage_on_raid1_setup/egwc047/
> [1]: https://paste.ubuntu.com/p/GDNKNBqqFy/
> 


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

  reply	other threads:[~2019-02-25  0:28 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-02-24 17:32 RAID1 device deletion feedback Nemo
2019-02-25  0:27 ` Qu Wenruo [this message]
2019-02-25 13:03 ` Austin S. Hemmelgarn

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=50bda293-891a-6c6f-8696-77037880fc12@gmx.com \
    --to=quwenruo.btrfs@gmx.com \
    --cc=linux-btrfs@vger.kernel.org \
    --cc=me@captnemo.in \
    /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.