Est-il possible de répartir une énorme machine virtuelle sur plusieurs serveurs physiques?
Voici notre cas d'utilisation:
- Nous devons implémenter un serveur db à 32 processeurs avec 64 Go de RAM
- Nous n'avons pas de serveur physique d'une telle capacité
- Nous avons beaucoup de serveurs avec des ressources plus petites.
Existe-t-il une technologie ou (mieux) un produit qui nous permet d'utiliser ces serveurs pour créer une machine virtuelle avec la capacité requise? Disons, pouvons-nous combiner 8 machines physiques à 4 processeurs avec 8 Go de RAM chacune en une "unité logique" à 32 processeurs avec 64 Go de RAM et configurer un serveur Oracle qui utilise toute cette capacité?
Avant de poster cette question, nous avons lu des questions similaires mais n'avons pas trouvé de réponse.
- Combinez plusieurs serveurs physiques en 1 serveur virtuel
- Cloud Computing - plusieurs ordinateurs physiques, un ordinateur logique
Peut-être que quelqu'un pourrait nous donner un indice maintenant?
virtualization
user54614
la source
la source
Réponses:
Il existe un produit commercial de ScaleMP appelé vSMP. Il vous permet d'agréger plusieurs systèmes x86 en une seule instance virtuelle. Je n'ai jamais personnellement essayé cela auparavant, mais j'ai fait une présentation d'eux. Si je me souviens bien, il existe des exigences spécifiques pour que cela fonctionne, et vous aurez besoin d'obtenir du matériel supplémentaire (Infiniband pour des interconnexions rapides à faible latence). Cela pourrait coûter un joli sou aussi!
la source
Il n'y a aucun moyen d'obtenir exactement les mêmes fonctionnalités qu'une seule machine à 32 processeurs ... avec plusieurs serveurs distincts. Votre meilleur pari est de regarder le clustering ou le grid computing. Bien fait, vous pouvez vous retrouver avec des performances comparables ... et un niveau élevé de haute disponibilité. Une grande partie de votre question dépend également de votre type de "db". Microsoft SQL Server fonctionne de manière très différente de MySQL ou Oracle ... et l'évolutivité se fait également complètement différemment.
Alternativement ... vous pouvez envisager de laisser quelqu'un faire la base de données pour vous ... comme utiliser l'EC2 RDS ...
Malheureusement, il n'y a aucun moyen de combiner plusieurs serveurs physiques ensemble et de les gifler vmware et de se retrouver avec un serveur virtuel uber-puissant unique.
la source
"TheCompWiz" a répondu utilement à votre question.
Je voudrais toujours dire que, oui, vous pouvez créer un hyperviseur qui permet à une seule machine virtuelle de s'étendre sur plusieurs hôtes physiques et il peut exécuter cette machine virtuelle "correctement" là où tout fonctionne.
Mais, même avec de très bons réseaux à grande vitesse entre les hôtes physiques, les performances d'une telle chose seraient vraiment horribles, fonctionnant beaucoup plus lentement qu'une machine virtuelle plus petite qui tient dans un seul de ces hôtes. Vous devez simuler les propriétés de cohérence du cache d'une seule machine virtuelle en interceptant chaque lecture ou écriture de mémoire effectuée par le système d'exploitation invité et l'application, ce qui multiplierait le coût d'accès à la mémoire par des milliers, voire des millions.
Aucun fournisseur d'hyperviseur commercial ne permet donc une telle chose. Il a été essayé en laboratoire. Personne n'a pris la peine d'en faire un produit.
Pour souligner le point une fois de plus, regardez vers le clustering pour une solution.
la source
VMWare le fait. Il s'appelle DRS ou Distributed Resources Scheduler. Il vous permet de combiner les ressources de 16 serveurs. Vous pouvez ensuite distribuer ce total à un ou plusieurs environnements virtuels.
la source