Thread (28 messages) 28 messages, 6 authors, 2017-10-10

Re: mdadm: Patch to restrict --size when shrinking unless forced

From: Wakko Warner <hidden>
Date: 2017-10-10 20:55:57

NeilBrown wrote:
On Mon, Oct 09 2017, Wakko Warner wrote:
quoted
Phil Turmel wrote:
quoted
A certain amount of the trouble with all of this is the english meaning
of "grow" doesn't really match what mdadm allows.

Might it be reasonable to reject "--grow" operations that reduce the
final array size, and introduce the complementary "--reduce" operation
that rejects array size increases?

Both operations would share the current code, just apply a different
sanity check before proceeding.

mdadm would then at least not violate the rule of least surprise.
As a general user of md raid and as a reader of the list, I would agree that
this would be a better solution.  Thinking in terms of lvm, there's lvreduce
and lvextend.  IMO, --force wouldn't be needed for --reduce (I was orginally
thinking of --shrink)

On a side note, is it possible for the lower layers to know what the last
used sector is?  IE lvm ontop of raid and has 10% allocated and the last
sector is around the 10% mark.  (If this were possible --force would be,
required if shrinking would result in inaccessible data)
No it isn't.  I've occasionally thought of adding functionality so that
the a device could ask its client (e.g. filesystem, lvm, etc) if
shrinking is OK - but it hasn't happened yet.
That's what I thought but wasn't sure.  Thanks.
quoted
I recently did a shrink of 4x 2tb drives so that I could replace the 2tb
drives with 80gb drives (yes, big shrink!)  Would have been nice for mdadm
to know the smallest size was that wouldn't destroy my lvm volumes that were
on top.
Guess, try, see if data is still accessible.  If not, revert the change.
If you have a filesystem on the raid, fsck will complain if you made it
too small.  I don't know what you would try with lvm.  pvscan?
Fortunately for me, my first try worked.

-- 
 Microsoft has beaten Volkswagen's world record.  Volkswagen only created 22
 million bugs.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help