Ana içeriğe geç

SecuraWall.com

E-posta güvenliği ve sürekliliği

Keşfedin

Kurulum · Sunucu ve Sanallaştırma

VFIO ve SR-IOV ile Sanal Makine PCIe Aygıt Atama Kurulumu

VFIO, IOMMU ile bir PCIe aygıtının DMA erişimini seçilen sanal makinenin adres alanıyla sınırlar. Tam passthrough bir Physical Function'ı tek VM'ye verir; SR-IOV ise destekleyen PF…

Teknik gözden geçirme:

Mimari ve çalışma modeli

VFIO, IOMMU ile bir PCIe aygıtının DMA erişimini seçilen sanal makinenin adres alanıyla sınırlar. Tam passthrough bir Physical Function'ı tek VM'ye verir; SR-IOV ise destekleyen PF üzerinde birden çok Virtual Function üretir ve her VF ayrı VM'ye atanabilir. Bu yöntemler paravirtual virtio aygıtlarından daha doğrudan veri yolu sağlar fakat live migration, snapshot ve host sürücü kullanımını sınırlar.

Güvenlik sınırı aygıt değil IOMMU group'tur. Aynı gruptaki fonksiyonlar yeterince izole edilemiyorsa birlikte atanmalıdır; ACS override gibi zorlayıcı seçenekler donanımın gerçek izolasyonunu iyileştirmez. Firmware'de IOMMU/VT-d/AMD-Vi açılmalı, kernel grupları incelenmeli ve aygıt VFIO sürücüsüne kontrollü bağlanmalıdır.

NUMA yerleşimi, PCIe kökü ile vCPU/bellek yakınlığını belirler. Uzak NUMA erişimi gecikme ve QPI/Infinity Fabric trafiği ekleyebilir. NIC VF sayısı, MSI-X vektörleri, IOMMU kapasitesi ve fiziksel port bant genişliği birlikte bütçelenmelidir. VF sayısını desteklenen üst sınıra çıkarmak her VM için garantili hat hızı sağlamaz.

  1. 1Firmware IOMMU ve grup keşfi
  2. 2PF/VF hazırlama ve sürücü bağlama
  3. 3libvirt hostdev ile VM atama
  4. 4Yük, izolasyon ve geri dönüş testi
Performans kazancını kabul etmeden önce IOMMU group izolasyonu ve yaşam döngüsü kısıtlarını kanıtlayın.

Tasarım parametreleri

IOMMU group
Atanacak fonksiyonların aynı gruptaki diğer aygıtlardan güvenle ayrılabildiğini kanıtlayın.
NUMA yakınlığı
VM vCPU ve belleğini aygıtın bağlı olduğu NUMA düğümüne mümkün olduğunca yakın yerleştirin.
VF ve kuyruk bütçesi
VF sayısı, RX/TX queue, interrupt vektörü ve fiziksel link kapasitesini birlikte hesaplayın.
Yaşam döngüsü
Live migration, host reboot, sürücü güncelleme ve VM geri dönüş kısıtlarını runbook'a yazın.

Hesap ve uygulama örneği

İki portlu 25 Gb/s NIC'te sekiz VF oluşturup her birine 10 Gb/s hedef vermek 80 Gb/s talep üretir; portların toplam fiziksel üst sınırı 50 Gb/s'dir ve protokol payı daha da düşürür. Kabul testi tek VF peak değeri yerine sekiz VF eşzamanlı p95 throughput ve paket kaybını ölçmelidir.

Aygıt NUMA node 1'deyken 8 vCPU ve 32 GiB belleğin node 0'da pinlenmesi uzak bellek/interrupt maliyeti yaratabilir. Aynı iş yükünü yerel ve uzak yerleşimde çalıştırıp p99 latency, CPU steal ve interconnect sayaçlarını karşılaştırın.

Örnek komutlar: laboratuvar değerlerini değiştirin; kullanmadan önce yetkiyi ve yazılım sürümünü doğrulayın.

dmesg | grep -Ei 'IOMMU|DMAR|AMD-Vi'
find /sys/kernel/iommu_groups/ -type l | sort
lspci -nnk -s 0000:3b:00.1
echo 8 | sudo tee /sys/class/net/ens3f0/device/sriov_numvfs
virsh nodedev-detach pci_0000_3b_00_1
virsh dumpxml vm01 | sed -n '/<hostdev/,/<\/hostdev>/p'

Hata teşhisi

BelirtiOlası neden / ayrımDoğrulama
group is not viableAynı IOMMU group'taki başka bir fonksiyon host sürücüsünde kalmış olabilir.`find /sys/kernel/iommu_groups` ve `lspci -nnk` ile grubun tüm fonksiyonlarını eşleyin.
VM başlıyor ama ağ yokVF trust, VLAN, spoof-check veya switch port politikası uyuşmuyor olabilir.PF/VF ayarları, VM MAC/VLAN ve fiziksel switch sayaçlarını birlikte kontrol edin.
Beklenenden yüksek gecikmeNUMA uzaklığı, interrupt dağılımı veya IOMMU translation baskısı olabilir.`numactl`, `/proc/interrupts` ve aynı iş yükünün yerel NUMA sonucunu karşılaştırın.

Kabul ve doğrulama kontrolleri

  1. Firmware ve kernelde IOMMU'nun etkin olduğunu doğrulayın.
  2. Her atanacak aygıtın tam IOMMU group envanterini çıkarın.
  3. VFIO bağlama ve host geri alma adımlarını test edin.
  4. VM kapalıyken ve açıkken aygıt sahipliğini doğrulayın.
  5. Eşzamanlı VF yükünde throughput, p99 gecikme ve paket kaybını ölçün.
  6. Live migration ve host bakım kısıtlarını değişiklik kaydına ekleyin.

İlgili kavramlar

İzolasyon ile sanallaştırma ayrımı

Container ve sanal makine aynı izolasyon sınırını sunmaz. Containerlar host çekirdeğini paylaşırken sanal makineler konuk işletim sistemi çalıştırır. Rootless kullanım, namespace ve capability kısıtları riski azaltabilir; yapılandırma ve host güvenliği yine önemlidir. Image, çalışan container ve kalıcı volume ayrı yaşam döngülerine sahiptir. Image güncellemek veriyi yedeklemez. Testte process izinlerini, mountları, ağ erişimini ve kalıcı verinin yeniden oluşturma sonrasında korunmasını ayrı ayrı doğrulayın.

NUMA yerelliği

NUMA sistemlerde işlemci, kendisine yakın bellekle uzak düğüm belleğine farklı maliyetle erişebilir. Bir sanal makinenin vCPU ve bellek boyutu, fiziksel düğüm kapasitesi ve hypervisor yerleştirmesiyle birlikte değerlendirilir. Daha fazla vCPU vermek her zaman hız kazandırmaz; yerellik kaybı ve zamanlama beklemesi performansı düşürebilir. Fiziksel topolojiyi, VM içindeki görünen topolojiyi ve gerçek iş yükünün bellek davranışını birlikte kaydedin. Değişikliği aynı yük altında önce/sonra karşılaştırın; yalnız CPU yüzdesi yerine uygulama gecikmesini ve uzak bellek etkisini inceleyin.

Gecikme dağılımı

Gecikme, bir işlemin başlangıcı ile yanıtı arasındaki süredir. Ortalama değer, az sayıdaki çok yavaş işlemi gizleyebilir; medyan ile p95/p99 gibi yüzdelikler farklı sorulara cevap verir. Ağ RTT, disk bekleme, işlemci kuyruğu ve uygulama işlemesi toplam süreye katkıda bulunur. Ölçümün istemci tarafında mı sunucuda mı yapıldığını yazın. Gecikme artışının trafik yükselmesine, bakım işine veya kapasite sınırına denk gelip gelmediğini karşılaştırın. Bir eşik seçmeden önce normal yük ve yoğun saat için temel davranışı kaydedin.

Bant genişliği ve gerçek aktarım

Hat kapasitesi ile uygulamanın taşıdığı yararlı veri miktarı farklıdır. Protokol başlıkları, şifreleme, yeniden iletim, küçük dosyalar ve disk beklemeleri net hızı azaltır. Bit ile byte birimini karıştırmayın: 1 Gbit/s teorik olarak 125 MB/s seviyesindedir; bu bir uygulama performans garantisi değildir. Aktarım süresini veri miktarı / ölçülen net hız şeklinde hesaplayın. Ölçümü aynı anda ağ, kaynak okuması ve hedef yazması üzerinden yaparak sınırlayıcı bileşeni bulun. Ortalama hız kadar kısa süreli düşüşleri ve diğer işlerin rekabetini de değerlendirin.

Yüksek erişilebilirlik ile kurtarma ayrımı

Yüksek erişilebilirlik, belirli arızalarda hizmetin kısa kesintiyle sürmesini hedefler; yedekleme, kaybolan veya bozulan veriyi önceki bir noktadan geri getirir. Bir küme yanlış silinen kaydı diğer düğüme de aktarabilir. Bu nedenle HA ve yedekleme birbirinin yerine geçmez. Hizmetin DNS, kimlik, ağ, depolama ve enerji bağımlılıklarını birlikte düşünün. Başarılı düğüm geçişi tek başına yeterli değildir: kullanıcı oturumunun, uygulama yazmasının ve dış entegrasyonların geçiş sonrası davranışı da ölçülmelidir.

Sürüm ve destek yaşam döngüsü

Bir ürünün kurulabilir olması üretim için desteklendiğini kanıtlamaz. İşletim sistemi, uygulama, sürücü, eklenti ve yönetim aracının uyumluluk zincirini birlikte kontrol edin. Güncelleme planında paket sürümü, destek bitişi, yeniden başlatma gereksinimi ve geri alma yöntemi bulunmalıdır. Test ortamı üretimdeki bağımlılıkları temsil etmezse sonuç yanıltıcı olabilir. Değişiklik sonrası yalnız sürüm numarasını değil, hizmet sağlığını ve önceki iş akışlarını doğrulayın. Bir sürümü sabitlemenin gelecekteki güvenlik düzeltmelerini engelleyebileceğini de dikkate alın.

Birincil teknik dokümantasyon

Doz Teknoloji teknik ekibi tarafından aşağıdaki birincil kaynaklar temel alınarak hazırlanmıştır. Hesaplar ve laboratuvar senaryoları varsayımlarını belirtir; uygulamadan önce kullanılan ürün sürümünü doğrulayın.

Bilgi Merkezi

Kurumsal IT Ürün Satışı, Lisanslama ve Kurulum
Kurumsal IT Proje & Çözüm Senaryoları
Tüm ilgili içerikleri görüntüleyin
WhatsApp'tan Yazın
Kopyalandı!