SQL 2008 R2 et Hyper-V

images.jpgJe vais aborder dans ce billet les bonnes pratiques concernant SQL Server 2008 R2 dans un environnement Hyper-V.

Les éditions de SQL

9 versions sont disponibles dans 3 catégories: Premium – Core – Spécialisée (lien chez Microsoft)

Premium

  • Datacenter: Une première dans l’histoire de SQL ! Cette version délivre la meilleure sécurité, fiabilité et évolutivité par rapport aux autres éditions. Elle supporte 256 processeurs logiques, 25 instances sur un seul UCP (Utility Control Point), virtualisation illimitée, 2 To de mémoire vive, …..
  • Parallel Data Warehouse: version dédiée aux lourdes charges et prise en compte du MPP (Massively parallel processing)

Core

  • Enterprise: 25 instances, 4 machines virtuelles, 2 To de RAM
  • Standard: 4 Processeurs, 64 Go de mémoire, une machine virtuelle et 2 noeuds de cluster failover

Spécialisée

  • Web: édition la moins chère dédiée aux applications web – idéal avec la prise de PHP et du driver SQL (voir mon billet précédent). Prise en charge de 4 processeurs et de 64 Go de mémoire vive
  • Workgroup: 2 processeurs et 4 Go de mémoire supportés
  • Express: Idéal pour un environnement de développement – 1 Go de RAM et 10 Go de taille de la BDD au maximum
  • Compact: Souvent employé avec des logiciels spécifiques, mobilité, …

Les apports du couple SQL/2008 Server R2 avec Hyper-V

Ajout de mémoire et de processeur: Possibilité d’ajouter à chaud – plus de disponibilité
Cluster FAILOVER: Le Cluster Validation Wizard a été optimisé pour SQL – Le BPA de Windows 2008 Server permet aussi d’optimiser sa plateforme – Support de 16 noeuds en multi-sites (support VLAN)
Live Migration: Bascule à chaud des VMs sans interruption de service !
Support de 32 cœurs sur le hôte: Permet le support des architectures quadri processeurs à 8 cœurs (8 x 4 = 32)
Cluster Shared Volumes: Système de fichiers NTFS permettant les Clusters actif/actif. Plus besoin de mettre une VM par LUN
Stockage dynamique: Idéal pour les bases de données lourdes qui « mangent » l’espace disque… Il est possible d’ajouter ou supprimer du stockage à chaud
Second Level Address Translation (SLAT): Amélioration des performance d’accès mémoire en jouant sur l’intégration des contrôleurs mémoire dans les dernières générations de processeur
Multiple network channels (NIC teaming): Teaming au niveau logiciel et géré par la machine parente. Cela évitera l’utilisation des drivers de Teaming des constructeurs
Amélioration de la tolérance de panne: Plus besoin de double HBA sur le SAN sur chaque nœud Hyper-V. Si une HBA devient défaillante ou si le lien fibre se brise alors les VMs de l’Hyper-V concerné continuent de tourner mais l’accès au SAN se fait via les autres nœuds du cluster et par réseau dédié entre ces nœuds. Passage en mode dégradé mais fonctionnel

Live Migration avec CSV (uniquement avec 2008 Server R2)

Live Migration est une nouvelle fonctionnalité de Hyper-V R2 qui permet d’augmenter la disponibilité de VM. En tirant parti de cette nouvelle fonction de migration de VM en « live », les administrateurs peuvent déplacer de manière transparente des machines virtuelles d’un hôte Hyper-V physique à un autre hôte Hyper-V physique au sein du même groupe, et ce, sans perturber les services du système d’exploitation hôte. Voici le processus en détail:

1° Transfert de l’état mémoire de la VM => Création de la VM sur la cible => Transfert des pages mémoire de la source à la cible via réseau
2° Transfert de l’état final et restauration du contexte de la machine virtuelle => Mise en pause de la machine virtuelle => Déplacement de la connectivité du stockage de l’hôte source vers celui cible
3° Un-pause & exécution

hypervliveM.jpg

Je me suis basé sur la documentation suivante: http://technet.microsoft.com/en-us/library/cc732181(WS.10).aspx. Voici les grandes étapes:

  • S’assurer que le matériel, les logiciels, pilotes et des composants sont pris en charge par Microsoft et supportés pour Windows Server 2008 R2
  • Paramétrez le matériel, le stockage partagé, et le réseau
  • Installez Windows Server 2008 R2 sur tous les nœuds que vous incluez dans le cluster de basculement
  • Activez le rôle Hyper-V sur chaque nœud du cluster de basculement
  • Installez le Failover Clustering sur chaque nœud du cluster de basculement
  • Valider la configuration du cluster en utilisant le Wizard
  • Configurer CSV:

Gestionnaire de cluster de basculement => vérifiez que CSV est présent et activé pour le groupe (sinon: Gérer un cluster, puis sélectionnez le cluster qui doit être configuré) => Clic droit sur le cluster de basculement et activez CSV => ajoutez du stockage au CSV (clic droit sur le cluster ou ajout de stockage dans Actions)

  • Installez SQL Server VM avec Hyper-V puis configurez Live Migration
  • Configurer le cluster pour Live Migration

NB: Sur les noeuds non actif, il est important de mettre Rien dans les propriétés de la VM – section Action automatique au démarrage.