Hyper-V sanal anahtarı bir LBFO ekibine bağlı olduğunda Olay Kimliği 106

Bu makale, bir Hyper-V sanal anahtarı bir LBFO ekibine bağlı olduğunda olay kimliği 106'nın çözülmesine yardımcı olur.

Şunlar için geçerlidir: Windows Server 2012 R2
Özgün KB numarası: 2974384

Belirtiler

Aşağıdaki senaryoyu inceleyin:

  • Bir veya daha fazla yük dengeleme ve yük devretme (LBFO) ekibiyle birlikte yapılandırılmış Windows Server 2012 tabanlı veya Windows Server 2012 R2 tabanlı bir bilgisayarınız var.
  • Bir Hyper-V sanal anahtarı LBFO ekiplerinden birine bağlıdır.

Bu senaryoda, aşağıdaki olaylardan biri aralıklı olarak günlüğe kaydedilir.

Neden

Hata 106"Neden: LBFO toplam kuyruğu moduyla yapılandırıldığında işlemci kümeleri çakışıyor" ifadesini verirse, takımınızdaki her ağ bağdaştırıcısını farklı işlemciler kullanacak şekilde yapılandırmak için Set-NetAdapterVmq Windows PowerShell komutunu kullanmanız gerekir. (LBFO ekibi oluşturma Kuyrukların Toplamı için ayarlandığından, takımdaki ağ bağdaştırıcılarının örtüşmeyen işlemci kümelerini kullanması gerekir.)

Hata 106"Neden: LBFO min-queue moduyla yapılandırıldığında işlemci kümeleri aynı değildir" ifadesini verirse, takımınızdaki her ağ bağdaştırıcısını aynı işlemcileri kullanacak şekilde yapılandırmak için Set-NetAdapterVmq Windows PowerShell komutunu kullanmanız gerekir. (LBFO ekibi en düşük kuyruk modu için ayarlandığından, ekipteki ağ bağdaştırıcılarının çakışan işlemci kümelerini kullanması gerekir.)

Çözüm

Hata 106 "Neden: LBFO toplam kuyruğu moduyla yapılandırıldığında işlemci kümeleri çakışıyor" ifadesini verirse, her ağ bağdaştırıcısının sanal makine kuyruğu (VMQ) için farklı işlemciler kullanması için işlemcileri ayırmak üzere aşağıdaki örnek Windows PowerShell komutlarını kullanabilirsiniz. Ayrıca, bu yapılandırma değişikliklerini yaptıktan sonra bilinen diğer sorunları çözmek için kb makale 3031598 düzeltmeyi yüklemeniz gerekir.

Bunlar örnek komutlardır. BaseProcessorNumber ve MaxProcessors ayarlarını, sunucuda kaç işlemci bulunduğuna ve VMQ için kullanmak istemediğiniz işlemcilere göre değiştirebilirsiniz.

Set-NetAdapterVmq -Name NIC1 -BaseProcessorNumber 2 -MaxProcessors 2

Not

Bu ağ bağdaştırıcısı VMQ için işlemci 2 ve 3 kullanır.

Set-NetAdapterVmq -Name NIC2 -BaseProcessorNumber 4 -MaxProcessors 2

Not

Bu ağ bağdaştırıcısı VMQ için işlemci 4 ve 5 kullanır.

Sunucuda işlemci Hyper threading etkinleştirildiyse, BaseProcessorNumber ve MaxProcessors ayarlarını değiştirmeli ve Hata 106'yı toplama kuyruğu modunda düzeltmelisiniz.

Sunucuda Hyper threading'in etkinleştirilip etkinleştirilmediğinden emin değilseniz, bunu belirlemenin kolay yollarından biri Get-NetAdapterRSS Windows PowerShell cmdlet'ini çalıştırmak ve ardından RssProcessorArray için çıkış satırına bakmaktır. 0:0/0:1/0 0:2/0..... yazıyorsa Hyper Threading KAPALI olur. 0:0/0 0:2/0:4/0... yazıyorsa Hyper Threading AÇILDI demektir. RSS ve VMQ çekirdek işlemcileri yalnızca Hyper Threading ON olduğunda kullanır, bu da çift numaralı işlemciler anlamına gelir.

Bu nedenle, daha önce bahsedilen komutları bir Hyper-Threaded sunucusunda ayarlıyorsanız, BaseProcessorNumber değerini yalnızca çift sayı olarak ayarlayabilirsiniz. Ayrıca MaxProcessors, VMQ'nun kullanabileceği işlemci sayısına ayarlanmalıdır.

Örneğin, (iki) altı çekirdekli işlemciniz ve Hyper İş Parçacığı Oluşturma etkinse, Windows araçlarında size Görev Yöneticisi gibi işlemcileri gösteren 24 işlemci görürsünüz. VMQ yalnızca çift numaralı işlemcileri kullandığından bu işlemcilerden yalnızca 12'sini kullanabilir. Bu işlemcileri iki NIC'ye bölmek ve Hata 106'yı düzeltmek için aşağıdaki komutları kullanarak her NIC'yi VMQ için farklı işlemciler kullanacak şekilde ayarlayabilirsiniz:
Set-NetAdapterVMQ -Name NIC1 -BaseProcessorNumber 0 -MaxProcessors 6 (dolayısıyla bu NIC, VMQ için işlemci 0,2,4,6,8,10 kullanır)
Set-NetAdapterVMQ -Name NIC2 -BaseProcessorNumber 12 -MaxProcessors 6 (dolayısıyla bu NIC, VMQ için işlemci 12.14.16.18.20.22 kullanır)

Hata 106"Neden: LBFO min-queue moduyla yapılandırıldığında işlemci kümeleri aynı değildir" ifadesini verirse, her ağ bağdaştırıcısının VMQ için aynı işlemcileri kullanması için aşağıdaki örnek Windows PowerShell komutlarını kullanabilirsiniz.

Bunlar örnek komutlardır. BaseProcessorNumber ve MaxProcessors ayarlarını, sunucuda kaç işlemci bulunduğuna ve VMQ için kullanmak istemediğiniz işlemcilere göre değiştirebilirsiniz.

Set-NetAdapterVmq -Name NIC1 -BaseProcessorNumber 2 -MaxProcessors 4

Not

Bu ağ bağdaştırıcısı VMQ için işlemci 2, 3, 4 ve 5 kullanır

Set-NetAdapterVmq -Name NIC2 -BaseProcessorNumber 2 -MaxProcessors 4

Not

Bu ağ bağdaştırıcısı VMQ için işlemci 2, 3, 4 ve 5'i de kullanır

TÜM ağ bağdaştırıcılarının VMQ için aynı işlemcileri kullanması için VMQ işlemcilerini doğru ayarladıktan sonra, belirli bir NUMA düğümünü kullanmak üzere herhangi bir ağ bağdaştırıcısı için "Tercih edilen NUMA düğümü" ayarını da ayarladıysanız Hata 106 "Neden: LBFO min-queue moduyla yapılandırıldığında işlemci kümeleri aynı değildir" hatasını almaya devam edebilirsiniz. Bunun için varsayılan ayar "Sistem Varsayılanı"dır ve VMQ kullanılırken tercih edilen ayardır. Belirli bir Tercih Edilen NUMA düğümü ayarlarsanız ve NUMA düğümleri ağ bağdaştırıcılarında farklıysa, ağ bağdaştırıcıları VMQ için aynı işlemcileri kullanmaz.

Örnek: Yukarıdaki örnekte, NIC1 ve NIC2'yi 2, 3, 4 ve 5 işlemcilerini kullanacak şekilde ayarlarsınız. Sunucunuzda her NUMA düğümünde dört işlemcili sekiz NUMA düğümü varsa ve NIC1'i Tercih Edilen NUMA düğümü 0 olarak ve NIC2'yi Tercih Edilen NUMA düğümü 1 olarak ayarladıysanız, aslında işlemci 2, 3 ve NIC2'yi işlemci 2, 3 ve NIC2'yi işlemci 4 ve 5 kullanacak şekilde ayarlmış olursunuz çünkü işlemciler 2, 3, 4 ve 5, 0, 1, 2, 3 ve 4, 5, 6, 7 işlemcilerini temsil eden iki NUMA düğümüne bölünür.

Daha fazla bilgi

Farklı LBFO yapılandırmaları için VMQ ve LBFO ayarlarının açıklandığı blog
VMQ CPU ataması hakkında bilgi veren blog