66 votes

Quels sont les inconvénients de l'exécution d'une base de données dans une machine virtuelle ? Comment les surmonter ?

L'exécution de tout ce qui se trouve dans une machine virtuelle aura un certain niveau d'impact sur les performances, mais dans quelle mesure vraiment ont un impact sur les performances d'un système de base de données ?

J'ai trouvé ce document de référence académique avec quelques benchmarks intéressants, mais il s'agissait d'un test limité utilisant uniquement Xen et PostgreSQL. La conclusion est que l'utilisation d'une VM "n'a pas un coût élevé en termes de performances" (bien que vous puissiez penser que les données réelles disent le contraire).

Quels sont les inconvénients techniques, administratifs et autres liés à l'exécution d'une base de données dans une machine virtuelle ?

Je ne suis pas intéressé par les spéculations ou tout autre argument semi-religieux (la passion des geeks est bonne à bien des égards, mais cela ne nous aidera pas ici).

Ceci étant dit,

  • Quels problèmes apparaissent lors de l'exécution d'une base de données dans une machine virtuelle ? (veuillez indiquer les références)
  • Ces questions sont-elles importantes ?
    • Ne sont-elles significatives que dans certains scénarios ?
  • Quelles sont les solutions de contournement ?

0 votes

+1 Je suis principalement intéressé par les commentaires sur les scénarios SQL Server et Windows 2008 R2.

4 votes

@Shane Madden - Pouvez-vous expliquer un peu la fermeture ? Je m'attends à ce que la motivation soit motivée par une raison non spécifique. répondre (qui a ensuite déraillé dans les commentaires), et non la question elle-même. En ce qui concerne la question, 44 votes et 12 favoris en l'espace d'environ un jour d'existence de la pré-fermeture impliquent pour moi qu'il s'agissait d'une bonne question avec des réponses/informations utiles (en particulier par rapport à ce qui semble être typique pour le trafic de questions sur ServerFault). C'est ce que visent les différents sites SE. Auriez-vous préféré une formulation plus spécifique de la question, plutôt qu'une simple question du type "quelle est la gravité de la situation ?

1 votes

@ErikA ,Shane ,Womble ,mikeyb ,Ben - J'ai fait une modification communautaire qui pourrait rendre cette question plus constructive. Pensez à rouvrir cette question, ou à poster une question similaire dans une nouvelle question.

2voto

Dr. Faust Points 361

J'exécute deux bases de données, l'une PostgreSQL et l'autre MySQL, dans un environnement virtuel (Xen) où les dom0 sont hautement disponibles. Les systèmes de fichiers des domU sont tous situés sur un LUN SAN iSCSI, découpé en volumes logiques LVM2. La base de données MySQL est uniquement destinée à Cacti, et n'est donc pas beaucoup utilisée, et se trouve également sur le LUN iSCSI.

La base de données PostgreSQL est la base de données de notre environnement de transit, et est donc plus utilisée que la base de données MySQL. Pour cette raison, la base de données est située sur un ensemble RAID10 local, et DRBD répliqué sur le deuxième nœud de cluster. Cependant, en termes de charge réelle, cette base de données de mise à disposition ne connaît pas de charge très élevée. Ce qui, à mon avis, en fait un bon/grand candidat à la virtualisation.

Parmi les avantages pour notre organisation, citons la réduction de la consommation d'énergie, l'économie d'espace en rack et la diminution des frais administratifs liés au matériel.

Notre principale base de données de production, par contre, je ne peux pas imaginer aller virtuellement.....

2voto

Chris Points 21

Je travaille avec des serveurs MSSQL et MySQL sur de nombreux serveurs. Il y a quelques années, j'ai hésité à configurer des serveurs SQL sur des machines virtuelles, car j'avais entendu parler de problèmes de performances liés à l'exécution d'un serveur SQL sur une machine virtuelle. Cependant, j'ai été surpris après avoir configuré mes deux premiers serveurs SQL et n'avoir constaté aucun changement dans les performances. De plus en plus de serveurs sur lesquels je travaille sont sur VM et presque toutes les grandes entreprises pour lesquelles je travaille ont des serveurs SQL virtualisés.

Oui, la VM ajoute des frais généraux et si vous devez héberger plusieurs VM sur un seul boîtier, vous aurez besoin d'un serveur puissant. Un problème de ressources courant auquel il faut faire attention est l'ajout de VM supplémentaires et l'amincissement des ressources disponibles. Il est courant de prévoir une certaine croissance, mais si vous avez acheté votre serveur pour héberger 2 ou 3 machines virtuelles et qu'il en exécute maintenant 10, vous allez probablement constater une baisse des performances.

Je mentirais si je disais que je n'ai jamais rencontré de problèmes de performance en exécutant un serveur SQL sur une VM. Mais j'ai appris que si les performances sont médiocres, il y a probablement un problème dans l'environnement.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X