Posts Tagged PowerCLI

Mettre en place des règles d’affinité dans un cluster DRS sous VMware vSphere

Les règles d’affinité permettent de définir que certaines machines virtuelles doivent être placées sur le même hôte ESX (affinity) ou au contraire sur des hôtes distincts (anti-affinity).

En général, on présume que les règles d’affinité s’établissent pour améliorer les performances et que les règles d’anti-affinité privilégient au contraire la haute disponibilité. En effet, on n’agira pas de la même manière selon que l’on doit sécuriser un cluster Exchange ou donner le maximum de proximité – et donc de performances – à une base de données et son serveur applicatif.

Pour définir une règle sur un cluster DRS, il suffit de cliquer droit sur le cluster et sélectionner Edit Settings…

La fenêtre qui apparaît propose ensuite de régler les paramètres du cluster, que ce soit au niveau de VMware HA ou de VMware DRS. Ici, on s’astreindra à sélectionner le menu Rules et à cliquer sur le bouton Add… pour ajouter une nouvelle règle.

Après avoir donné un nom à la nouvelle règle, il suffit juste de sélectionner des machines virtuelles du cluster (toujours via un bouton Add…) et de sélectionner le type de règle qui nous intéresse :

  • Separate Virtual Machines : impose aux machines virtuelles sélectionnées de s’exécuter sur des hôtes distincts
  • Keep Virtual Machines Together : impose aux machines virtuelles sélectionnées de rester sur le même hôte ESX

Sachez également qu’une règle d’anti-affinité n’autorise que deux machines virtuelles à la fois. C’est dommage mais c’est ainsi pour le moment…

Une fois vos modifications effectuées, vous les retrouverez dans le menu Rule. En décochant la case, vous pourrez à tout moment désactiver cette règle sans la détruire.

Le bouton Details vous permettra d’obtenir un résumé de votre règle et déterminer si d’autres règles rentrent en conflit avec votre nouvelle règle.

Le vCenter indiquera enfin par une tâche récente que la reconfiguration du cluster a bien été prise en compte.

Bien que les règles d’affinité soient très facilement compréhensibles, n’oubliez jamais que le niveau d’automation de votre cluster DRS agira également sur vos réglages. Si vous optez pour une automation Manual ou Partially automated, votre cluster ne prendra pas de décision à votre place. En ce sens, il ne pourra qu’établir des recommandations suivant vos règles.

Par exemple, si vous sélectionnez trois machines qui doivent rester ensemble et qu’une de ces trois machines se trouve sur un autre hôte ESX, vous devrez manuellement appliquer la recommandation.

Dans l’onglet DRS de votre cluster, vous aurez peut-être remarqué qu’il existe trois vues : Recommandations, Faults et History. La première vous permet de visualiser et de valider les recommandations le cas échéant. La deuxième vous permet de rapidement déterminer les problèmes sur vos règles. Le vue History permet quant à elle de retracer l’évolution des opérations.

Changez votre niveau d’automation à Fully automated si vous voulez que vos règles s’exécutent immédiatement, et ce sans intervention supplémentaire.

En outre, utiliser le cmdlet Powershell Get-DrsRule, vous permettra également connaître à tout moment le détail des règles existantes (activées ou pas) qui s’appliquent sur un cluster donné (notez l’astérisque qui sert de wildcard…).

[vSphere PowerCLI] C:> Get-DrsRule -Name "*" -Cluster "Cluster Prod"

Name            Enabled KeepTogether VMIDs
----            ------- ------------ -----
Serveur web     True    True         {VirtualMachine-vm-789, VirtualMachine-vm-...

, , , ,

Laisser un commentaire

Utiliser vSphere PowerCLI pour interagir sur une machine virtuelle

Voici la liste non exhaustive des opérations que vous pourrez réaliser en utilisant vSphere PowerCLI pour interagir sur une machine virtuelle :

[table id=22 /]

Démarrer une machine virtuelle

On utilise la commande Start-VM <nom_vm>

[vSphere PowerCLI] C:> start-vm SRV-TEST
Name     PowerState Num CPUs Memory (MB)
----     ---------- -------- -----------
SRV-TEST PoweredOn  1        512

Arrêter une machine virtuelle

On utilise la commande Shutdown-VMGuest <nom_vm>

[vSphere PowerCLI] C:> shutdown-vmguest SRV-TEST
State          IPAddress            OSFullName
-----          ---------            ----------
Running        {192.168.99.200, ... Microsoft Windows Server 2003, Enterprise E...

Forcer l’extinction d’une machine virtuelle

On utilise la commande Stop-VM <nom_vm> qui nécessite une confirmation manuelle

[vSphere PowerCLI] C:> stop-vm SRV-TEST

Confirmer
Êtes-vous sûr de vouloir effectuer cette action ?
Opération « Stop-VM » en cours sur la cible « VM 'SRV-TEST' ».
O Oui  T Oui pour tout  N Non  U Non pour tout  S Suspendre  ?
Aide (la valeur par défaut est « O ») : O

Name        PowerState Num CPUs Memory (MB)
----        ---------- -------- -----------
SRV-TEST    PoweredOff 1        512

Je vous invite à suivre cet article qui sera régulièrement mis à jour.

, ,

Laisser un commentaire

Utiliser vSphere PowerCLI pour interagir sur le vCenter

Voici une liste non exhaustive des opérations que vous pourrez réaliser en utilisant vSphere PowerCLI pour interagir sur le vCenter :

[table id=21 /]

Connexion au vCenter

Connect-VIServer -server <server> -user <user> -password <password> -port <port>

L’option -port n’est utile que si le serveur n’écoute pas sur le port par défaut (443)

Exemple de connexion réussie à un vCenter :

[vSphere PowerCLI] C:> Connect-VIServer -server vcenter.xitim.com
-user vcenter -password vCenter@123

Name                                 Port                     User
----                                 ----                     ----
vcenter.xitim.com                    443                      vcenter

Récupérer la liste des hôtes ESX

[vSphere PowerCLI] C:> Get-VMHost
Name                   State           Id
----                   -----           --
srv-esx1.xitim.com.... Connected       HostSys...
srv-esx2.xitim.com.... Connected       HostSys...
srv-esx3.xitim.com.... Connected       HostSys...

Récupérer la liste des machines virtuelles

[vSphere PowerCLI] C:> Get-VM

Name           PowerState Num CPUs Memory (MB)
----           ---------- -------- -----------
srv-sql        PoweredOn  1        1536
srv-lamp       PoweredOn  1        512
srv-windows    PoweredOn  1        512
srv-mail       PoweredOn  1        768

Récupérer les vSwitchs des hôtes ESX

[vSphere PowerCLI] C:> Get-VMHost | Get-VirtualSwitch

Name       Num Ports  Num Ports  Mtu   Key

Available
----       ---------  ---------- ---   ---
vSwitch0   32         17         9000  key-vim.host.VirtualSwitch-...
vSwitch1   64         59         9000  key-vim.host.VirtualSwitch-...

Récupérer les adaptateurs réseau des machines virtuelles

[vSphere PowerCLI] C:> Get-VM | Get-NetworkAdapter
MacAddress       : 00:50:56:b0:6a:97
WakeOnLanEnabled : True
NetworkName      : externe0
Type             : Flexible
ConnectionState  : VMware.VimAutomation.Client20.ConnectInfoImpl
Id               : VirtualMachine-208/4000
Name             : Network adapter 1

MacAddress       : 00:50:56:94:10:e1
WakeOnLanEnabled : True
NetworkName      : externe0
Type             : Flexible
ConnectionState  : VMware.VimAutomation.Client20.ConnectInfoImpl
Id               : VirtualMachine-176/4000
Name             : Network adapter 1

Je vous invite à régulièrement consulter cette page pour connaître les derniers ajouts de commandes !

, , ,

Laisser un commentaire