I have a RAID5 of 3 x 2TB set to 128k stripe. The volume is formatted in Windows with 64kb Allocation Unit Size (AUS), and within that volume I have multiple virtual hard disks where guest operating systems are formatting them as 4kb AUS.

I'm concerned that the guests using the vhd files at 4kb AUS are wasting space as the host is instructed to write in 64kb blocks. Is my concern correct or is this not how it works?

  • No matter how you stripe the RAID 5, it is a suicidal move. It is a FAKE redundancy with nearly impossible recovery, poor write performance and unworthy read performance increase with insane allocation unit size tuning . I will say "I told you so" when Murphy laws hit you. – mootmoot May 30 '16 at 10:06
  • My choice of RAID isn't topical therefore your comment is pointless – codaamok May 30 '16 at 10:25

Wasting space will not be a too big concern. There will be space wasted but unimportant amounts (normally up to 124 kb per vhd, if I understand correctly).

Performance, on the other hand, can be an issue. For performance reasons you should align all block and stripe sizes.

  • I'm not sure I can agree on your performance comment. I've seen a noticeable increase in read and write since I've made this config. Before it was 64kb stripe, 4kb AUS host and guest file systems. – codaamok Apr 21 '16 at 14:49
  • 1
    That is because you don't understand what alignment means. What I am basically saying is that if you switch AUS to 128 and guest FS to 128 as well, you will most likely get better performance. – Florin Asăvoaie Apr 21 '16 at 15:04

File system inside VM is wrapped by few huge files. Go to directory that you create your VM image and you will know.

E.g. You just allocate additional 10GB in your guest OS. If you didn't specify need to break to smaller file, The VM software just create one huge file and later you can allocate to the guest OS. E.g. 10GB

So to the host OS level, it doesn't matter what you did inside the guest OS, it just deal with one huge 10GB file with 64kb block.

Please refer to VM documentation on how the data writing performed if you are concern about data security.

For performance concern, RAID 5 with 3 disk will give you BAD disk write performance. update 1: Since @FlorinAsăvoaie without giving any useful information in hist comment, I just add this virtual machine alignment documentation : https://www.vmware.com/pdf/esx3_partition_align.pdf http://www.yellow-bricks.com/2010/04/08/aligning-your-vms-virtual-harddisks/

update 2: I assume the question is about guest OS disk usage, not about performance, nor about VM technology about data write handling.
I don't want to brought out the topic of "Guest OS Filesystem block size against Host OS filesystem blocksize I/O performance" + "Host OS filesystem blocksize vs RAID block size performance". It is irrelevant to the question.

For performance part. As what I can tell : avoid massive database activities in RAID 5. It doesn't matter how good you tune your Host or guest system. Nor @FlorinAsăvoaie VM alignment method will save you if you did that. It is a inherent weakness of RAID-5 .

As in 2016, If you ask any question about performance and fault tolerance, I will say this : Don't use RAID-5, you just create a time bomb.

  • "So to the host OS level, it doesn't matter what you did inside the guest OS, it just deal with one huge 10GB file with 64kb block." - This is utterly wrong. When the OS writes a 4 kb block, it will trigger a full 64 kb block re/write on the host in most cases. Also, the guest would do 16 I/O calls to the host in order to write a 64 kb block instead of one call. – Florin Asăvoaie Apr 21 '16 at 20:37
  • @FlorinAsăvoaie : I did not mentioned anything on the guest vs host disk I/O. IMHO, do cite the source to confirm your facts, as the data performance in VM is another topics. Also, since you brought up the host file system level IO, why failed to mentioned the RAID 5 128KB stripe I/O ? – mootmoot Apr 22 '16 at 7:38
  • I am not going to get into an argument with you because you feel offended when you are wrong. I don't have to give a source for common sense facts. – Florin Asăvoaie Apr 22 '16 at 8:18
  • @FlorinAsăvoaie : I am surprise that you cite my word and didn't think it through and jump out stuff that I didn't say. You I/O facts is true, but it doesn't mean what I say is wrong. READ the sentences again, "deal with one huge 10GB file with 64kb block." – mootmoot Apr 22 '16 at 9:11

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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