En pratique: à la découverte des commandes PowerShell de base pour gérer Hyper-V 

Le 23 juin 2010 (11:09) - par Searchservervirtualization.com

Imprimer Envoyer par e-mail

Rubriques : Virtualisation de serveurs - Hyperviseurs serveurs - Outils d'administration Tags : microsoft - virtualisation - administration - hyper-v - hyperviseur - PowerShell

Avec notre partenaire SearchServervirtualization.com, nous vous proposons un mode d'emploi rapide de quelques cmdlets Powershell de base pour piloter les fonctions d'Hyper-V. Ces commandes permettent de contrôler les fonctions de l'hyperviseur depuis le mode ligne de commande et peuvent être utilisées dans le cadre de scripts plus complexes afin d'automatiser ou d'orchestrer des processus complets de provisionning ou de déplacement de VM.

La console d’administration de Microsoft Hyper-V et System Center Virtual Machine Manager (SCVMM) sont de bons outils graphiques pour la gestion des machines virtuelles (VM), des serveurs hôtes et des diverses tâches d’administration à réaliser au-dessus d’Hyper-V. Toutefois, comme la plupart des outils d’administration s’appuyant sur une interface utilisateur graphique (GUI) , ces programmes ont des capacités de personnalisation limitées et sont en général contraints par les limites imposées par l’interface graphique. C’est la raison pour laquelle Microsoft propose aussi une collection complète de commandlets (cmdlets) PowerShell, en fait  une suite d’outils en mode ligne de commande afin de répondre aux besoins des administrateurs souhaitant passer outre les limitations de l’interface graphique (ou préférant tout simplement le mode CLI).

Quelques notions de base dans Powershell
Cmdlets: Ce sont les composants de base pour les  commandes. les Cmdlets effectuent une action et retourne un  objet .Net pour  la commande suivante. Toutes les cmdlets ont une structure de type verbe-nom (par exemple Get-VM, Get-Help...).

Commandes : Une commande assure l'exécution d'une ou plusieurs Cmdlets et y associe des paramètres qui permettent de mettre en œuvre des fonctions spécifiques.

Pour plus d'informations sur les cmdlets PowerShell et les commandes, en comprendre leurs différences, consultez l’annuaire des Cmdlets de Microsoft.
Cliquez pour dérouler

Les Cmdlets PowerShell pour SCVMM et Hyper-V permettent d’accéder à un ensemble de fonctions qui simplifient l'administration des environnements virtuels. Dans cet article, nous nous concentrerons sur nos commandes favorites. Il est à noter que même si vous ne disposez pas d’une copie de SCVMM, ces commandes PowerShell permettent d’accéder à la plupart des capacités de l’hyperviseur de Microsoft, y compris l'obtention des informations de base, la création de nouvelles VM ou la mise en oeuvre de migrations en direct de machines virtuelles.

Avant de commencer, vous devez tout d'abord télécharger et installer le module Hyper-V PowerShell. Il vous faudra peut -être changer le mode d'exécution de PowerShell de façon à ce que le module fonctionne correctement. En effet, si ce dernier s’exécute sans souci sur Windows Server 2008, dans Windows 7, il est nécessaire de modifier la politique d'exécution de scripts pour faire sauter toutes les restrictions d’exécution. Cela n’est pas forcèment optimal en matière de sécurité, mais nécessaire pour exécuter les Cmdlets PowerShell Hyper-V sur un poste non serveur.

Une fois l'installation du module Hyper-V PowerShell effectuée, il est temps d'essayer quelques fonctions de base. Lorsque vous serez plus à l'aise avec ces cmdlets PowerShell, vous pourrez les combiner pour former des commandes ou des scripts plus complexes et plus utiles.

Get-VM.
Cette cmdlet est la base de beaucoup de scripts, et elle est assez explicite. Get-VM récupère des informations sur les machines virtuelles et permet d’avoir un aperçu rapide des VM sur un serveur particulier. Pour obtenir des informations sur les VM de l’hôte WebServer1, on tape ainsi :
    Get-VM -WebServer1

Figure 1
(Cliquez sur l'image pour l'agrandir.)
hv ps get vm


Notez que vous devez préciser le nom d’un serveur particulier en utilisant un suffixe de type -WebServer1, comme vous le feriez dans la console Hyper-V.

New-VM, Set-VMMemory, Set-VMCPUCount, Add-NewVirtualHardDisk.
Ce groupe de Cmdlets Hyper-V sert à provisionner de nouvelles machines virtuelles. L'Assistant graphique d’Hyper-V Manager est peut être plus facile à utiliser, mais si vous avez besoin de créer plusieurs machines virtuelles à la fois, cette méthode peut permettre de gagner du temps.

Figure 2
(Cliquez sur l'image pour l'agrandir)
hv ps new vm


Avec ces commandes, une légère modification vous permet d'ajouter ou de modifier plusieurs machines virtuelles en même temps. La commande suivante permet ainsi de créer trois VM sur le lecteur d:
      New-VM-Server Host1 -Name RobTest2, RobTest3, RobTest4 -Path d:

Celle-ci alloue 1024Mo de mémoir eà chacune des machines virtuelles :
      Set-VMMemory-Server Host1 -VM RobTest2, RobTest3, RobTest4 1024


Tandis que celle-ci affecte 4 CPU virtuel par VM :
      Set-VMCPUCount-Server Host1 -VM RobTest2, RobTest3, RobTest4 4

Enfin, cette dernière associe un disque de 24 Go de capacité à chaque VM
      Add-NewVMHardDisk-Server Host1 -VM RobTest2, RobTest3, RobTest4 -Size 24GB

Comme vous pouvez le voir, en créant simultanément plusieurs machines virtuelles, PowerShell permet de gagner du temps.

Start-VM, Stop-VM, VM-Save, Shutdown-VM.
Contrôler l'état des machines virtuelles est également possible via la ligne de commande. Dans certains cas où l'interface n'est pas disponible, ces commandes permettent également de conerver la main en contrôlant les arrêts desVM ou en sauvegardant leur état avant l’entrée dans un processus de diagnostic. Comme avec les commandes précédentes, on peut changer l'état de plusieurs machines virtuelles à la fois.

    Start-VM-Server Host1-VM RobTest2, RobTest3, RobTest4
    Stop-VM-Server Host1-VM RobTest2, RobTest3, RobTest4
    Save-VM-Server Host1-VM RobTest2, RobTest3, RobTest4
    Shutdown-VM-Server Host1-VM RobTest2, RobTest3, RobTest4

Note: il est nécessaire que la machine virtuelle à stopper incorpore les composants d'intégration Hyper-V pour utiliser la commande shutdown-VM (avec les VM Linux, il faut la version 2.1 de ces composants).

Move-VM.
PowerShell peut également aider pour gérer des VM au sein d’un cluster Hyper-V. La commande suivante permet ainsi de déplacer des machines virtuelles entre les noeuds du cluster (ce qui peut être utile pour des opération de maintenance, ou dans le cadre d’un processus d’orchestration faisant appel à des scripts).

    Move-VM -Server Host1 -VM RobTest2 -Destination Host2 -- force

Il est possible de déplacer plusieurs machines virtuelles, mais cela doit être fait de façon séquentielle.

    Move-VM -Server Host1 -VM RobTest2, RobTest3, RobTest4 -Destination Host2 --force

L’utilisation d’un caractère joker permet de déplacer toutes les machines virtuelles de Host1 qui commencent par RobTest vers Host2.

    Move-VM -Server Host1 -VM RobTest% -Destination Host2 --force

Note: Pour éviter le message "WARNING: Cluster commands not loaded. Import-Module FailoverClusters and try again" et utiliser les fonctionnalités de cluster de PowerShell, il convient de charger le module de cluster failover en exécutant la commande Run, Import-Module FailoverCluster.

Une fois que vous vous serez familiarisé avec ces cmdlets PowerShell de base, vous pourrez passer à un stade plus avancé en testant les commandes PowerShell documentées dans la bibliothèque de référence de PowerShell pour Hyper-V. Avec le temps, vous devriez être en mesure d'orchestrer des tâches plus complexes et plus productives avec PowerShell

A propos de l'auteur
Rob McShinsky est ingénieur systèmes au Dartmouth Hitchcock Medical Center de Lebanon, dans le New Hampshire. Il a plus de 12 ans d'expérience dans l'industrie et travaille sur la virtualisation de serveurs depuis 2004. Il a été parmi les premiers à adopter la technologie Hyper-V et System Center Virtual Machine Manager 2008 dans le cadre du programme d’évaluation de ces technologies (le centre médical est une référence Microsoft).

livres blancs avec LesSourcesIT.fr

Guide en 10 étapes pour l’achat d’une solution CRM adaptée

Le processus d'acquisition d'une solution CRM est différent de la procédure classique suivie pour les achats informati…


Démystifier les mythes sur le 10Gigabit Ethernet

Alors que le 10Gigabit Ethernet (GbE) est largement disponible depuis plusieurs, la technologie et encore nouvelle pour …

vues 3997 lectures commentaire 0 commentaire(s) recommandation notez cet article
3

Réagissez à cet article

Votre Pseudo

Commentaire

Justifier la sécurité informatique - Gérer les risques et garantir la sécurité de votre réseau


L'objectif d'un programme de sécurité est de choisir et de déployer des contre-mesures performantes pour atténuer les vulnérabilités qui risquent très probablement de causer…

Security Connected : Optimisez votre entreprise - Les dix grands thèmes de la sécurité que doit maîtriser tout dirigeant d'entreprise


Les entreprises sont en perpétuelle évolution. Selon une étude récente de Gartner, le rôle des directeurs informatiques évolue lui aussi : jusque-là gestionnaires des ressou…
livres blancs avec LesSourcesIT.fr
publicité
Les dossiers du MagIT
 

 Projet Nice du Crédit Agricole : un chantier trop vaste dans un calendrier…

La fédération nationale du Crédit Agricole a présenté à la presse le côté pile de l’avancée de son projet Nice, fin janvier. Des…

 Cour des comptes : la gestion informatique de l’Assistance publique -…

Surprise dans le rapport annuel 2012 de la Cour des comptes : les magistrats se sont penchés d’un peu plus près sur les chantiers des…

 TechDays 2012 : Renault parie sur Sharepoint 2010 pour innover…

Renault se repose sur SharePoint 2010 pour proposer un service de gestion de l’innovation susceptible de favoriser l’émergence…

 Comment le missilier MBDA soigne la sécurité de son système d’information…

Second missilier au monde, MBDA manipule des données sensibles et doit s’appuyer, pour garantir leur sécurité, sur des outils…

Les dernières offres d'emploi

 Technicien hotline Niveau 0/1 H/F

Kelly IT Resources, division du groupe Kelly Services spécialisée dans la sélection et le recrutement de profils informatiques de niveau Bac+2 à Ingénieur, recrute pour un de ses clients, une SSII...

 INGÉNIEUR TEST LOGICIEL EMBARQUÉ (H/F)

Au sein de l'équipe Recherche & Développement embarquée, vous êtes chargé de :Rédiger les plans de tests, Dérouler les tests, Reporter les anomalies, Automatiser les tests, Fournir le rapport de...

 LEAD DEVELOPER WEB (H/F)

Au sein d?une équipe, vous assurez la conception et la réalisation d?applications Web. Vous participez aux phases d?avant-vente et pilotez la conception technique (validation des choix...

publicité
Recevez les newsletters du MagIT
L'essentiel IT : L'actu IT au quotidien
événements

Etat du monde IT 2011

1 2 3 4 5   
Les blogs de la rédaction
Valery Marchive

Casualtek

Free : et si la rentabilité naissait de la simplicité ?

Free Mobile a semé le chaos sur le marché français de la téléphonie mobile…

Valery Marchive

Indi@

L’Inde vers un blocage du Web à la mode chinoise ?

Rien ne va plus entre Delhi et les grands du Web que sont notamment Facebook et…

Start-up IT

Quel volontarisme politique pour l’industrie des hautes technologies

Sur fond de crise économique l’industrie des hautes technologies française…

Click Here