Script para criar vSwitch iSCSI no VMware ESXi
# Read this post in english
Este script conecta no vCenter Server e cria um vSwitch Standard (vSS) para a utilização de rede iSCSI em três hosts VMware ESXi. São utilizadas duas interfaces de rede e três VMKernels (iSCSI01, iSCSI02 e Storage Heartbeat). Para executar o script é necessário o VMware PowerCLI, hostname ou IP e credenciais de acesso de administrador do vCenter Server, hostname ou IP dos servidores ESXi, nomenclatura para o vSwitch, VMKernels e IPs da rede iSCSI. É necessário também definir quais serão as interfaces de rede atribuídas a este vSwitch, além da possibilidade de definir o MTU. O Script também ativa uma interface de rede para um VMKernel, enquanto a outra interface fica sem uso.
Abaixo alguns detalhes do script:
########################## ### Configuração Geral ### ########################## $nome_vcenter = "rc-vc01.rc.local" $nome_vswitch = "iSCSI" $nome_portgroup1 = "iSCSI01" $nome_portgroup2 = "iSCSI02" $nome_portgroup3 = "StorageHeartbeat" $nome_nic1 = "vmnic2" $nome_nic2 = "vmnic3" $valor_mtu = "9000" $mascara_rede = "255.255.255.0"
################################################################### ########################## VMware ESXi 1 ########################## ################################################################### $nome_esxi1 = "rc-esxi01.rc.local" $ip_portgroup1_esxi1 = "10.0.0.11" $ip_portgroup2_esxi1 = "10.0.0.21" $ip_portgroup3_esxi1 = "10.0.0.31" # Conecta no vCenter Server Connect-VIServer $nome_vcenter # Cria o vSwitch nos hosts do vCenter Server Foreach ($vmhost in (get-vmhost)) { New-VirtualSwitch -VMHost $vmhost -Name $nome_vswitch -Nic $nome_nic1,$nome_nic2 -MTU $valor_mtu } ################################################################### ########################## VMware ESXi 1 ########################## ################################################################### New-VMHostNetworkAdapter -VMHost $nome_esxi1 -PortGroup $nome_portgroup1 -VirtualSwitch $nome_vswitch -IP $ip_portgroup1_esxi1 -SubnetMask $mascara_rede -FaultToleranceLoggingEnabled:$false -ManagementTrafficEnabled:$false -VsanTrafficEnabled:$false -VMotionEnabled:$false -Mtu $valor_mtu New-VMHostNetworkAdapter -VMHost $nome_esxi1 -PortGroup $nome_portgroup2 -VirtualSwitch $nome_vswitch -IP $ip_portgroup2_esxi1 -SubnetMask $mascara_rede -FaultToleranceLoggingEnabled:$false -ManagementTrafficEnabled:$false -VsanTrafficEnabled:$false -VMotionEnabled:$false -Mtu $valor_mtu New-VMHostNetworkAdapter -VMHost $nome_esxi1 -PortGroup $nome_portgroup3 -VirtualSwitch $nome_vswitch -IP $ip_portgroup3_esxi1 -SubnetMask $mascara_rede -FaultToleranceLoggingEnabled:$false -ManagementTrafficEnabled:$false -VsanTrafficEnabled:$false -VMotionEnabled:$false -Mtu $valor_mtu Get-VirtualPortGroup -VMHost $nome_esxi1 -Name $nome_portgroup1 | Get-NicTeamingPolicy | Set-NicTeamingPolicy -MakeNicActive $nome_nic1 -MakeNicUnused $nome_nic2 Get-VirtualPortGroup -VMHost $nome_esxi1 -Name $nome_portgroup2 | Get-NicTeamingPolicy | Set-NicTeamingPolicy -MakeNicActive $nome_nic2 -MakeNicUnused $nome_nic1
É possível editar o script para utilizar com mais ou menos hosts, interfaces de rede e VMKernels. Fique a vontade para edita-lo de acordo com a sua necessidade.
Download do Script:
Create-vSwitch-iSCSI.ps1
- UPDATE:
- Compatível com VMware ESXi 5.x e 6.x
- O portgroup StorageHeartbeat é necessário apenas para as versões inferiores ao 5.0 do VMware ESXi