Yazı kategorisi: Networking, PowerShell, Vsphere 6

PowerCLI ile Network Yönetimi

Distributed Switch yardımıyla Vmware Vsphere sanallaştırma ortamlarının network yönetimi hem kolaydır hemde çok pratiktir. Ancak biliyorsunuz ki bu özellik sadece Enterprise Plus lisansına sahip olan zümreye hitap etmektedir :).

Fakat PowerCLI scriptleri kullanarak Standart Switch’ in sahip olduğu özellikler sınırında işlemlerimizi merkezi olarak yönetebiliriz. Ayrıca bu sayede hem zaman hem de hata yapma riskini ortadan kaldırabiliriz.

Öncelikle yazımıza Temel PowerCLI komutlarını ile başlayalım. ESXi hostu üzerinde vSwitch Oluşturmak için aşağıdaki komutu kullanıyoruz.

New-VirtualSwitch  -Name vSwitch1 -Nic vmnic3

powercli-network (1)

Oluşturmuş olduğumuz bu Vswitch üzerinde fark etmişinizdir ki port grup yok. Oluşturmak için aşağıdaki komutu kullanıyoruz.

New-VirtualPortGroup -VirtualSwitch vSwitch1  -Name VMNetwork

powercli-network (2)

vmKernel Port Grup oluşturmak için aşağıdaki komutu kullanıyoruz.

New-VMHostNetworkAdapter -VirtualSwitch vSwitch1 -PortGroup VMotion -IP 15.15.15.15 -SubnetMask 255.255.255.0 -VMotionEnabled $true

powercli-network (3)

Isınma turlarından sonra işi biraz daha genişletiyoruz. Cluster içerisindeki her bir ESXi sunucusuna Virtual Switch ve farklı VLAN ‘larda port grup oluşturmak için aşağıdaki scripti kullanabilirsiniz.

Foreach ($vmhost in (get-vmhost))
{
$vswitchLab =  New-VirtualSwitch -VMHost $vmhost -Name vswitchLab -Nic vmnic4
New-VirtualPortGroup -VirtualSwitch $vswitchLab -Name Vlan10-Student -VlanID 10
New-VirtualPortGroup -VirtualSwitch $vswitchLab -Name Vlan20-Staff -VlanID 20
New-VirtualPortGroup -VirtualSwitch $vswitchLab -Name Vlan30-Admin -VlanID 30
}

powercli-network (4)

Cluster ortamına yeni bir sunucu dahil edildiğinde işin en zor kısımlarından biriside Network ayarlarının yapılmasıdır. Çünkü unuttuğumuz veya hata yaptığımız bir durumda HA veya vmotion işlemi sonrası VM’ ler ulaşılamaz duruma gelecektir.

Bu yazımızda ESXi6-01 makinasında bulunan Virtual Machine network yapılandırmasını ESXi6-02 nolu sunucumuza olduğu gibi kopyalayacağız.

$OLDHost = Get-VMHost -Name esxi6-01.get-itlabs.local
$NEWHost = Get-VMHost -Name esxi6-02.get-itlabs.local
$OLDHost |Get-VirtualSwitch |Foreach {
If (($NEWHost | Get-VirtualSwitch -Name $_.Name -ErrorAction SilentlyContinue)-eq $null){
$NewSwitch = $NEWHost | New-VirtualSwitch -Name $_.Name -Mtu $_.Mtu
$vSwitch = $_
}

   $_ |Get-VirtualPortGroup |Foreach {
If (($NEWHost |Get-VirtualPortGroup -Name $_.Name -ErrorAction SilentlyContinue)-eq $null){
$NewPortGroup = $NEWHost | Get-VirtualSwitch -Name $vSwitch |New-VirtualPortGroup            -Name $_.Name -VLanId $_.VlanID
}
}
}

Script işini bitirdiğinde ESX6-02 nolu sunucumuzda Switchlerin ve Port grupların oluştuğunu kontrol edebilirsiniz.

powercli-network (6)

Script, “Kontrolsüz güç güç değildir” ilkesini baz aldığından dolayı Fiziksel Adaptörleri ve VMKernel Netork IP yapılandırmasını yapmamaktadır. Fakat sizin sunucu modeliniz ve ethernet kartalarınız aynı ise “-Nic $NewSwitch” komutunu ekleyebilirsiniz. Ayrıca scriptin arka planda neler yapıyor merak ediyorsanız “ErrorAction SilentlyContinue” komutunu silebilirsiniz.

Fiziksel sunucularımızın network konfigürasyon bilgilerini CSV formatında export edebiliriz.

Get-VMHostNetworkAdapter | select VMhost, Name, IP, SubnetMask, Mac, PortGroupName, vMotionEnabled,ManagementTrafficEnabled,FaultToleranceLoggingEnabled, mtu, BitRatePerSec | Export-Csv C:\networkbilgi.csv

Faydalı olması dileğimle….

Yazar:

#IT Manager #Bilişimsever #vExpert #Baba

Bir Cevap Yazın

Aşağıya bilgilerinizi girin veya oturum açmak için bir simgeye tıklayın:

WordPress.com Logosu

WordPress.com hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Facebook fotoğrafı

Facebook hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Connecting to %s