Powercli ile VM Datastore boş alan kontrollü snapshot alma

Snapshot datastore’da yer kaplayan bir sanallaştırma teknolojidisir. Snapshotlar çok hızlı disk alanı kaplayabilirler. En iyisi snapshot almadan önce datastore’da boş alan kontrolü yapmaktır. Tavsiye edilen datastore doluluk oranı genelde %15 civarıdır, ancak bu oran size kalmıştır. Ben genelde %10 civarı bir buffer alan bırakırım.

Aşağıdaki powercli scripti, $vm ile tanımlanan sanal sunucunun bağlı bulunduğu datastore alanını kontrol ederek, bu datastore’da %10’dan daha fazla boş alan varsa snasphot alır. Eğer yoksa konsolda uyarı mesajı verir.

Connect-viserver vcenter.kolukisa.net

ForEach ($vm in (get-datastore -VM $vm) | ForEach {$_.VM}) {

$vm = get-vm test

$treshold = “{0:n2}” -f 10

$dsfreespace = get-datastore -VM $vm | select-object @{N=”DSFreespace”; E={[math]::Round(($_.FreeSpaceGB)/($_.CapacityGB)*100,2)}} | Select-Object -ExpandProperty DSFreespace

if (($dsfreespace -gt $treshold)) {new-snapshot -vm $vm -name test123} else {

Write-Host “Sanal sunucunun Datastore’unda %10’dan az yer olduğu için snapshot alınamaz” }

}

Kendi vcenterınız için vcenter.kolukisa.local’i vcenter sunucunuzun fqdn yada ip adresi ile değiştirin.

Scripti çalıştırmak istediğiniz sanal sunucu adı örnekte test olarak geçiyor. Boşluk ve karakterlerden oluşan bir isme sahip sunucunuz varsa “” arasına adını yazınız.

%10’luk treshold’u değiştirmek isterseniz $treshold = “{0:n2}” -f 10 satırındaki 10’u başka bir sayıyla değiştirin. %15 için 15 yazmanız yeterli.

Hata mesajını ise çift tırnak arasında kalması koşuluyla istediğiniz gibi modifiye edebilirsiniz.

Saygılarımla

Powercli ile tüm ESXi’lara toplu Portgroup ekleme

Öncelikle Herkese merhaba,

Uzun bir aradan sonra tekrar yazılarımı yayınlamaya başladım. Bu nedenle gerçekten çok mutluyum. Bundan sonra sanallaştırma ağırlıklı olarak kolukisa.net bloğuma devam edeceğim. Bu Microsoft ve Storage tarafında hiç içerik olmayacağı anlamına gelmiyor. Fakat yeni konsept Sanallaştırma olacağı, sadece çok gerekli ve ince gördüğüm noktalarda Microsoft ve Storage içeriğine yer vermeyi planlıyorum. Umarım bu durumdan siz de memnun kalırsınız.

vSphere Standard Switch, varsayılan olarak her vSphere ESX/ESXi sunucuda gelen dahili sanal switchtir. Tüm vlan bilgileri (yani port gruplar) ve özellikleri host üzerinde saklanır ve merkezi değildir. Bunun anlamı, ESXi01.kolukisa.net isimli bir ESXi serverım varsa ve ben bunda örneğin Vlan_10_Server isimli bir port grup/VLAN eklediysem bu port grup diğer ESXi sunucularımda kendi kendine oluşmayacak demektir.

Zaten bunu gerçekleştiren şey vSphere Distributed Virtual sWitch’tir ve vSphere Enterprise Plus lisanslama seviyesinde gelmektedir.

Peki benim çok sayıda ESXi hostum varsa, oluşturacağım vlan’ları yani port grupları tek tek mi sunuculara ekleyeceğim. Normalde evet, ama bu işi sadece birkaç saniyede powercli ile çözebiliriz.

Aşağıda ESXi standard port group oluşturma komutu birkaç örnekle yer almaktadır.

Öncelikle powercli’a ihtiyacınız var. Powercli’a https://my.vmware.com’dan indirebilirsiniz (ücretsiz üyelik gerektirir). Aşağıda linki paylaşıyorum ama zaman içinde kaybolabilir, siz nasıl indireceğinizi zaten biliyorsunuz 🙂

Powercli 6.5 : https://my.vmware.com/web/vmware/details?downloadGroup=PCLI650R1&productId=614

Powercli 32 bit ya da 64 bit’i kuruyoruz ve powercli’ı açıyouz:

Connect-VIServer esxi01.kolukisa.net komutunu çalıştırıyorum.

Aşağıdaki gibi sunucu ve login bilgileri gelecektir :

Name Port User

—- —- —-

Esxi01.kolukisa.net 443 kolukisaozgur

Siz esxi01.ko…… yerine vCenter sunucunuzun adını yada ip adresini girmelisiniz. Login olmak için kullanıcı adı/ şifre ekranı gelebilir.

Not: Eğer powercli’ı çalıştırdığınız PC’de domain oturumu açmışsanız ve bu hesap vCenter’da yetkili ise sizden ek login bilgisi girmeniz istenmez.

Şimdi gelelim VLAN eklemeye

Eğer bir cluster’daki tüm hostlara Vlan ekleyecekseniz, gireceğiniz komut aşağıdaki gibi olmalıdır ;

get-cluster “TestServers” | Get-VMHost | Get-VirtualSwitch -Name “vSwitch0” | New-VirtualPortGroup -Name “VLAN_100” -VLanId 100

Komutu kısaca açıklayım ;

· “TestServers” Vlan ekleyeceğim hostların blunduğu cluster’ın adı, siz kendi cluster adınızı yazmalısınız.

· “vSwitch0” vlan’ın ekleneceği switch’in adı. Unutmayın ki tüm sunucularınızın network konfigürasyonları aynı olmalı ki, vlan doğru vswitch’te oluşturulsun. Eğer eklenen vlan, farklı bir vsiwtch’e bağlı Ethernet kartlarına sürülmüş ise vlan’ı yanlış Ethernetlere eklenmiş olacaktır.

· “Vlan_100” Vlan’ın adı. Siz istediğiniz adı verin. Ben Vlan_100 verdim.

· “-VlanId 100” eklediğiniz Vlan’ın vlan id’si. ID ne ise o olmalıdır.

Network uzmanınızdan zaten konu hakkında doğru bilgileri, id’leri aldıktan sonra bu operasyonu yapacağınız için ek açıklama yapmaya gerek duymuyorum. Sorularnız için makalenin altındaki yorum kısmından yorum bırakırsanız cevaplarım.

Sadece tek bir ESxi Host’a Vlan ekleyecekseniz, gireceğiniz komut aşağıdaki gibi olmalıdır ;

get-vmhost “esxi01.kolukisa.net” | Get-VirtualSwitch -Name “vSwitch0” | New-VirtualPortGroup -Name “Vlan_100” -VLanId 100

Yukarıdaki komuttan farkı, bu komut sadece belli bir host’a vlan eklemek için. Dolayısıyla get-vmhost’tan sonraki alana kendi ESXi serverınızın ip adresi yada dns adını yazın. Diğer parametreler aynıdır.

Bu makalemin sonuna geldim. Powercli ile sanal ortamı yönetmek konusunda daha pek çok yazı olacak. Diğer vNetwork yönetim konuları için yazılarımı takip etmeye devam ediniz.

Mutlu günler dilerim.

Özgür KOLUKISA

ESXi sunucuya static route girmek

Bazen IT çalışma ortamımızda yaptığımız değişiklikler ve çalışmalar nedeniyle, yapımız karmaşıklaşır ve standart yapılandırmanın dışına çıkmamız gerekir. Örneğin ESXi serverlarımızı farklı networklere açmak yada bu networklerden erişilebilmesi için static route girmek gibi.Normalde ihtiyaç duymayacağımız bu işlemi bu makalede basitçe anlatmaya çalıştım.

Öncelikle static route oluşturacağımız ESXi host’a ssh ile bağlanıyoruz. Varsayılan olarak kapalı olan ssh ve ESXi shell’i açmanız gerekmektedir.

Bunun için ;

vSphere client ile vCenter sunucunuza yada Stand alone çalışan ESXi host’a bağlanın.

Ardından Sunucunuzu seçtikten sonra -> Configuration -> Software -> Security Profile yolundan Services -> Properties’i tıklayın

Not: Eğer vSphere Web Client ile ESXi sunucunuza ya da vCenter’a bağlanacaksanız, Sunucunuzu seçtikten sonra -> Configure-> System -> Security Profile yolundan Services -> Edit’i seçmelisiniz.

Service Properties’ten SSH’ı seçip Options’a tıklayın.

Öncelikle Start komutunu verin ve servisi başlatın. Daha sonra da SSH ile bağlanacaksanız “Start automatically if any…” seçeneğini de işaretleyip tekrar OK’leyin.

Aynı işlemi ESXi Shell içinde yapın.

Daha sonra ESXi serverınıza putty yada SecureCrt benzeri bir uygulama ile root kullanıcısıyla sunucuya login olunuz.

Şimdi statik route girelim :

esxcli network ip route ipv4 add –gateway 172.16.1.254 –network 172.17.1.0/16

Aslında komut oldukça basit. 172.16.1.254 adresini gateway olarak kullanarak hedef 172.17.1.0/16 networküne git.

Elbette gateway ve hedef network bilgileri önceden network uzmanınız tarafından size bildirilmiş olmalıdır.

Konu hakında sorularınız için alttaki yorum modülünü kullanabilirsiniz.

Mutlu günler dilerim.

Özgür KOLUKISA

VM Bazlı TPS Kapatmak

ESX ve ESXi  sunucularda uzun süredir kullanılmakta olan TPS (Transparent Page Sharing), bir sanal makinenin kendisine ayrılmış olan bellekteki bellek sayfalarının, eğer aynısı başka bir sanal makinede de  var ise, kendi belleğindeki bu sayfaları diğer vm’le paylaşarak bellek tasarrufu sağlayıp,sunucu yükünü azaltmaya yönelik bir bellek yönetim teknolojisidir.

Peki bu ne anlama geliyor, bir örnekle açıklayım. Bir Esxi sunucusu üzerinde iki tane aynı versiyon Windows sunucu var ise bu sunucuların bellek sayfalarının bir kısmının aynı olması kaçınılmazdır, bu nedenle diyelim ki VM-A belleğindeki sayfaları VM-B ile paylaşabilir ve bunun yönetimi Host tarafından sağlanır.
“VM Bazlı TPS Kapatmak” yazısını okumaya devam et

Vmware migration hatası ve çözümü

 

Bu sabah bir sanal sunucuyu farklı bir datastore’a migrate etmeye çalışırken ne ile karşılaşsam beğenirsiniz?

Aldığım hatada /var/log/vmware/journal/ altında 1424160050.72 adlı dosyanın yazılamadığı çünkü aygıtta boş alan kalmadığı belirtiliyordu. Elbette “Vmware migration hatası ve çözümü” yazısını okumaya devam et