<div dir="ltr"><div>Hi,</div><div><br></div><div>I created a RAID1 array of two physical HDD's with chunk size of 64KiB under Debian "wheezy" using mdadm. As a next step, I would like to create an ext3(or ext4) file-system to this RAID1 array using mke2fs utility. According to RAID-related tutorials, I should create the file-system like this:</div>
<div><br></div><div># mkfs.ext3 -v -L myarray -m 0.5 -b 4096 -E stride=16,stripe-width=32 /dev/md0<br></div><div><br></div><div style><br></div><div style>Questions:</div><div><br></div><div>1) According to manual of mke2fs, value of the "stride" has to be the RAID chunk size in clusters. As I use chunk size of 64KiB, then I have to use "stride" value of 16(16*4096=65536). Why is it important for file-system to know the size of chunk used in RAID array? I know it improves the I/O performance, but why is this so?</div>
<div><br></div><div>2) If the "stride" size in my case is 16, then the "stripe_width=" is 32 because there are two drives in the array which contain the actual data. Manual page of the mke2fs explain this option as "This allows the block allocator to prevent read-modify-write of the parity in a RAID stripe if possible when the data is written.". How to understand this? What is this "read-modify-write" behavior? Could somebody explain this with an example?</div>
<div><br></div><div><br></div><div>regards,</div><div>Martin</div></div>