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

Sécuriser les terminaux mobiles des utilisateurs dans l’entreprise

Les appareils mobiles, tels que les smartphones et les tablettes tactiles, permettent à un nombre croissant d’employ…


L’efficacité opérationnelle et la réduction des coûts grâce à une approche intégrée de la veille sécuritaire

La mise en place d’un programme de veille sécuritaire efficace au sein d’une organisation n’est pas à prendre à…

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

Réagissez à cet article

Votre Pseudo

Commentaire

Les économies de stockage à travers une architecture unifiée


Beaucoup d’organisations ont fait le choix du stockage « unifié » à travers les systèmes Multiprotocol storage systems (MPS). Avec la croissance exponentielle du nombre de d…

Virtualisation : bénéfices, défis et solutions


Alors qu’il existe différentes voies en matière de virtualisation ce document se concentre sur 3 approches : serveurs, postes de travail et appliances. L’un des motifs de cet…
livres blancs avec LesSourcesIT.fr
publicité
Les dossiers du MagIT
Les dernières offres d'emploi

 TECHNICIEN HOTLINE (H/F)

A ce titre, vous effectuez le support utilisateurs niveau 1 dans un environnement Windows, bureautique (excel, word...), et sur les différentes applications. Le périmètre de la mission, concerne...

 TECHNICIEN HOTLINE (H/F)

A ce titre, vous effectuez le support utilisateurs niveau 1 dans un environnement Windows, bureautique (excel, word...), et sur les différentes applications. Cette mission, basée à Lorient, est à...

 ADMINISTRATEUR RESEAUX ET SECURITE (H/F)

A ce titre, vous travaillez en étroite collaboration avec l?ensemble de l?équipe Production informatique (administration, exploitation, support), les architectes des infrastructures et le Responsable...

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

TechDays 2012 : développeurs et projets en avant

1 2 3 4 5   
Les blogs de la rédaction
Christophe Bardy

Virtual Bytes

Is HP Public Cloud using GlusterFS as its technology for block storage ?

According to information obtained by LeMagIT, HP will unveil a block storage…

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…

Click Here