Script de migração de VMware Distributed Porgroup para Nutanix Prism Element

Fala rapaziada !

Hoje nosso post de hoje será sobre um script que me aventurei a fazer com a intenção de evitar a fadiga.

O cenário para utilização deste script é diversificado, podendo ser ajustado para implementações/migrações de ambiente VMware para AHV e operação do dia a dia quando se trata de criação de Networks no Nutanix

Requerimentos para funcionamento do script:

  • VMware Powershell 7
  • Nutanix cmdlets para AOS 6 (Não testei em alguma versão do AOS 5.x )

Vamos ver a composição do script:

#Carrega os módulos de Nutanix cmdlets
if ([string]::IsNullOrEmpty($(Get-PSSnapin -Name NutanixCmdletsPSSnapin -Registered -ErrorAction SilentlyContinue))) {if (Test-Path "C:\Program Files (x86)\Nutanix Inc\NutanixCmdlets\powershell\import_modules\ImportModules.PS1") {

. "C:\Program Files (x86)\Nutanix Inc\NutanixCmdlets\powershell\import_modules\ImportModules.PS1"

} else {

Write-Error "Could not load NutanixCmdletsPSSnapin"

}

} else {

if ([string]::IsNullOrEmpty($(Get-PSSnapin -Name NutanixCmdletsPSSnapin -ErrorAction SilentlyContinue))) {

Add-PSSnapin NutanixCmdletsPSSnapin

}

}

#Carrega os módulos de VMware powercli 
Import-module VMware.PowerCLI


#Declara as variáveis do VMware
$vCenter = "vc-server"
$usernamevmw = "administrator@vsphere.local"
$passwordvmw = "vc-password"
$file = "C:\Users\silwm\Downloads\teste-vlan.csv"


#Conecta ao vcenter
Connect-VIServer -Server $vCenter -User $usernamevmw -Password $passwordvmw -force


#Exporta as informações de portgroup e vlanid
$report= foreach ( $vds in get-vdswitch | Select-Object -ExpandProperty Name ) {

foreach ( $vdsPG in $vds ){ 
 Get-VirtualSwitch -name $vds | Get-VirtualPortGroup | `Select Name,VirtualSwitch, @{N = 'VLANId'; E={$_. Extensiondata.Config.DefaultPortCOnfig.Vlan.VlanId}}
 
}
}
echo $report | Where-Object {$_.Name -like "*VLAN*"} | Export-Csv C:\Users\silwm\Downloads\teste-vlan.csv
(Get-Content $file) | Foreach-Object {$_ -replace '"', ''}|Out-File $file


#Declara as variáveis do Nutanix
$clusterntx = "PE-clusterIP"
$usernamentx = "PE-admin"
$passwordntx = "PE-password"

Connect-NutanixCluster -Server $clusterntx  -UserName $usernamentx -Password $passwordntx -AcceptInvalidSSLCerts -Verbose 

$cvs = Import-Csv C:\Users\silwm\Downloads\teste-vlan.csv


foreach ($vlan in $cvs) {

New-NTNXNetwork -Name $vlan.Name -VlanId $vlan.VLANId


}

Get-NTNXNetwork

Os dois blocos iniciais são para a importação dos módulos de cmdlets do VMware e Nutanix. A terceira etapa e mais importante, na minha opinião é a conexão ao vCenter e obtenção das informações de portgroup e vlanid do ambiente VMware, sendo exportado para formato csv e filtrando todo portgroup que contenha a palavra VLAN para filtrar somente os objetos de interesse.. O quarto e último bloco é conectar ao Prism Element e criar os portgroups no cluster Nutanix.

Na minha implementação há somente um VDS e o destino será um Open-vSwitch, mas há espaço para customização e seleção de múltiplos VDS para Open-vSwitch.

Espero que isso possa ajudar os amigos no dia a dia!!

Forte Abraço

Please follow and like us:

Um comentário em “Script de migração de VMware Distributed Porgroup para Nutanix Prism Element”

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *