How to make MDADM not consume so much I/O bandwidth during a reshape?
Linux - ServerThis forum is for the discussion of Linux Software used in a server related context.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
How to make MDADM not consume so much I/O bandwidth during a reshape?
My Plex server is running Debian 10 and I'm using mdadm for RAID 6. I recently added 2 more drives to the array and during the reshape, when I was watching a movie via my Plex client, streaming would frequently pause. Some times Plex would just stop playing back and give me an error. Under normal circumstances, my RAID array can sustain 500MB/s read/write. When I add a drive or 2 and mdadm is doing a reshape, that speed drops like a rock, which is understandable.
But, is there a command(s) I can issue to mdadm while it's adding drives to say..."hey, if something needs to read data from the array....slow down on the reshape"?
"Raid 6 is the only raid level where mdadm may complain that it cannot carry out a conversion directly between levels 4, 5 and 6. This is down to the way the parity blocks are scattered amongst the devices. The reshape is almost certainly possible, but it may require doing it in a couple of stages rather than directly."
Next time I do a re-shape, I'll give that try, thanks!
Quote:
Originally Posted by jefro
"Raid 6 is the only raid level where mdadm may complain that it cannot carry out a conversion directly between levels 4, 5 and 6. This is down to the way the parity blocks are scattered amongst the devices. The reshape is almost certainly possible, but it may require doing it in a couple of stages rather than directly."
Basically saying it takes a lot of movements and that those require overheard to perform.
Thanks for the link! If berndbausch's tip doesn't help, guess I'll just let my Plex streamers know that the server might be slow for a couple of days the next time I expand the array.
I was wondering if you were subject to a yo-yo effect. The reshape is trundling along then Plex reads a bunch of content into memory. mdadm sees that and throttles itself - then while Plex is serving that content, mdadm sees no (disk) I/O so ramps back up. Then Plex wants more content ...
I'd simply run mdadm at the min (set max equal to the current min) while people are glued to their devices, then when they all go to bed set min and max to current max. Couple of simple timers or cron. Only needed when you need to reshape.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.