Nous envisageons de mettre en place une instance SQL 2008 dans une VM pour un environnement de production. Toutes nos instances SQL utilisent iSCSI sur gigabit ethernet pour communiquer avec un NAS, comme le ferait cette nouvelle instance. Y a-t-il une raison pour que ce soit une mauvaise idée ou des considérations pour que cela fonctionne bien ? La VM fonctionnerait sous Xen 5.5 ou nous pourrions la configurer sous Hyper-V si cela s'avérait nécessaire. Et le VHD de la VM serait stocké sur un NAS différent de celui où se trouve le stockage SQL.
Réponses
Trop de publicités?J'ai participé à la mise en place d'un environnement SQL virtuel dans Hyper-V il n'y a pas si longtemps. Malheureusement, il s'agissait d'une entreprise distincte de la mienne et nous nous sommes maintenant séparés de manière assez importante pour savoir qui s'occupe de quoi. Pour cette raison, je n'ai pas d'accès direct à l'environnement pour voir comment il fonctionne, mais je parle souvent avec le gars qui le gère et il dit que les choses fonctionnent très bien pour eux. Leur configuration est assez similaire à celle que vous citez, car ils travaillent également avec un périphérique NAS.
Si vous envisagez d'opter pour Hyper-V, je pense que Microsoft propose des options de licence intéressantes. Cela peut valoir la peine de vérifier ce lien :
http://www.microsoft.com/licensing/about-licensing/virtualization.aspx
Vous pouvez également consulter la FAQ Hyper-V :
http://www.microsoft.com/windowsserver2008/en/us/hyperv-faq.aspx
J'ai également un petit environnement de test SQL fonctionnant sur ESX qui fonctionne très bien. Cet environnement ne communique pas avec un périphérique NAS, il m'est donc difficile de dire comment il fonctionnerait dans une telle situation.
Xen est génial et nous l'aimons beaucoup. L'E/S est un problème comme l'a mentionné Randolph. Ce problème peut aussi être partiellement résolu en utilisant des pilotes d'E/S paravirtualisés pour Xen. Vous obtiendrez également de meilleures performances si vous utilisez des disques locaux au lieu d'un SAN via iSCSI, mais si iSCSI répond à vos besoins, vous pouvez y aller.
À moins que SQL 2008 Enterprise, la licence ne permet pas d'avoir plusieurs instances sur un seul boîtier, vous ne faites que consolider le matériel.
Les NIC qui prennent en charge la virtualisation seront proches de la vitesse du fil, ce qui ne devrait pas poser de problème - la plupart des serveurs modernes peuvent saturer la NIC avec le trafic iSCSI sans trop d'effort.
L'entrée/sortie de disque est un problème, mais vous avez dit qu'il n'y avait pas de disques locaux, donc vous avez déjà travaillé sur ce point.
Il s'agit de quelques surprises concernant les performances des disques locaux : http://www.bitshop.com/Blogs/tabid/95/EntryId/29/Can-I-virtualize-SQL-Server-Is-performance-good.aspx
Steve Radich - Fondateur - http://www.BitShop.com