30 VM desservies par seulement 2 spindles (disques) souffriront probablement d'un goulot d'étranglement IO, même si ces VM ne sont pas particulièrement intensives en IO (qu'elles soient aléatoires ou séquentielles). Il s'agit de 30 requêtes de lecture distinctes et simultanées se produisant dans des zones très éloignées les unes des autres sur les disques. Beaucoup de temps est perdu à chercher d'un endroit à l'autre.
Je recommanderais de mettre en place une deuxième baie de disques si l'option est facilement disponible (emplacements de disques de rechange ou boîtier externe de rechange), et de migrer vos machines virtuelles vers cette baie. 4-6 disques au minimum. Une autre amélioration serait un cache de lecture/écriture plus important, si vous n'utilisez qu'une puce 128 ou 256.
Un autre point à vérifier est l'allocation des vCPU, comme l'a mentionné Zypher - assigner trop de vCPU à chaque VM est (contre-intuitivement) susceptible de ralentir toutes les VM (chaque VM doit attendre un cœur libre pour chacune de ses vCPU avant de pouvoir obtenir du temps CPU, de sorte qu'une VM à 4 vCPU peut obtenir moins de cycles qu'une VM à 2 vCPU).
Edit : en y réfléchissant un peu plus, il y a aussi des problèmes de verrouillage que vous pourriez rencontrer en ayant autant de VM sur un seul LUN. Vous pouvez rencontrer des verrous par magasin de données lors de diverses opérations VM, éventuellement des mises sous tension/suspensions, etc. Cela commence à s'empiler assez rapidement, ce qui peut entraîner des démarrages lents, etc. Vous pouvez contourner ce problème en créant des datastores distincts dans le même espace de disque (redimensionnez la partition actuelle à la moitié, puis créez une nouvelle partition dans l'espace vide. Répartissez les machines virtuelles de manière égale entre les datastores). Une quinzaine de VM par datastore est un bon maximum.