| Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente |
| utilisation_d_hyper-v_en_ligne_de_commande [2020/11/12 15:05] – [Gérer les commutateurs virtuel] superadmin | utilisation_d_hyper-v_en_ligne_de_commande [2024/02/15 18:46] (Version actuelle) – superadmin |
|---|
| Hyper-V est un hyperviseur de niveaux 1 et 2, disponible sous Windows. Il peut être administré soit via une interface graphique avec les composants MMC integrés à Windows, soit via la ligne de commande avec PowerShell. Ce tutoriel présente les principales commandes permettant de configurer et de gérer des machines virtuelles Hyper-V, ainsi que les administrer, uniquement à l'aide de PowerShell. | Hyper-V est un hyperviseur de niveaux 1 et 2, disponible sous Windows. Il peut être administré soit via une interface graphique avec les composants MMC integrés à Windows, soit via la ligne de commande avec PowerShell. Ce tutoriel présente les principales commandes permettant de configurer et de gérer des machines virtuelles Hyper-V, ainsi que les administrer, uniquement à l'aide de PowerShell. |
| |
| ===== Gérer les commutateurs virtuel ===== | ===== Gérer les commutateurs virtuels ===== |
| |
| Un commutateur virtuel permet aux machines virtuelles d'avoir accès au réseau de la machine physique, ou de créer un réseau interne dédié aux VM et isolé de l’extérieur. | Un commutateur virtuel permet aux machines virtuelles d'avoir accès au réseau de la machine physique, ou de créer un réseau interne dédié aux VM et isolé de l’extérieur. |
| |
| <code>New-VMSwitch -name Bridge -NetAdapterName Ethernet0 -AllowManagementOS $true</code> | <code>New-VMSwitch -name Bridge -NetAdapterName Ethernet0 -AllowManagementOS $true</code> |
| |
| * Pour créer un commutateur de type NAT : | |
| |
| <code> New-VMSwitch -SwitchName SWNAT -SwitchType NAT -NatSubnet 192.168.1.0/24</code> | |
| |
| * Pour créer un commutateur interne (réseau isolé communicant avec l'hyperviseur) : | * Pour créer un commutateur interne (réseau isolé communicant avec l'hyperviseur) : |
| * ''-Name'' : Désigne le nom du commutateur virtuel à créer | * ''-Name'' : Désigne le nom du commutateur virtuel à créer |
| * ''-NetAdapterName'' : Nom de l'adaptateur réseau physique à lier au commutateur externe (voir la première commande pour les lister) | * ''-NetAdapterName'' : Nom de l'adaptateur réseau physique à lier au commutateur externe (voir la première commande pour les lister) |
| * ''-AllowManagementOS'' : Autoriser ou non la liaison de la carte réseau physique de l'hyperviseur au switch virtuel (par les VM) | * ''-AllowManagementOS'' : Autoriser l'utilisation de la carte réseau par l'hyperviseur |
| * ''-SwitchType'' : Type de commutateur virtuel (''external'', ''internal'', ou ''private'') | * ''-SwitchType'' : Type de commutateur virtuel (''external'', ''internal'', ou ''private'') |
| * ''-NatSubnet'' : Permet de préciser le réseau privé à Natter (pour les switchs virtuels de type NAT) | * ''-NatSubnet'' : Permet de préciser le réseau privé à Natter (pour les switchs virtuels de type NAT) |
| <code>Remove-VMSwitch -Name External </code> | <code>Remove-VMSwitch -Name External </code> |
| |
| | ==== Commutateurs virtuels de type NAT ==== |
| | |
| | Les commutateurs virtuels de type Interne peuvent utiliser le mécanisme NAT. Celui-ci sert à partager l'adresse IP de l'hyperviseur avec les machines d'un même réseau privé. |
| | |
| | * Pour créer un commutateur virtuel de type NAT (créer un switch interne) : |
| | |
| | <code> New-VMSwitch -SwitchName SWNAT -SwitchType Internal</code> |
| | |
| | * Puis créer la passerelle NAT (l'adresse IP externe partagée) |
| | |
| | <code>New-NetIPAddress -IPAddress 192.168.3.1 -PrefixLength 24 -InterfaceAlias "vEthernet (SWNAT)"</code> |
| | |
| | * Et configurer le réseau NAT avec : |
| | |
| | <code>New-NetNat -Name NAT01 -InternalIPInterfaceAddressPrefix 192.168.3.0/24</code> |
| | |
| | * Pour finir, supprimer le NAT avec : |
| | |
| | <code>remove-netnat -Name NAT01</code> |
| ==== VLANs ==== | ==== VLANs ==== |
| |
| |
| <code>Set-VMNetworkAdapterVlan -VMName NanoServer01 -Untagged</code> | <code>Set-VMNetworkAdapterVlan -VMName NanoServer01 -Untagged</code> |
| | |
| | :!: Lorsqu'une machine virtuelle possède plusieurs cartes réseau, il faut utiliser l'option ''-VMNetworkAdapter'' pour spécifier celle que l'on souhaite configurer. |
| | |
| | ==== Switch Embedded Teaming (SET) ==== |
| | |
| | Le SET permet d’agréger jusqu'a 8 cartes réseau physiques en un seul switch virtuel afin de tolérer d'une d'entre elles ou de faire de l'équilibrage de charge entre plusieurs adaptateurs. Les adaptateurs à agréger ne peuvent pas être associé à d'autre switchs virtuels. Les switchs SET se configurent de la même façon que les switch virtuels mais à quelques détails près. |
| | |
| | * Créer un switch SET : |
| | |
| | <code>New-VMSwitch -Name TEAMSET -NetAdapterName "NIC 1","NIC 2" -EnableEmbeddedTeaming $true</code> |
| | |
| | Comme on peut le voir ci-dessus, on indique les carte réseau à agréger avec l'option ''-NetAdapterName'' suivie du nom de chacune d'elles séparées par une virgule. |
| | |
| | * Activer l'équilibrage de charge (mode dynamique) : |
| | |
| | <code>Set-VMSwitchTeam -Name TEAMSET -LoadBalacingAlgorithm Dynamic</code> |
| | |
| | * Supprimer un switch SET : |
| | |
| | <code>Remove-VMSwitch -Name TEAMSET</code> |
| |
| ---- | ---- |
| <code>Move-VM -Name "Test VM" -DestinationHost remoteServer</code> | <code>Move-VM -Name "Test VM" -DestinationHost remoteServer</code> |
| |
| | ---- |
| | |
| | ===== Gestion des disques durs virtuels ===== |
| | |
| | * Création d'un disque dur dynamique au format VHDX de 10GB : |
| | |
| | <code>New-vhd -Dynamic -Path E:\VDISKS\Disk01.vhdx -SizeBytes 10GB</code> |
| | |
| | * Même chose avec un disque au format VHD : |
| | |
| | <code>New-vhd -Dynamic -Path E:\VDISKS\Disk02.vhd -SizeBytes 10GB</code> |
| | |
| | Remplacer l'option ''-Dynamic'' par ''-Fixed'' pour obtenir un disque dur virtuel à taille fixe. |
| | |
| | * Convertir un disque VHD en VHDX : |
| | |
| | <code>Convert-VHD -Path c:\test\testvhd.vhd -DestinationPath c:\test\testvhdx.vhdx</code> |
| | |
| | * Entendre un disque virtuel à 50GB (pour avoir une plus de place dessus) : |
| | |
| | <code>Resize-VHD -Path c:\DISKS\Disk01.vhdx -SizeBytes 50GB</code> |
| | |
| | Inverser les chemins des disques sources et destination pour convertir du VHDX en VHD. |
| | |
| | * Lister les disques attachés à une VM : |
| | |
| | <code>Get-VMHardDiskDrive -VMName NanoServer01</code> |
| | |
| | * Attacher un disque à une VM (avec un contrôleur SCSI) : |
| | |
| | <code>Add-VMHardDiskDrive -VM NanoServer01 -ControllerType SCSI -Path C:\Disks\disk03.vhdx</code> |
| | |
| | * Détacher un disque d'une VM : |
| | |
| | <code>Remove-VMHardDiskDrive -VMName NanoServer01 -ControllerType SCSI -ControllerNumber 1 -ControllerLocation 0</code> |
| | |
| | :!: Bien faire attention au contrôleur IDE/SCSI où le disque est attaché pour ne pas détacher le mauvais. |
| ---- | ---- |
| |
| |
| <code>Remove-VMSnapshot -VMName NanoServer01 -Name Snapshot-test</code> | <code>Remove-VMSnapshot -VMName NanoServer01 -Name Snapshot-test</code> |
| | |
| ===== Réglages supplémentaires ===== | ===== Réglages supplémentaires ===== |
| |