Thread (4 messages) 4 messages, 2 authors, 2015-12-23

Re: dynamically resizing bcache devices

From: Denis Bychkov <hidden>
Date: 2015-12-23 13:15:55

On Tue, Dec 22, 2015 at 7:33 PM, Jens-U. Mozdzen [off-list ref] wrote:
Hi Denis,

Zitat von Denis Bychkov [off-list ref]:
quoted
Why is it so important to grow the backing device online, without even
re-registering it? It should it be enough to unmount whatever FS is on
top of it, unregister the device and register it again to "resize" it.
(Or reboot the system for that matter). Is there really a pressuring
need to do it on the fly?

from a professional standpoint, rebooting a SAN server just to have some
subsystem recognize the increase in available space is a huge step
backwards. As a matter of fact, in the chain of hardware - MDRAID - bcache -
LVM - FS - NFS / SMB / SCST, bcache is the only component that requires to
take the service offline (by umount / reboot). Yes, there is such a need.
Well, yeah, it's a philosophical question, I guess, I can always point
at Google's millions
arrays. In such a system it's not even easy to tell if a particular
array physically exists,
let alone guarantees to be up 24x7 and can go down any time without
notice or confirmation.
So, there could be different professional standpoints, depending on
your system architecture.
I can understand (although, not agree), how it may be important to
upgrade the system capacity
on the fly. Let me look at the code and maybe it's very easy to come
up with a patch for your needs.
quoted
On Tue, Dec 22, 2015 at 6:40 AM, Jens-U. Mozdzen [off-list ref] wrote:
quoted
Hi,

an earlier, similar question went by unanswered, so let me give it
another
try:

I have set up a bcache device on top of DMRAID devices for cache and
backing
device.

While I can dynamically resize both RAIDs, the bcache device will not
catch
up with the changes "live". This conforms to what Kent wrote in 2012
(http://comments.gmane.org/gmane.linux.kernel.bcache.devel/249):
--- cut here ---
For the backing device, I think things will just work - you'll just
have to close and reopen the backing device in order for bcache to
notice the new size. Bcache's superblock doesn't remember the size, it
just goes off of what the size of the backing device is when it's
registered.

There's currently no way to make bcache notice the backing device has
grown to do it at runtime, though that ought to be fairly simple too.
--- cut here ---
If this currently is still not implemented, has anyone started to work on
some "resizebcache" tool, if only handling the backing device?

Regards,
Jens


-- 

Denis
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help