Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

I have an existing raid5 device which I created using mdadm on Linux.

When I created the device I set the chunk size to 64 but I would like to test the performance of various sizes but I don't want to have to rebuild my entire system to do so.

If it is not possible to do it live then is it possible to do this by booting with a rescue disk?

Any advice on the steps how to do this, either live or with a rescue disk, will be greatly appreciated.

share|improve this question
add comment

1 Answer

A 'chunk' is the part of a stripe that is written to a single disk. Your current setup is written onto the disk like something along the lines of this (assuming a three disk RAID5):

| data   | data   | parity |
| parity | data   | data   |
| data   | parity | data   |

In your case, each 'data' or 'parity' part (i.e. 'chunk') is 64KiB, which gives you a stripe width of 192KiB, which is fairly normal.

At this point, I don't think you can switch the chunk size.

What you can do though, is find out what the optimal chunk size for your system would be, without having to test all possible options. If you monitor your system with sar for a while, you should be able to find something called the 'average request size'. This number (sar displays it in in 512 byte sectors, iirc) is what the optimal size for the combined 'data' parts of a stripe is.

So, as an example, if your average request size is 64KiB (which is 128 sectors of 512 bytes) you will want to make the combined size of the 'data' parts of your stripe 64KiB. In case of a three disk RAID5 set, a chunk size of 32kiB would then be best.

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.