Dans la configuration d’un job VEEAM de machines virtuelles Windows, il est recommandé d’activer l’option “application aware processing” afin de d’avoir un point de sauvegarde consistant. Pendant le guest processing, VEEAM B&R déploie un processus dans le Guest OS de la VM à sauvegarder. Celui-ci ne s’exécute seulement lors de la sauvegarde puis il est arrêté.
Ce processus peut être déployé à travers le réseau (Network mode) ou les VMware Tools (VIX mode). Une fois en place, des interactions avec le Guest Interaction proxy se créent. Cette communications nécessite quelques configuration au niveau du Guest OS :
- Ouverture de flux Firewall
- Désactivation de l’UAC
Les commandes Powershell permettent de gagner un temps précieux en les appliquant sur toutes les VM Windows qui seront amenées à être sauvegardées :
- Network mode : Si votre Guest interaction Proxy est capable de joindre le Guest OS via le réseau, cette méthode est par défaut.
Cette fonction permet de récupérer l’adresse IP du Guest Interaction Proxy (entrez l’IP du VEEAM si vous n’en avez pas), de tester si celle-ci est correcte. Enfin, les ouvertures Firewall pour le RPC (dynamic range) seront faites.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
function Network { $VEEAM = Read-Host "Enter Guest Interaction Proxy IP " $TESTIP = $VEEAM -match ‘(?<Address>((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?))’ if ($TESTIP -eq "True") { New-NetFirewallRule -DisplayName "VEE-TCP-RPC" -Action Allow -Description "Ouverture Flux Inbound VEEAM - Dynamic RPC" -Direction Inbound -Enabled True -Protocol TCP -LocalPort 49152-65535 -RemoteAddress $VEEAM New-NetFirewallRule -DisplayName "VEE-TCP-RPC" -Action Allow -Description "Ouverture Flux Outbound VEEAM - Dynamic RPC" -Direction Outbound -Enabled True -Protocol TCP -LocalPort 49152-65535 -RemoteAddress $VEEAM Write-Host "Firewall rules has been created for Network Mode"; }else{ Write-Host "IP address is not valid"; } } |
- VIX mode : Si votre Guest interaction Proxy n’est capable de joindre le Guest OS via le réseau, il va automatiquement basculer sur la méthode basée sur les VMware Tools.
Le code est identique à la version au-dessus, à la différence que le RPC n’est pas utilisé.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
function VIX { $VEEAM = Read-Host "Enter VEEAM IP " $TESTIP = $VEEAM -match ‘(?<Address>((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?))’ if ($TESTIP -eq "True") { New-NetFirewallRule -DisplayName "VEE-TCP-135" -Action Allow -Description "Ouverture Flux Inbound VEEAM / loc-srv - Location Service" -Direction Inbound -Enabled True -Protocol TCP -LocalPort 135 -RemoteAddress $VEEAM New-NetFirewallRule -DisplayName "VEE-TCP-137 to 139" -Action Allow -Description "Ouverture Flux Inbound VEEAM / NETBIOS" -Direction Inbound -Enabled True -Protocol TCP -LocalPort 137-139 -RemoteAddress $VEEAM New-NetFirewallRule -DisplayName "VEE-TCP-445" -Action Allow -Description "Ouverture Flux Inbound VEEAM / microsoft-ds SMB TCP" -Direction Inbound -Enabled True -Protocol TCP -LocalPort 445 -RemoteAddress $VEEAM New-NetFirewallRule -DisplayName "VEE-UDP-445" -Action Allow -Description "Ouverture Flux Inbound VEEAM / microsoft-ds SMB UDP" -Direction Inbound -Enabled True -Protocol UDP -LocalPort 445 -RemoteAddress $VEEAM Write-Host "Firewall rules has been created for VIX Mode"; }else{ Write-Host "IP address is not valid"; } } |
- SQL Server Log Shipping : Dans la configuration d’un job VEEAM, il est possible de sauvegarder un VM à la transaction prêt. Ainsi, une ouverture Firewall devrait être ajoutée afin d’autoriser le port TCP 6167.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
function SQL { $VEEAM = Read-Host "Enter VEEAM IP " $TESTIP = $VEEAM -match ‘(?<Address>((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?))’ if ($TESTIP -eq "True") { New-NetFirewallRule -DisplayName "VEE-TCP-6167" -Action Allow -Description "Ouverture Flux Inbound VEEAM - SQL Log Shipping" -Direction Inbound -Enabled True -Protocol TCP -LocalPort 6167 -RemoteAddress $VEEAM Write-Host "Firewall rules has been created for SQL Shipping"; }else{ Write-Host "IP address is not valid"; } } |
- Désactiver l’UAC Windows : Depuis Windows 2012 R2, la désactivation de l’UAC en mode graphique n’est pas suffisante. Il est nécéssaire de changer une clef de registre Windows, le code suivant permet de changer la valeur de l’UAC (si celle-ci est active).
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
function UAC { $UACpath = "REGISTRY::HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Policies\System" $UACKeyName = "EnableLUA" $testuac = Get-ItemProperty -Path $UACpath $UACState=$testuac.$UACKeyName if($UACState -eq "1") { Set-ItemProperty -Path $UACpath -Name $UACKeyName -Value 0 Write-Host "UAC has been disabled"; }else{ Write-Host "Information : UAC is already disabled" -foregroundcolor yellow; } } |