CPU başına core sayısının ayarlanması
Merhaba,
Aşağıda anlatacağım işlemler sadece Esx 4.x versiyonlarında geçerlidir. Eğer yapınızda vSphere 5.0 ve 5.1 kullanıyorsanız aşağıdaki link’de ki makaleleri inceleyebilirsiniz.
Esxi 5.0 için Sphere Virtual Machine Administration
Esxi 5.1 için vSphere Virtual Machine Administration
Bazı işletim sistemlerinde CPU belirli sayıda çalıştırılabilir. Örneğin; Windows Server 2003 Standart Edition 4 CPU üzerinde çalışmaz çünkü bu sürüm ona göre limitlendirilmiştir. Eğer 8 CPU üzerine bu işletim sistemini yüklerseniz sadece 4 CPU üzerinden çalışır. Eğer sizin işlemciniz dual core ise; Windows Server 2003 8 core olarak bunu görecektir. Eğer işlemciniz quad-core ise; Windows Server 2003 bunu 16 core olarak görecektir. Yani işletim sistemi multi-core’dan yararlanıcaktır.
Virtual Machine’lere verilen virtual cpu’lar işletim sisteminde single core CPU olarak gözükür. Eğer siz yeni bir virtual machine oluşturduğunuzda buna 8 vCPU verdiyseniz bu işletim sisteminde 8 single core CPU olarak gözükecektir. Yukarıdaki örnekte ben Windows Server 2003 Standart (4 cpu ile sınırlı) için anlattım. Bu durumda da Windows Server 2003 Standart sadece 4 vCPU ile çalışır.
Not: 1 vcpu fiziksel CPU anlamına gelmiyor. Buradaki 1 vCPU sadece fiziksel çekirdeğe maplenir buna göre sanal makine aslında 4 çekirdek üzerinde çalışır (4 fiziksel CPU olduğunu düşünürsek).
1 vCPU’nun 1 CPU’ya eşit olduğunu düşünürsek (Bu sadece bir örnek) . Bir işlemi; tek çekirdekli (single core) cpu’larda; (core başına yanlızca 1 thread) cpu’larda işlemi tamamlamak zaman alabilir. Tabi bu işlemin büyüklüğüne göre de değişir.
Bir senaryo düşünelim;
Fiziksel yapımızda 2 soketli quad-core bir sunucumuz var. Bu sunucu üzerinde Windows Server 2003 Standard Edition çalıştırabiliriz ancak virtual machine üzerinde yanlızca 4 core çalışabilir çünkü VMware her CPU soket başına sadece 1 core sahip .
Aşağıdaki adımlar ile virtual machine’de yer alan virtual socket ve core sayısını ayarlamanızı sağlar. Bunu isterseniz virtual machine’in vmx dosyasına ekleyebilirsiniz.
vSphere Client üzerinden bu işlemi gerçekleştirmek için;
1. Virtual machine kapatıyoruz.
2. Virtual machine üzerinde sağ click > Edit settings’e giriyoruz.
3. Hardware sekmesinden CPU bölümüne giriyoruz.
4. Number of virtual processors ‘u seçiyoruz.
5. Options tab’ına giriyoruz.
6. General bölümüne giriyoruz Advanced options tab’ından.
7. Configuration Parameters giriyoruz.
8. Add Row giriyoruz.
9. Name bölümüne cpuid.coresPerSocket yazıyoruz.
10. Value bölümüne değeri giriyoruz. (2, 4, veya 8)
11. Ok butonu ile çıkıyoruz.
Not: vCPU değerinin sanal makinedeki cpuid.coresPerSocket değeri ile bölünebildiğinden emin olun. Buna göre, vCPU değerini cpuid.coresPerSocket değeri ile böldüğünüzde, bir tamsayı elde etmelisiniz. Örneğin, eğer sanal makinanız 8 vCPU ile oluşturulduysa, coresPerSocket değeri yalnızca 1, 2, 4 ya da 8 olabilir.
Artık sanal makineniz, 9. adımda verdiğiniz CPU başına çekirdek adedi kadar işletim sisteminde çok çekirdekli CPU olarak görünür.
Örnek;
Not:
- Fazla 4 vCPU vermek veya eğer işlemcinin desteği 6 core’dan fazla ise, sizin Enterprise Plus lisans kullanmanız gerekmektedir böylece 8 vCPU ve işlemci başına 12 core ‘a kadar destekler.
- Nekadar vCPU vereceğiniz lisans’a bağlıdır.
- Cpuid.coresPerSocket için 1, 2, 4, 8 bu değerleri sadece ESX 4.x vCPU özelliği desteklenir.
- ESX 4.0 için; eğer multi-core vCPU kullanıyorsanız hot plug vCPU özelliği olsa bile izin verilmez.
- Sadece Hardware version 7 virtual machine multi-core vCPU özelliğini destekler.
Önemli: cpuid.coresPerSocket kullanabilmeniz için işletim sisteminin EULA ‘sını incelemeniz gerekmektedir. Yani uygunmu değil mi bunu incelemeniz gerekmektedir. Bunun için aşağıdaki link’leri inceleyebilirsiniz
- ESXi and vCenter Server 5.0 Documentation – Change the Number of Virtual CPUs in the vSphere Client
- ESXi and vCenter Server 5.1 Documentation – Change the Number of Virtual CPUs in the vSphere Client
Umarım faydalı olmuştur.
İyi çalışmalar.
Sebebi ayrıca tartışılır ama Microsoft sanal çalışan tüm Windows Server 2003 sürümlerine en fazla 2 sanal işlemciye kadar destek verir 🙂 Bu konuyu ne yapacağız?
Onun sebebini öğrendikten sonra tartışmak lazım:))
Merhaba Tayfun Hocam “number of virtual sockets” ile “number of cores per socket “arasindaki farki tam anlamis degilim.esxi 5.5 icin bu konuda yardimci olursaniz sevinirim.
Eğer müsait olursam bu hafta içerisinde bir yazı yayınlayacağım bununla ilgili. Detaylı bir şekilde bu sorunun cevabınıda orada vereceğim. Çok uzun sürmez:)
hocam bu konuda yazınız yayında mı?