No, it does not work as you think. User-land app issues I/O request thru it's subsystem (in our case it's StarWindService.exe -> kernel32.dll -> ntdll.dll). Then I/O request gets routed thru file system driver (NTFS in most of the cases and I/O gets cached by Windows Cache and Memory Manager). Then goes disk class driver (something providing RAW access to the disk volume). Then goes StorPort.sys/ScsiPort.sys + RAID miniport driver *or* monolithic port driver like atapi.sys doing backdoor service for ATA devices. Then goes RAID controller hardware, RAID card cache and then we reach disk drive silicon and disk drive cache. This is route for image file-based access. For direct volume access you can remove NTFS driver and Windows Cache and Memory Manager comletely. As we have OWN cache implemented we don't involve Windows Cache and Memory manager as all file access is in write-thru unbuffered mode. So NTFS impact is close to missing.
I don't think it makes any sense... I'd personally stick with large thin-provisioned volume per VM instead of having to split all the data into multiple chunks scattered among volumes.
DavidMcKnight wrote:I still have a hard time understanding how read\write requests that have to go through an ImageFile which, in my mind, looks like this: Starwind <-> Windows OS <-> RAID Driver <-> RAIDCard <-> HardDrive would be as fast as RAW which, in my mind, looks like Starwind <-> RAID Driver <-> RaidCard <-> HardDrive.
Anyway, so tell me this... I've been under the impression that VMware has some limitations with iSCSI. Something about 16 queues per iSCSI LUN and no more that 4 queues per VM on a LUN. So I've been trying to put no more that 4 VMs per iSCSI target. So this gives me many smallish iSCSI targets. What is the best practice to implement ImageFiles for my new Datastore design? If to use an ImageFile, it seems I have to create a RAID Volume, format it NTFS at the same block size as the RAID stripe size, then give it a drive letter in windows. Should I create a large RAID Volume and put many ImageFiles to the same drive letter? If, to get the best performance, I should still put only one ImageFile per drive letter, I'm afraid I'll run out of drive letters inside of my Starwind iSCSI server.