Kategori: Vmware

  • vCenter üzerinde Migrate tuşu pasif görünüyor

    Merhaba,

    Bugün danışmanlığını yaptığımız bir müşteride, bakım çalışmaları sırasında ESXi sunucularının firmware ve ESXi güncellemeleri yapılırken bazı sanal makinelerin ESXi hostları arasında taşınamadığını ve migrate butonunun pasif olduğunu gözlemledik. Kısıtlı bir zamanımız olduğu ve ilgili sanal makineleri kapatmamız mümkün olmadığı için, aşağıda sunacağım çözüm önerisi işimize yaradı.

    Bu sorun genellikle bir sanal makine yedeği alındıktan sonra yedekleme yazılımının vCenter veritabanında gerekli etiketi kaldırmamasından kaynaklanmakta.

    Sorun çözümü için vCenter’a giriş yapın ve ardından ilgili sanal makineye tıklayın.

    Tarayıcınızdaki url adresini kopyalayın. Örnek,

    https://vcenter.hakan.local/ui/#?extensionId=vsphere.core.vm.summary&objectId=urn:vmomi:VirtualMachine:vm-244:321d44-b617-4b32-be19-3445123c5ba&navigator=vsphere.core.viTree.hostsAndClustersView

    Yukarıda görülen örnekten yola çıkarak kalın olarak belirtilen kısmı not alın.

    https://vcenter.hakan.local/mob/?moid=AuthorizationManager&method=enableMethods

    Yukarıdaki adresi kendi vcenter adresinize göre düzenleyin ve administrator@vsphere.local kullanıcısı ile oturum açın.

    Karşınıza yukarıdaki ekran gelecektir.

    İlk bölümde entity alanında MOID yazan kısmı not aldığımız vm-xxx olarak değiştirin.

    İkinci dolduracağımız alana geçelim. Method ksımına “<method>RelocateVM_Task</method>” olacak şekilde dolduralım.

    Invoke Method ile işlemi onaylayın.

    Artık sanal sunucu üzerinde migrate butonu aktif olacak ve istediğiniz gibi vmotion yapabiliyor durumda olacaksınız. Bu makaleye rağmen migrate seçeneği düzelmedi ise, vCenter sunucusunun servislerini restart edebilirsiniz.

    *Bu gibi durumlarda çoğu zaman ilgili makine kapatılmak süratiyle envanterden çıkarılıp, tekrar #VMware sunucuya ekleniyor. Çoğu zaman çözüm oluyor fakat envanterden remove edilmesi durumunda ilgili sanal sunucunun geçmiş task ve performans geçmişi silinmekte. Mümkün olduğunca bu tarz durumlarda sanal makineleri envanterden çıkarmadan çözüm yoluna gitmek daha sağlıklı olacaktır.

  • VMware Sanal Sunucu EVC Seçeneği

    Merhaba,

    vCenter cluster’ımda sanal makine başına EVC modunu etkinleştirmeye çalışırken, EVC modunun olmadığını gördüm.

    Eğer sizde yukarıdaki gibi configure sekmesinin altında EVC seçeneğini göremiyor durumda iseniz, ilgili sanal makinenin hardware seviyesini 14 veya daha üstüne yükselmeniz gerekir.

    İlgili sanal sunucuya sağ tıklayın ve ardından Compatibilty menüsü altından Upgrade VM Compatibility seçeneği ile hardware level yükseltme işlemini yapın.

    Bütün işlem bu kadar. Artık sanal makinenizde EVC modunu ayarlayabilirsiniz.

    Teşekkürler.

    HAKAN

  • Dell Sunucularda SupportAssist Çıktısına Göre Doğru VMware Compatibility Driver Bulma

    Vmware ESXi kurulumlarında veya upgrade çalışmalarında bizler en çok driver ve firmware uyumluluğuna dikkat etmekteyiz.

    Driver ve Firmware uyumluluklarını kontrol ederken VMware Compatibility sitesi üzerinden en doğru driver’ı görmekteyiz. Fakat Qlogic HBA kartını örnek verecek olursak, birden fazla modeli bulunmakta bu kartın. Bu modeller arasında driver’lar değişebilmekte.

    Doğru driverı bulmak için ilgili PCI kartın PCI ID bilgileri ile VMware üzerinde arama yapmalıyız.

    PCI kartların ID’leri ESXi clie ile rahatça bulunmakta. Fakat bu makalede Dell SupportAssist çıktısı üzerinde nasıl PCI ID bulabileceğimizi göstereceğim.

    Hemen sol menüden PCI Devices sekmesine geliyorum ve ilgili PCI kartımı seçiyorum. Alt kısımda görüleceği üzere PCI ID mevcut. Bu PCI ID “VID:DID:SVID:MAXSSID” den oluşmakta.

    Bu değerler üzerinden VMware Compatibility IO Devices kısmında arama gerçekleştiriyorum.

    Update and View Results ile doğru kart driverını buluyorum.

    Görüldüğü üzere PCI kartımızı ve uyumlu sürümleri nokta atışı tespit ettik.

    Bir başka makale’de görüşmek üzere.

  • vCenter Upgrade Sırasında Exception occurred while unzipping patch script Hatası

    VMware vCenter 7.x sürümünde uğgrade sırasında “Error in method invocation Exception occurred while unzipping patch script, please retry after sometime” hatasına denk gelebilirsiniz.

    Bu hata mesajı genellikle vCenter’a ip adresi ile login olunduğunu oluşmakta. Tarayıcınız üzerinde vCenter’ı FQDN ile oturum açtığınızda çözülecektir. Örnek. vCenter01.sirket.local

  • ESXi Cli SSH üzerinden memory bilgisi alma

    Merhaba,

    Esxi üzerinden memory seri numarası, model vs bilgilerini görmek için aşağıdaki kodu doğrudan kullanabilirsiniz.

    smbiosDump 

    Bu komut doğrudan hardware ile ilgili bilgi verecektir. Sadece memory bilgisini görmek için aşağıdaki grep komutuyla filtrelemek mümkün.

    smbiosDump | grep -C 5 "Memory Device"
  • ESXi 7.0 Sonrası Çift HBA Kart Sorunu

    Merhaba,

    Aslında ilk başta bir sorun olarak görünüyor olsa bile bu bir sorun değil.

    Storage bağlantısı için kullandığımız HBA adaptörlerin NVMe desteğinin gelmesiyle kartlarımızı çift görür olduk. NVMe ve SCSI protokolünü aynı WWNN, WWPN adresini kullandığı için böyle kozmetik bir durum oluşuyor.

    Eğer yapınızda NVMe protokolünü kullanmıyor ve ben HBA kartlarımı çift görmek istemiyorum diyorsanız, bu kartların NVMe desteğini kapatabilirsiniz.

    esxcfg-module -s ‘ql2xnvmesupport=0’ qlnativefc

    Sunucuyu yeniden başlatmanız gerekecektir.

  • vSphere Yanlışlıkla Silinen Datastore Nasıl Kurtarılır ? ESXi 7, 6.5, 6.0

    Bu makalede yanlışlıkla silinen bir ESXi datastore’da veri kaybı olmadan nasıl geri getirebileceğimizi göreceğiz.

    Uyarı: Datastore işlemleri uzmanlık gerektiren işlemlerdir. Bir hata durumunda tüm veri okunamaz duruma gelebilir. Dikkatli olunmalıdır.

    İlk olarak ortamı daha iyi anlayabilmek için, ESXi üzerinden R1-SSD-01 isimli datastore’u sileceğim. Öncelikle datastore içerisindeki dosyalara bakalım.

    Görüldüğü üzere datastore içerisinde bir adet sanal sunucu ve iso klasörü bulunmakta.

    R1-SSD-01 datastore’unu siliyorum.

    vCenter üzerinden sunucumu seçtikten sonra Configure sekmesinden Storage Devices’a geliyorum. Burada silmiş olduğum datastore’u buluyorum ve Location kısmını bir yere not ediyorum.

    Location/vmfs/devices/disks/naa.6b083fe0cf2392002a258ede1bd489fa

    Artık bu datastore silindi ve kullanılamaz halde. SSH ile ESXi sunucuma bağlanıyorum.

    Aşağıdaki komutu kullanıyorum. Bu komut ile datastore hakkında bilgi alacağız. (Disk numarası sizin ortamınıza göre değişmelidir.)

    partedUtil getptbl /vmfs/devices/disks/naa.6b083fe0cf2392002a258ede1bd489fa

    Komut çıktısı aşağıdakine benzer olmalıdır. Bu sonuç partition yapısının silinmiş olduğunu gösterir.

    Silinen datastore’un bitiş block numarasını aşağıdaki komutla bulmalıyız ve not almalıyız.

    partedUtil getUsableSectors /vmfs/devices/disks/naa.6b083fe0cf2392002a258ede1bd489fa

    Gpt olarak etiketlemek için aşağıdaki komutu kullanıyorum.

    partedUtil mklabel /vmfs/devices/disks/naa.6b083fe0cf2392002a258ede1bd489fa gpt

    Partition tablosunu oluşturmak için öncelikle VMFS GUID değerini almam gerekmekte. Aşağıdaki komutu kullanıyorum.

    partedUtil showGuids

    vmfs değeri “AA31E02A400F11DB9590000C2911D1B8” bu değeri bir kenara not edin.

    Partition tablomu oluşturmak için aşağıdaki komut setini kendi ortamınıza göre düzenleyin.

    partedUtil setptbl /vmfs/devices/disks/{disk numarası} gpt "1 2048 {bitiş block numarası} {Partition GUID} 0"

    partedUtil setptbl /vmfs/devices/disks/naa.6b083fe0cf2392002a258ede1bd489fa gpt “1 2048 233308126 AA31E02A400F11DB9590000C2911D1B8 0”

    Silinen datastore başarıyla tekrar oluşturuldu. ESXi ortamımıza dahil etmek için aşağıdaki iki komutu çalıştıracağım.

    vmkfstools -V

    esxcli storage core adapter rescan –all

    vCenter üzerinden datastore’u kontrol edelim.

    R1-SSD-01 isimli yanlışlıkla silinen datastore’u tekrardan başarıyla oluşturduk ve içindekileri kaybetmedik.

    Görüşmek üzere.

  • RVTools süreçlerini otomatikleştirmek ve mail atmasını sağlamak

    VMware ortamlarındaki bir çok bilgiye tek bir ekrandan bakmak için çoğu zaman RVTolls kullanmaktayız. VMware yöneten çoğu danışman RVTools mutlaka kullanıyordur. O yüzden bugün RVTools’un ne olduğunu anlatmayacağım. Bugün RVTools sürecinin nasıl otomatikleştirilip, nasıl her sabah mail alacağınızdan bahsedeceğim.

    Öncelikle RVTools otomatikleştirme sürecinde powershell scripti kullanacağız. Aslında bu powershell script’i RVTools içerisinde geliyor.

    C:\Program Files (x86)\Robware\RVTools dizini altında “RVToolsBatchMultipleVCs.ps1” adında bir script var.

    Bu script birden fazla vCenter’dan bilgileri çekip mail olarak almanızı sağlıyor.

    Bu scripti tek vCenter için beraber düzenleyip, gerekli bilgileri gireceğiz. Ardından Windows Task Schedular ile günlük olarak çalıştıracağız.

    İlk olarak C:\Program Files (x86)\Robware\RVTools dizini altında bulunan RVToolsPasswordEncryption.exe yi çalıştırıyoruz.

    Burada vCenter şifremizi encrypt hale getireceğiz. (Buraya vCenter administrator şifresi yerine yeni bir kullanıcı açtıktan sonra sadece read-only yetki vermenizi şiddetle tavsiye ederim.)

    vCenter read-only user şifremizi girdikten sonra verilen encrypt edilmiş şifreyi not alalım.

    Daha sonrasında C:\ dizini içerisinde RVTools adında bir klasör açalım.

    Aşağıdaki verdiğim powershell dosyasını inceleyelim.

    # =============================================================================================================
    # Script:    RVToolsBatchMultipleVCs.ps1
    # Version:   1.2
    # Date:      November, 2019
    # By:        Rob de Veij
    # =============================================================================================================
    
    <#
    .SYNOPSIS
    With this example script you can start the the RVTools export all to xlsx function for multiple vCenter servers.
    The output xlsx files will be merged to one xlsx file which will be mailed
    	
    .DESCRIPTION
    With this example script you can start the the RVTools export all to xlsx function for multiple vCenter servers.
    The output xlsx files will be merged to one xlsx file which will be mailed
    
    
    .EXAMPLE
     .\RVToolsBatchMultipleVCs.ps1
    
    #>
    
    # Save current directory
    $SaveCurrentDir = (get-location).Path
    
    # Set RVTools path
    [string] $RVToolsPath = "C:\Program Files (x86)\Robware\RVTools"
    
    # cd to RVTools directory
    set-location $RVToolsPath
    
    
    # -----------------------------------------------------
    # Set parameters for vCenter 1 and start RVTools export
    # -----------------------------------------------------
    [string] $VCServer = "10.10.10.10"                                                    # vCenter server ip adresi
    [string] $User = "rvtools@vsphere.local"                                                    # read-only vCenter kullanici adi
    [string] $EncryptedPassword = "_RVToolsPfsafasfas4353453fdgd=" #RVToolsPasswordEncryption.exe ile urettigimiz encrypt sifremiz
    [string] $XlsxDir1 = "C:\RVTools"
    [string] $XlsxFile1 = "vCenter1.xlsx"
    
    # Start cli of RVTools
    Write-Host "Start export for vCenter $VCServer" -ForegroundColor DarkYellow
    $Arguments = "-u $User -p $EncryptedPassword -s $VCServer -c ExportAll2xlsx -d $XlsxDir1 -f $XlsxFile1 -DBColumnNames -ExcludeCustomAnnotations"
    
    Write-Host $Arguments
    
    $Process = Start-Process -FilePath ".\RVTools.exe" -ArgumentList $Arguments -NoNewWindow -Wait -PassThru
    
    if($Process.ExitCode -eq -1)
    {
        Write-Host "Error: Export failed! RVTools returned exitcode -1, probably a connection error! Script is stopped" -ForegroundColor Red
        exit 1
    }
    $OutputFile = "C:\RVTools\vCenter1.xlsx"
    # ---------------------
    # Mail output xlsx file
    # ---------------------
    [string] $SMTPserver = "10.10.10.12"  # SMTP server ip adresi
    [string] $SMTPport = "25"			  # SMTP server port bilgisi
    [string] $Mailto = "support@ornek.com.tr"	# SMTP server kime mail atacagimiz
    [string] $MailFrom = "support@ornek.com.tr"	# SMTP server maili kim atacak
    [string] $MailSubject = "FirmaRVtolls"
    
    Write-Host "Send output file by mail" -ForegroundColor DarkYellow
    $Arguments = "/SMTPserver $SMTPserver /smtpport $SMTPport /mailto $Mailto /mailfrom $Mailfrom /mailsubject $Mailsubject /attachment  $OutputFile"
    Write-Host $Arguments
    Start-Process -FilePath ".\RVToolsSendmail.exe" -ArgumentList $Arguments -NoNewWindow -Wait
    
    
    # Back to starting dir
    Set-Location $SaveCurrentDir
    
    ((Get-Date).ToString('yyyy-MM-dd'))

    Burada değişkenleri kendi yapınıza göre düzenlemeniz gerekmekte.

    $VCServer = “10.10.10.10” # vCenter server ip adresi
    $User = “rvtools@vsphere.local” # read-only vCenter kullanıcı adı
    $EncryptedPassword = “_RVToolsPfsafasfas4353453fdgd=” #RVToolsPasswordEncryption.exe ile ürettiğimiz encrypt şifremiz

    $SMTPserver = “10.10.10.12” # SMTP server ip adresi
    $SMTPport = “25” # SMTP server port bilgisi
    $Mailto = “support@ornek.com.tr” # Kime mail atacağımız
    $MailFrom = “support@ornek.com.tr” # Mail hangi adresten gelecek
    $MailSubject = “FirmaRVtolls” # Mail başlığı

    Bu powershell dosyasını ps1 uzantısı ile kaydettikten sonra çalıştırıp deneyelim. Eğer powershell dosyasını çalıştırırken hata alıyorsanız,

    Set-ExecutionPolicy -ExecutionPolicy Bypass komutu ile doğrulanmamış scriptlere izin verelim.

    Scriptimizi çalıştıralım.

    RVTolls raporumuz belirtmiş olduğumuz dizine oluştu.

    Mail olarak gönderildiğini kontrol edelim.

    Artık bu scripti Windows’un zamanlanmış görevleri ile otomatikleştirebilirsiniz. Zamanlanmış göreve eklemek için Hakan Uzuner’in yazmış olduğu makaleden yararlanabilirsiniz.

  • VMware Unmount Edilmeden Çıkarılan Datastore Geri Ekleme İşlemleri

    VMware esxi ortamında eğer bir datastore’u sunuculardan çıkarmak istiyorsanız, güvenli bir şekilde üzerinde çalışan bir vm vs. olmadan unmount etmelisiniz. Eğer güvenli bir şekilde datastore’lar unmount edilmeden, storage üzerinden sunucuya map’i kaldırırsa bir dizi problemler yaşamanız kaçınılmaz olacaktır. Bunlardan biride o datastore artık inactive durumda görmeniz olacaktır.

    Fakat o datastore’u, storage üzerinden tekrar aynı sunucuya mapleseniz bile artık sunucu üzerinde tekrar sağlıklı mount duruma gelmeyebilir. Bunun sebebi ise o datastore’u çıkarırken üzerinde sanal sunucularınızın çalışıyor olmasıdır.

    Özetle eğer VMware ortamınızda çalışan sanal sunucualrınız var ise datastore kesinlikle ilgili sunucudan ayrılmamalıdır.

    Konumuza dönecek olursak, üzerinde çalışan sunucular olan  datastore’un mapini storage katmanından kopardık ve datastore inactive duruma düştü.

    İlk olarak aynı datastore’u sunucuya tanıtmak için, askıda kalan sanal sunucularının işlemlerini kill etmemiz gerekmekte.

    Storage üzerinden disk id’sini bulun. Örnek “naa.6485cfc000000040160c5180d714aee4”

    Şimdi bu datastore id üzerinde askıda kalmış sanal makineleri listeleyelim.

    [root@esxi:~] esxcli storage core device world list -d naa.6485cfc000000040160c5180d714aee4
    Device                                World ID  Open Count  World Name
    ————————————  ——–  ———-  ————
    naa.6485cfc000000040160c5180d714aee4    62563           1  PrintSunucu
    naa.6485cfc000000040160c5180d714aee4    64544          1  Pdks01
    naa.6485cfc000000040160c5180d714aee4   65844           1  YonetimSunucu01
     
    Buradaki word id’leri not alalım ve tek tek aşağıdaki komut ile sonlandıralım.
    #esxcli vm process kill –type=force –world-id=62563
    #esxcli vm process kill –type=force –world-id=64544
    #esxcli vm process kill –type=force –world-id=65844
     
    Ardından aşağıdaki servisleri yeniden başlatalım.
    #/etc/init.d/hostd restart

    #/etc/init.d/vpxa restart

    Bu işlemlerden sonra ilgili datastore’u storage üzerinden tekrar maplediğiniz zaman, aktif olarak VMware esxi üzerinde datastore olarak gelecektir.

  • ESXi Log Toplama

    Çoğu zaman olası bir problemi çözmek için log dosyalarını okumaktayız. Özellikle ESXi sunucunuzda bir problem olduğu zaman destek aldığınız üretici sizden log dosyasını istemekte.

    Bu yazımızda ESXi sunucu üzerinden nasıl log toplandığını göreceğiz.

    Öncelikle ESXi sunucuma SSH ile Putty üzerinden bağlanıyorum.

    Aşağıdaki komutu konsol ekranıma yazıyorum.

    vm-support 

    Bu işlem biraz sürüyor. Dokunmadan bitmesini bekliyorum.

    ESXi log toplama işlemi bitti ve logları bulabileceğimiz dizini bize gösterdi.

    Filezilla ile ESXi sunucuma bağlanıyorum.

    Bize göstermiş olduğu /vmfs/volumes/datastore1/ dizinine gidiyorum.

    Toplamış olduğum ESXi log dosyam paketlenmiş bir şekilde indirilmeye hazır. Bu log dosyasını bilgisayarınıza indirip inceleyebilir veya destek aldığınız yer ile paylaşabilirsiniz.