* overlay file to test btrfs repairs
@ 2016-03-21 3:43 Chris Murphy
2016-03-21 9:55 ` Duncan
2016-03-22 20:42 ` Henk Slager
0 siblings, 2 replies; 9+ messages in thread
From: Chris Murphy @ 2016-03-21 3:43 UTC (permalink / raw)
To: Btrfs BTRFS
Hi folks,
So I just ran into this:
https://raid.wiki.kernel.org/index.php/Recovering_a_failed_software_RAID#Making_the_harddisks_read-only_using_an_overlay_file
This is a device mapper overlay file - not overlayfs.
For the repairs that are sometimes uncertain what's next, maybe this
is a viable option to avoid changing the file system? I'm thinking
chunk-recover might take up too much space, I'm not sure how that one
works, if chunks are just being read or if they have to be rewritten
or if it's just the chunk tree? But for 'btrfs check' and 'btrfs
rescue super-recover/zero-log' there should be very little being
written so the overlay idea might be a good step?
Opinions?
--
Chris Murphy
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: overlay file to test btrfs repairs
2016-03-21 3:43 overlay file to test btrfs repairs Chris Murphy
@ 2016-03-21 9:55 ` Duncan
2016-03-21 11:22 ` Austin S. Hemmelgarn
2016-03-22 20:42 ` Henk Slager
1 sibling, 1 reply; 9+ messages in thread
From: Duncan @ 2016-03-21 9:55 UTC (permalink / raw)
To: linux-btrfs
Chris Murphy posted on Sun, 20 Mar 2016 21:43:52 -0600 as excerpted:
> Hi folks,
>
> So I just ran into this:
> https://raid.wiki.kernel.org/index.php/
Recovering_a_failed_software_RAID#Making_the_harddisks_read-
only_using_an_overlay_file
[That's a single link, wrapped by my client.]
> This is a device mapper overlay file - not overlayfs.
>
> For the repairs that are sometimes uncertain what's next, maybe this is
> a viable option to avoid changing the file system? I'm thinking
> chunk-recover might take up too much space, I'm not sure how that one
> works, if chunks are just being read or if they have to be rewritten or
> if it's just the chunk tree? But for 'btrfs check' and 'btrfs rescue
> super-recover/zero-log' there should be very little being written so the
> overlay idea might be a good step?
>
> Opinions?
That's a creative and potentially quite useful possible solution to an
often hairy problem. Thanks for bringing it up. =:^)
Provided Hugo and the devs don't find major fault with the idea, linking
that from appropriate locations (as a possible solution in the Problem
FAQ is the first one that occurs to me) in the btrfs wiki could be quite
useful, to many.
--
Duncan - List replies preferred. No HTML msgs.
"Every nonfree program has a lord, a master --
and if you use the program, he is your master." Richard Stallman
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: overlay file to test btrfs repairs
2016-03-21 9:55 ` Duncan
@ 2016-03-21 11:22 ` Austin S. Hemmelgarn
2016-03-21 17:13 ` Chris Murphy
2016-03-23 19:45 ` Goffredo Baroncelli
0 siblings, 2 replies; 9+ messages in thread
From: Austin S. Hemmelgarn @ 2016-03-21 11:22 UTC (permalink / raw)
To: linux-btrfs
On 2016-03-21 05:55, Duncan wrote:
> Chris Murphy posted on Sun, 20 Mar 2016 21:43:52 -0600 as excerpted:
>
>> Hi folks,
>>
>> So I just ran into this:
>> https://raid.wiki.kernel.org/index.php/
> Recovering_a_failed_software_RAID#Making_the_harddisks_read-
> only_using_an_overlay_file
>
> [That's a single link, wrapped by my client.]
>
>> This is a device mapper overlay file - not overlayfs.
>>
>> For the repairs that are sometimes uncertain what's next, maybe this is
>> a viable option to avoid changing the file system? I'm thinking
>> chunk-recover might take up too much space, I'm not sure how that one
>> works, if chunks are just being read or if they have to be rewritten or
>> if it's just the chunk tree? But for 'btrfs check' and 'btrfs rescue
>> super-recover/zero-log' there should be very little being written so the
>> overlay idea might be a good step?
>>
>> Opinions?
>
> That's a creative and potentially quite useful possible solution to an
> often hairy problem. Thanks for bringing it up. =:^)
>
> Provided Hugo and the devs don't find major fault with the idea, linking
> that from appropriate locations (as a possible solution in the Problem
> FAQ is the first one that occurs to me) in the btrfs wiki could be quite
> useful, to many.
>
If we could find some way to have the programs themselves do this if the
system supports it (and the user opts in of course), it would be really
helpful. That said, I can see this possibly causing issues due to
duplicate device UUID's.
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: overlay file to test btrfs repairs
2016-03-21 11:22 ` Austin S. Hemmelgarn
@ 2016-03-21 17:13 ` Chris Murphy
2016-03-22 14:21 ` Austin S. Hemmelgarn
2016-03-23 19:45 ` Goffredo Baroncelli
1 sibling, 1 reply; 9+ messages in thread
From: Chris Murphy @ 2016-03-21 17:13 UTC (permalink / raw)
To: Austin S. Hemmelgarn; +Cc: Btrfs BTRFS
On Mon, Mar 21, 2016 at 5:22 AM, Austin S. Hemmelgarn
<ahferroin7@gmail.com> wrote:
> On 2016-03-21 05:55, Duncan wrote:
>>
>> Chris Murphy posted on Sun, 20 Mar 2016 21:43:52 -0600 as excerpted:
>>
>>> Hi folks,
>>>
>>> So I just ran into this:
>>> https://raid.wiki.kernel.org/index.php/
>>
>> Recovering_a_failed_software_RAID#Making_the_harddisks_read-
>> only_using_an_overlay_file
>>
>> [That's a single link, wrapped by my client.]
>>
>>> This is a device mapper overlay file - not overlayfs.
>>>
>>> For the repairs that are sometimes uncertain what's next, maybe this is
>>> a viable option to avoid changing the file system? I'm thinking
>>> chunk-recover might take up too much space, I'm not sure how that one
>>> works, if chunks are just being read or if they have to be rewritten or
>>> if it's just the chunk tree? But for 'btrfs check' and 'btrfs rescue
>>> super-recover/zero-log' there should be very little being written so the
>>> overlay idea might be a good step?
>>>
>>> Opinions?
>>
>>
>> That's a creative and potentially quite useful possible solution to an
>> often hairy problem. Thanks for bringing it up. =:^)
>>
>> Provided Hugo and the devs don't find major fault with the idea, linking
>> that from appropriate locations (as a possible solution in the Problem
>> FAQ is the first one that occurs to me) in the btrfs wiki could be quite
>> useful, to many.
>>
> If we could find some way to have the programs themselves do this if the
> system supports it (and the user opts in of course), it would be really
> helpful. That said, I can see this possibly causing issues due to duplicate
> device UUID's.
I thought of this. Btrfs seed device. The problem is it has some
minimal requirements (that I don't understand) for file system
integrity, probably starting out with the superblocks all being in a
good state. So literal leveraging of seed device is not possible, and
it's also non-obvious. Any repairs should be fail safe or they're
arguably broken. But if there were a way to effectively setup a seed +
ram or file based device behind the scene so that repairs can be
tested, that might be useful. And it would be mountable, even rw, and
that too would be reversible.
--
Chris Murphy
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: overlay file to test btrfs repairs
2016-03-21 17:13 ` Chris Murphy
@ 2016-03-22 14:21 ` Austin S. Hemmelgarn
2016-03-22 17:34 ` Duncan
0 siblings, 1 reply; 9+ messages in thread
From: Austin S. Hemmelgarn @ 2016-03-22 14:21 UTC (permalink / raw)
To: Chris Murphy; +Cc: Btrfs BTRFS
On 2016-03-21 13:13, Chris Murphy wrote:
> On Mon, Mar 21, 2016 at 5:22 AM, Austin S. Hemmelgarn
> <ahferroin7@gmail.com> wrote:
>> On 2016-03-21 05:55, Duncan wrote:
>>>
>>> Chris Murphy posted on Sun, 20 Mar 2016 21:43:52 -0600 as excerpted:
>>>
>>>> Hi folks,
>>>>
>>>> So I just ran into this:
>>>> https://raid.wiki.kernel.org/index.php/
>>>
>>> Recovering_a_failed_software_RAID#Making_the_harddisks_read-
>>> only_using_an_overlay_file
>>>
>>> [That's a single link, wrapped by my client.]
>>>
>>>> This is a device mapper overlay file - not overlayfs.
>>>>
>>>> For the repairs that are sometimes uncertain what's next, maybe this is
>>>> a viable option to avoid changing the file system? I'm thinking
>>>> chunk-recover might take up too much space, I'm not sure how that one
>>>> works, if chunks are just being read or if they have to be rewritten or
>>>> if it's just the chunk tree? But for 'btrfs check' and 'btrfs rescue
>>>> super-recover/zero-log' there should be very little being written so the
>>>> overlay idea might be a good step?
>>>>
>>>> Opinions?
>>>
>>>
>>> That's a creative and potentially quite useful possible solution to an
>>> often hairy problem. Thanks for bringing it up. =:^)
>>>
>>> Provided Hugo and the devs don't find major fault with the idea, linking
>>> that from appropriate locations (as a possible solution in the Problem
>>> FAQ is the first one that occurs to me) in the btrfs wiki could be quite
>>> useful, to many.
>>>
>> If we could find some way to have the programs themselves do this if the
>> system supports it (and the user opts in of course), it would be really
>> helpful. That said, I can see this possibly causing issues due to duplicate
>> device UUID's.
>
> I thought of this. Btrfs seed device. The problem is it has some
> minimal requirements (that I don't understand) for file system
> integrity, probably starting out with the superblocks all being in a
> good state. So literal leveraging of seed device is not possible, and
> it's also non-obvious. Any repairs should be fail safe or they're
> arguably broken. But if there were a way to effectively setup a seed +
> ram or file based device behind the scene so that repairs can be
> tested, that might be useful. And it would be mountable, even rw, and
> that too would be reversible.
>
OTOH, if we could add some way to tell the code (both userspace and
in-kernel) to explicitly ignore specific devices when trying to assemble
filesystems, that would allow us to use DM snapshots (or something
similar) to do this, and would also allow people to work around the UUID
issues when dealing with LVM snapshots (or similar situations).
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: overlay file to test btrfs repairs
2016-03-22 14:21 ` Austin S. Hemmelgarn
@ 2016-03-22 17:34 ` Duncan
0 siblings, 0 replies; 9+ messages in thread
From: Duncan @ 2016-03-22 17:34 UTC (permalink / raw)
To: linux-btrfs
Austin S. Hemmelgarn posted on Tue, 22 Mar 2016 10:21:57 -0400 as
excerpted:
> OTOH, if we could add some way to tell the code (both userspace and
> in-kernel) to explicitly ignore specific devices when trying to assemble
> filesystems, that would allow us to use DM snapshots (or something
> similar) to do this, and would also allow people to work around the UUID
> issues when dealing with LVM snapshots (or similar situations).
That's a good idea, but minor detail, it'd need to resolve to specific
block-device major:minor comparison; it couldn't be a simple device-path
blacklist, because device paths are routinely symlinked.
I guess that's obvious from a kernel dev perspective, but perhaps not so
much from an admin-user perspective, where the device-path /is/ often
considered the device.
--
Duncan - List replies preferred. No HTML msgs.
"Every nonfree program has a lord, a master --
and if you use the program, he is your master." Richard Stallman
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: overlay file to test btrfs repairs
2016-03-21 3:43 overlay file to test btrfs repairs Chris Murphy
2016-03-21 9:55 ` Duncan
@ 2016-03-22 20:42 ` Henk Slager
2016-03-23 11:17 ` Austin S. Hemmelgarn
1 sibling, 1 reply; 9+ messages in thread
From: Henk Slager @ 2016-03-22 20:42 UTC (permalink / raw)
To: Chris Murphy; +Cc: Btrfs BTRFS
On Mon, Mar 21, 2016 at 4:43 AM, Chris Murphy <lists@colorremedies.com> wrote:
> Hi folks,
>
> So I just ran into this:
> https://raid.wiki.kernel.org/index.php/Recovering_a_failed_software_RAID#Making_the_harddisks_read-only_using_an_overlay_file
>
> This is a device mapper overlay file - not overlayfs.
>
> For the repairs that are sometimes uncertain what's next, maybe this
> is a viable option to avoid changing the file system? I'm thinking
> chunk-recover might take up too much space, I'm not sure how that one
> works, if chunks are just being read or if they have to be rewritten
> or if it's just the chunk tree? But for 'btrfs check' and 'btrfs
> rescue super-recover/zero-log' there should be very little being
> written so the overlay idea might be a good step?
I used the info via this message:
http://permalink.gmane.org/gmane.comp.file-systems.btrfs/54178
to try to fix a 4x4TB disks RAID10 (some bad metadata, some nbytes 400 errors).
I used AoE (instead of NBD) to avoid that btrfs+kernel might get
confused by double UUID's.
I created 4x 10G sparse files for each bcached HDD. After the --repair
action had ended (apparently successful), du reported only 50M size on
disk for each of the sparse files. The fix operation lasted about 1.5
hours. After a mount and umount again of the 'just repaired fs', a
subsequent btrfs check still reported the same errors, although
reported in another sequence.
So the nbytes 400 errors actually did not get fixed ( while there were
also other errors; This in accordance to what Qu once noted, but at
that time older tools/kernel).
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: overlay file to test btrfs repairs
2016-03-22 20:42 ` Henk Slager
@ 2016-03-23 11:17 ` Austin S. Hemmelgarn
0 siblings, 0 replies; 9+ messages in thread
From: Austin S. Hemmelgarn @ 2016-03-23 11:17 UTC (permalink / raw)
To: Henk Slager, Chris Murphy; +Cc: Btrfs BTRFS
On 2016-03-22 16:42, Henk Slager wrote:
> On Mon, Mar 21, 2016 at 4:43 AM, Chris Murphy <lists@colorremedies.com> wrote:
>> Hi folks,
>>
>> So I just ran into this:
>> https://raid.wiki.kernel.org/index.php/Recovering_a_failed_software_RAID#Making_the_harddisks_read-only_using_an_overlay_file
>>
>> This is a device mapper overlay file - not overlayfs.
>>
>> For the repairs that are sometimes uncertain what's next, maybe this
>> is a viable option to avoid changing the file system? I'm thinking
>> chunk-recover might take up too much space, I'm not sure how that one
>> works, if chunks are just being read or if they have to be rewritten
>> or if it's just the chunk tree? But for 'btrfs check' and 'btrfs
>> rescue super-recover/zero-log' there should be very little being
>> written so the overlay idea might be a good step?
>
> I used the info via this message:
> http://permalink.gmane.org/gmane.comp.file-systems.btrfs/54178
>
> to try to fix a 4x4TB disks RAID10 (some bad metadata, some nbytes 400 errors).
> I used AoE (instead of NBD) to avoid that btrfs+kernel might get
> confused by double UUID's.
>
> I created 4x 10G sparse files for each bcached HDD. After the --repair
> action had ended (apparently successful), du reported only 50M size on
> disk for each of the sparse files. The fix operation lasted about 1.5
> hours. After a mount and umount again of the 'just repaired fs', a
> subsequent btrfs check still reported the same errors, although
> reported in another sequence.
> So the nbytes 400 errors actually did not get fixed ( while there were
> also other errors; This in accordance to what Qu once noted, but at
> that time older tools/kernel).
I actually do similar when I need to fix something other than my root
filesystem on my home server system. I run Xen though, so instead of
using AoE, I just unmount the filesystem, set up the snapshots, and then
attach them to the VM I use to build updates for the other VM's directly
via Xen's virtual block device protocol, and work with them from there.
Obviously not practical for most people, but it works well for my setup.
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: overlay file to test btrfs repairs
2016-03-21 11:22 ` Austin S. Hemmelgarn
2016-03-21 17:13 ` Chris Murphy
@ 2016-03-23 19:45 ` Goffredo Baroncelli
1 sibling, 0 replies; 9+ messages in thread
From: Goffredo Baroncelli @ 2016-03-23 19:45 UTC (permalink / raw)
To: linux-btrfs; +Cc: Austin S. Hemmelgarn
On 2016-03-21 12:22, Austin S. Hemmelgarn wrote:
[...]
> If we could find some way to have the programs themselves do this if
> the system supports it (and the user opts in of course), it would be
> really helpful. That said, I can see this possibly causing issues
> due to duplicate device UUID's.
In the past I proposed (and implemented a prototype) of a mount.btrfs
helper [1]. The idea behind it was to collect all the action of
preparing a filesystem in only one place:
- collecting info about all the devices involved/needed
- taking the decision if a degraded filesystem has to be mounted
as degraded or an error has to be raised or continuing to wait for a new
device
- raising an error in case of conflicting uuid
Also it would be more simple to implement a logic to use an
"overlay device(s)": it could be done as option ! :-)
Now to implement these point we have to change several place (kernel, udev rules, btrfs scan utility) to got it... Not to mention that between the
first device discovery and the filesystem mount, there would be several
seconds due to boot process.
BR
G.Baroncelli
[1]http://marc.info/?l=linux-btrfs&m=141736989508243&w=2
--
gpg @keyserver.linux.it: Goffredo Baroncelli <kreijackATinwind.it>
Key fingerprint BBF5 1610 0B64 DAC6 5F7D 17B2 0EDA 9B37 8B82 E0B5
^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2016-03-23 19:45 UTC | newest]
Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-03-21 3:43 overlay file to test btrfs repairs Chris Murphy
2016-03-21 9:55 ` Duncan
2016-03-21 11:22 ` Austin S. Hemmelgarn
2016-03-21 17:13 ` Chris Murphy
2016-03-22 14:21 ` Austin S. Hemmelgarn
2016-03-22 17:34 ` Duncan
2016-03-23 19:45 ` Goffredo Baroncelli
2016-03-22 20:42 ` Henk Slager
2016-03-23 11:17 ` Austin S. Hemmelgarn
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.