So VMFS5 uses a 1MB block size, and an 8k sub-block. On most SANs the default stripe height is 64k. One might be inclined to set the SAN stripe size to 8k as well to match the VMFS sub-block, and have 1 IOPS per sub-block read, but that would generate quite a bit more IOPS for reads/writes which are larger than 8k. Likewise one may be inclined to set the stripe size to 4k, for yet more IOPS generation, but to distribute R/W among more spindles.
Is there a way to measure IO sizes on a per VM basis over time? Is it worth monkeying with this at all or just leave the whole thing at 64k and call it good?
Also where does the SAN block size fit in? I just did a test run with setting the SAN block size (not stripe size) to 1024 and it wouldn't format in VMFS at all throwing errors left and right. 512 seems to be the default for my array but I can crank it up all the way to 65536 bytes.
Is there a way to measure IO sizes on a per VM basis over time? Is it worth monkeying with this at all or just leave the whole thing at 64k and call it good?
Also where does the SAN block size fit in? I just did a test run with setting the SAN block size (not stripe size) to 1024 and it wouldn't format in VMFS at all throwing errors left and right. 512 seems to be the default for my array but I can crank it up all the way to 65536 bytes.
Last edited: