It's all about the IOPS. The VMs that use any particular datastore shouldn't exceed the IOP capacity of the lun. E.G consider 3 VMs Larry Moe and Curly. Larry runs SQL server and on average does 700 iops/sec (peaks at 1000) Larry uses 500GB. Moe is a 2008 fileserver, low IOPS 150 /sec avg (peaks at 300), 1TB of space. Curly is a webserver, low IOPS 100 (peaks at 100), low space 40GB. Thats the frontend IOPS- how many need to be performed by the actual machines. The backed IOPS need to be caclulated based on the raid type and redundancy required. So for Larry we probably want raid 10 (and we'll assume a 50/50 mix of read writes). So we'll need 1050 IOPS on the backend - this means 8 spindles (SAS or FC- 14 SATA). In addition at 500GB we're close to a reasonable datastore size so that's 1 lun dedicated. Moe needs just 150 iops but we want that to be raid 5 so thats 375 IOPS on the backend- still just 3 spindles- but we need 1 TB and our disks are only 300 GB, so we'll need at least 5 spindles for size alone, this gives us a fat lun but plenty of IOPS (750 on the backend and 300 on nthe frontend). That leaves Curly. we could combine Curly and Moe on the same lun, however Curly is a webserver and we don't want latency issues when Moe peaks out at 300. We can put Curly on a raid 5 set, gain redundacy at the expense of spindles and space or use raid 0+1 across 2 disks but potentially have an issue with drive failures.
The moral of this story is that the question you are asking doesn't have a simple answer. focus on the IOP requirements and you should be OK regardless of how exactly you get there. There is even more not discussed (designing for peak IOPS vs average, Sql server should have a RAID 1 set for logs) but hopefully I've made my point.