Virtualization ve HCI
Kaynak Zamanlama, NUMA ve Overcommit
vCPU talebini scheduler davranışıyla ölç
Ön koşul: socket, core, hardware thread, NUMA, hypervisor, VM ve workload baseline kavramlarını açıklayabilmelisin. Bu dersin sonunda tahsis edilen vCPU ile tüketilen CPU zamanını ayıracak; scheduler beklemesini guest ve host sinyalleriyle okuyacak; vNUMA/pNUMA yerleşimini kuracak; reservation, limit ve paylaşım politikalarını gerçek garanti sınırıyla ifade edecek; memory overcommit ve noisy neighbor riskini normal, tepe, bakım ve host kaybı koşullarında sınayabileceksin. Yaklaşık 31 dakika anlatı, 16 dakika Arven uygulaması ve 10 dakika kontrollerdir. Ürüne özgü metrik adları, varsayılanlar ve oranlar güncel platform belgesiyle doğrulanmalıdır.
Bir vCPU, guest işletim sistemine sunulan çalıştırma bağlamıdır; fiziksel core için tapu değildir. Guest içindeki runnable thread önce guest scheduler tarafından bir vCPU’ya, ardından hypervisor veya host scheduler tarafından fiziksel CPU zamanına yerleştirilir. Bu iki katman yüzünden guest yüzde 100 CPU görürken alttaki hostta kaynak paylaşımı, preemption veya başka VM’lerle rekabet olabilir. Tahsis edilen vCPU sayısı, gerçekten kullanılan CPU zamanı ve talep karşılanmadığında oluşan bekleme ayrı ölçülür. CPU overcommit, toplam atanmış vCPU sayısının fiziksel yürütme kapasitesini aşmasına izin verir. Bu tek başına hata değildir; farklı workload’ların tepeleri çakışmıyorsa kullanım verimliliği sağlar. Risk, eşzamanlı runnable talebi yükseldiğinde belirginleşir. CPU kullanım yüzdesi düşük görünse bile bir vCPU runnable halde fiziksel sıra bekliyor olabilir. Platformdaki ready veya run-delay benzeri ölçüler, Linux guest’te steal time ve host PSI gibi sinyaller uygulama p95/p99, throughput ve batch süresiyle aynı zaman çizgisinde okunur. Steal time, sanal CPU’nun çalışabilir olduğu halde hypervisor tarafından fiziksel CPU üzerinde koşturulmadığı zamanı görünür kılabilir. Linux KVM arayüzü bu süreyi vCPU başına raporlayabilir; ancak bütün platformlar aynı semantik veya isimle ölçmez. Tek yüksek örnekle hüküm verilmez. Ölçüm aralığı, ortalama/tepe, hosttaki run queue, VM demand ve kullanıcı etkisi birlikte kaydedilir. Daha çok vCPU vermek her zaman daha hızlı sonuç üretmez. Büyük SMP guest’in vCPU’larını birlikte ilerletmek zorlaşabilir, cache çalışma kümesi büyüyebilir ve VM fiziksel NUMA sınırını aşabilir. Uygulamanın paralellik seviyesi yetersizse ek vCPU kullanılmaz; buna rağmen scheduling ve lisans maliyeti yaratabilir. Sağ boyutlandırma, talebi boğmak değil, iş sonucunu sağlayan en küçük desteklenen kaynağı kontrollü testle bulmaktır.
| Görünüm | Ölçü | Yanıtladığı soru |
|---|---|---|
| Guest | Utilization, run queue, steal | Guest iş istiyor mu, bekliyor mu? |
| VM | vCPU demand ve scheduler wait | Atanan vCPU fiziksel zaman buluyor mu? |
| Host | pCPU utilization, run queue, PSI | Havuzda eşzamanlı baskı var mı? |
| Uygulama | p95/p99, throughput, batch | Bekleme iş sonucunu etkiliyor mu? |
| Senaryo | Normal, tepe, bakım, host kaybı | Politika kötü durumda da çalışıyor mu? |
ŞİMDİ SEN DENE
vCPU talep zaman çizgisi çıkar
Kritik bir VM için 24 saatlik tahsis, guest utilization/run queue/steal, platform demand/wait, host CPU pressure ve uygulama p99/throughput verisini aynı saat eksenine koy. Normal, tepe ve backup penceresini işaretle. “Büyük VM”, “yüksek overcommit” ve “uygulama içi seri darboğaz” hipotezlerini ayıracak bir kontrollü test ile geri dönüş koşulu yaz.
MÜŞTERİYE SOR
Kritik işlem penceresinde guest run queue/steal, VM scheduler beklemesi, host pressure ve uygulama p99’u birlikte nasıl değişiyor; hangi VM’lerin tepeleri çakışıyor?
Statik vCPU oranını eşzamanlı talep, bekleme ve iş etkisi kanıtına dönüştürür.
BİLGİNİ KONTROL ET
Bir VM’de CPU kullanımı düşükken işlem süresi uzuyorsa ilk doğru yaklaşım hangisidir?
vNUMA ile fiziksel yerleşimi eşleştir
Fiziksel NUMA sisteminde CPU ve bellek kaynakları locality domain’lerine ayrılır. Bir core kendi node’undaki belleğe genellikle daha doğrudan erişir; başka node belleği interconnect üzerinden ek latency ve bandwidth rekabeti yaratabilir. Hypervisor guest’e virtual NUMA topolojisi sunabilir. Uygulama thread’leri ile guest sayfalarının vNUMA içinde, vCPU ve host belleğinin de pNUMA üzerinde nasıl yerleştiği tek zincirdir. VM’in vCPU veya bellek boyutu tek fiziksel NUMA node kapasitesini aştığında birden fazla node’a yayılması gerekebilir. Bu otomatik olarak yanlış tasarım değildir; büyük workload buna ihtiyaç duyabilir. Fakat guest’in gördüğü topology, host placement ve uygulamanın thread/memory davranışı uyuşmazsa remote erişim ile değişken latency artabilir. VM’i küçültme, uygulamayı ölçek dışı bölme, placement değiştirme ya da büyük node tasarlama seçenekleri aynı hizmet metriğiyle sınanır. Affinity ve pinning birer araçtır, performans garantisi değildir. Sabitleme cache ve yerellik kararlılığı sağlayabilir; aynı zamanda scheduler’ın dengeleme alanını daraltır, bakım/migration esnekliğini azaltır ve bir node’da kapasite baskısı doğurabilir. CPU pinning tek başına yetmez; guest memory, emulator/I/O thread, NIC/HBA yakınlığı, huge page ve device passthrough gereksinimi aynı topolojiye eklenir. libvirt gibi yönetim katmanları vCPU pinning, CPU shares/quota, memory backing ve NUMA policy’yi ayrı ayarlar olarak sunar; her ayarın platform desteği ve lifecycle etkisi doğrulanır. NUMA ölçümünde toplam sayıya güvenme. Guest vNUMA görünümü, host socket/node haritası, vCPU-pCPU ve memory-node dağılımı, local/remote erişim oranındaki değişim, migration geçmişi ve uygulama metriği gerekir. Kontrollü testte yalnız bir değişken değiştirilir. Sonuç düzelmezse locality hipotezi reddedilir; storage queue, lock, garbage collection veya network yolu incelemede kalır.
| Bağlantı | Kanıt | Yanlış varsayım |
|---|---|---|
| Thread–vCPU | Profiler ve guest topology | Her thread bütün vCPU’ları eşit kullanır |
| vCPU–pCPU | Placement ve scheduler ölçüsü | vCPU fiziksel core’a kalıcı eşittir |
| Guest memory–pNUMA | Node allocation ve remote rate | Toplam RAM yerelliği kanıtlar |
| I/O thread–device | PCIe/root ve IRQ yerleşimi | Pinning yalnız compute işidir |
| Politika–lifecycle | Migration/bakım testi | Affinity operasyonu etkilemez |
ÖRNEK
48 vCPU eklemek batch’i uzattı
Arven ERP VM’i 24 vCPU’dan 48 vCPU’ya büyütülür. Guest kullanımı yüzde 55’i geçmez, fakat VM iki fiziksel NUMA node’una yayılır; remote memory oranı ve p99 yükselir. Ekip 24, 32 ve 48 vCPU profillerini aynı veri ve concurrency ile karşılaştırır. 32 vCPU desteklenen süreyi daha düşük scheduler ve remote erişimle sağlıyorsa karar “en büyük VM” değil, kanıtlanan çalışma zarfıdır.
ŞİMDİ SEN DENE
VM topoloji kartı oluştur
Bir kritik VM için guest socket/core/thread ve vNUMA görünümünü; host pNUMA, vCPU-pCPU, memory-node, emulator/I/O thread ve aygıt yakınlığını çiz. Mevcut, tek host bakım ve host kaybı yerleşimlerini karşılaştır. İki locality hipotezi, başarı metriği, destek kontrolü ve rollback yaz.
BİLGİNİ KONTROL ET
CPU pinning kararı hangi ek kanıt olmadan tamamlanmış sayılmaz?
Bellek garantisi, reclamation ve overcommit’i ayır
Guest’e tanımlanan bellek, hostta her an aynı miktarda fiziksel RAM’in yalnız o VM’e ayrıldığı anlamına gelmez. Platform; current memory, reservation veya minimum garanti, limit, share/priority, ballooning, page sharing, reclaim ve host swap gibi farklı mekanizmalar kullanabilir. Terimler ürünler arasında aynı davranmayabilir. Bu yüzden her politika “hangi koşulda neyi garanti eder, nerede uygulanır ve tükenmede ne olur?” sorusuyla yazılır. Reservation fiziksel kapasitenin belirli bölümünü bir workload için güvence altına alabilir; fakat cluster admission, HA ve bakım kapasitesini tüketir. Limit, VM talebi olsa bile erişebileceği üst sınırı kısabilir ve görünmez latency yaratabilir. Share veya priority çoğu zaman yalnız çekişme anında göreli önceliktir; boş kapasitede sabit oran anlamına gelmeyebilir. Kritik ve kritik olmayan sınıflar için bu semantik kabul testine çevrilmeden politika adı yeterli değildir. Memory overcommit toplam guest tahsisinin fiziksel RAM’i aşmasıdır. Çalışabilirliği sağlayan unsur bütün VM’lerin tahsislerinin tamamını aynı anda aktif kullanmaması olabilir. Fakat eşzamanlı working set büyüdüğünde platform reclaim başlatır. Ballooning guest ile koordineli biçimde sayfaları geri isteyebilir; page sharing benzer sayfaları birleştirebilir; host swap ise VM sayfasını daha yavaş katmana taşıyabilir. Mekanizmanın kullanılabilirliği, sırası ve metriği platforma göre değişir. Sık swap veya ağır reclaim p99 ve throughput’u bozabilir, OOM ise süreç ya da VM kaybına kadar gidebilir. Guest free memory tek başına yeterli değildir. Resident working set, available, page fault, reclaim/swap rate ve memory PSI; hypervisor consumed/active, balloon veya swap sinyalleri; host available/pressure ve uygulama sonucu aynı pencerede izlenir. HCI’de host belleği yalnız VM’lere ait olmayabilir: storage data path, cache, metadata ve sistem servisleri için ayrılan pay ürün mimarisinin parçasıdır. Bu pay sonraki HCI dersinde doğrulanacaktır.
| Araç | Karar sorusu | Risk kanıtı |
|---|---|---|
| Reservation/minimum | Ne zaman ve hangi kapsamda garanti? | Admission ve kalan HA kapasitesi |
| Limit | Talep varken erişimi kısıyor mu? | Latency ile limit olayı |
| Share/priority | Çekişmede göreli pay nasıl? | Pressure anında allocation |
| Balloon/reclaim | Sayfa nereden ve ne hızda geri alınır? | Guest fault ve çalışma kümesi |
| Host swap/OOM | Fiziksel kıtlıkta son davranış ne? | Swap latency ve kill olayı |
MÜŞTERİYE SOR
Normal, eşzamanlı tepe, tek host bakım ve host kaybında her VM sınıfının active/consumed belleği, reservation/limit’i, reclaim/balloon/swap olayı ve uygulama p99’u nedir?
Statik tahsis toplamını gerçek working set, çekişme davranışı ve hizmet sonucu ile değiştirir.
ŞİMDİ SEN DENE
Bellek çekişme deneyini tasarla
Üretim dışı temsilî ortamda üç hizmet sınıfı tanımla. Working set’i kademeli artırırken guest/host pressure, balloon/reclaim/swap, page fault, uygulama p99 ve throughput’u kaydet. Bir host bakım zarfını da modele ekle. Durdurma eşiği, veri güvenliği, rollback ve “overcommit kabul/ret” ölçüsünü deneyden önce yaz.
ÖRNEK
Tahsis sığıyor, working set çakışıyor
Arven cluster’ında 2 TB guest memory tahsisi vardır; normal active memory 900 GB’dır. Ay sonu rapor, backup doğrulama ve analitik aynı saate geldiğinde active toplam 1,45 TB’a çıkar; bir host bakımda olduğu için kullanılabilir fiziksel pay 1,3 TB’dır. Balloon ve swap artarken ERP p99 bozulur. Normal ortalama oran güvenli görünse de eşzamanlı tepe ve bakım zarfı politikayı reddeder.
BİLGİNİ KONTROL ET
Toplam guest memory tahsisinin fiziksel RAM’i aşması hangi koşulda kabul edilebilir bir karar olabilir?
Arven kaynak politikasını kanıtla
Arven’in mevcut cluster’ı sekiz hosttan oluşur. Envanter 620 vCPU ve 2 TB guest memory tahsisi gösterir. Satış ekibi bu sayıları fiziksel core ve RAM’e bölerek yeni platform önermek ister. Fakat kritik pencereler, gerçek demand, VM boyutu, scheduler wait, vNUMA/pNUMA yerleşimi, working set, reservation/limit ve host kaybında kalan kapasite bilinmez. Tahsis oranı tek başına sizing veya hizmet garantisi değildir. Ekip workload’ları ERP, veri tabanı, dosya, entegrasyon ve geliştirme sınıflarına ayırır. Her sınıfta normal/tepe CPU demand, concurrency, run queue/steal, p99/throughput; active/consumed memory, reclaim/balloon/swap ve pressure; guest/host NUMA ile I/O locality; reservation, limit ve sahiplik kaydedilir. Günlük tepe, ay sonu, backup, bakım ve tek host kaybı aynı zaman ekseninde modellenir. Birinci seçenek geniş paylaşım ve ölçülü overcommit’tir; verimlidir fakat çakışan tepeler için otomasyon ve headroom ister. İkinci seçenek kritik VM’lerde reservation ve dar placement zarfıdır; tahmin edilebilirlik artabilir fakat admission, bakım ve migration alanı azalır. Üçüncü seçenek büyük VM’i yeniden boyutlandırmak veya uygulamayı bölmektir; uygulama testi ve lisans etkisi vardır. Dördüncü seçenek fiziksel kapasite eklemektir; yanlış VM boyutu veya topoloji sorununu tek başına çözmez. Koşullu karar her sınıf için sınır taşır. Örneğin ERP p99 ve batch süresi, scheduler wait ve remote memory eşiği; bellek sınıfında pressure/reclaim/swap eşiği; cluster’da bakım ve host kaybında admission ile kalan kapasite yazılır. Eşik aşılırsa placement, right-sizing veya kapasite adımı ve geri dönüş sahibi bellidir. Ürün oranı ezberlenmez; kabul edilen çalışma zarfı ölçülür.
| Karar alanı | Gerekli kanıt | Kabul/geri dönüş |
|---|---|---|
| vCPU boyutu | Demand, wait, paralellik, p99 | En küçük başarılı profil |
| NUMA/affinity | vNUMA-pNUMA ve remote rate | Yerellik iyileşir; lifecycle geçer |
| Memory policy | Working set, reservation, reclaim | Pressure ve p99 eşikte |
| Overcommit | Eşzamanlı tepe ve host kaybı | Admission ve hizmet korunur |
| Noisy neighbor | Ortak zaman çizgisi ve izolasyon testi | Etki sınırda; owner tanımlı |
MÜŞTERİYE SOR
Hangi workload’ların CPU ve bellek tepeleri gerçekten aynı anda oluşuyor; bakım veya host kaybında hangi scheduler, NUMA, pressure ve uygulama eşiği tasarımı kabul ya da reddedecek?
Tek konsolidasyon oranını senaryo bazlı, yanlışlanabilir kaynak politikasına çevirir.
ŞİMDİ SEN DENE
Arven kaynak çalışma zarfını tamamla
Beş workload sınıfı için tahsis, normal/tepe demand ve working set, vNUMA/pNUMA, reservation/limit ile iş sonucunu tabloya koy. Normal, ay sonu, backup çakışması, bakım ve host kaybını modelle. Üç politika seçeneğini performans, dayanıklılık, operasyon, lisans/maliyet ve büyüme açısından karşılaştır; altı TBD, owner, tarih, kabul ve rollback koşulu ekle.
BU DERSTEN AL
Bu dersten taşıyacağın düşünceler
- vCPU tahsisi fiziksel CPU zamanı garantisi değildir; demand, scheduler beklemesi ve iş sonucu birlikte ölçülür.
- Steal/ready benzeri sinyaller platform semantiği ve olay penceresiyle yorumlanır.
- vNUMA, pNUMA, bellek ve I/O yerleşimi tek topoloji zinciridir.
- Reservation, limit ve share aynı garanti değildir; çekişme ve failure zarfında test edilir.
- Overcommit oranı hedef değil, eşzamanlı working set ve kabul sonuçlarından çıkan tasarım değeridir.
- Arven kararı normal, tepe, bakım ve host kaybında ölçülen çalışma zarfını taşır.