Failed to allocate VMQ. Reason – Maximum number of VMQs supported on the Protocol NIC is exceeded. Status = Insufficient system resources exist to complete the API.

Oke ketemu lagi dengan kategori troubleshoot. Kali ini mau share tentang masalah yang sedang di hadapi, yaitu munculnya pesan error Failed to allocate VMQ. Pesan ini bisa di dapatkan di eventviewer > Windows Logs > System, dan bagaimana dengan efeknya?

Sebagai pembuka, VMQ adalah teknologi network scaling dari Hyper-V switch, dimana ketika fitur ini diaktifkan, maka meningkatkan performa dari Hyper-V switch dan seluruh virtual server adapter di dalamnya. Namun tidak bisa dipungkiri juga bisa menjadi senjata makan tuan.

NIC No Internet Access

Awal mulanya masalah ini adalah NIC dari windows server terputus (indikasi di monitoring server) kemudian setelah console ternyata NIC menunjukkan No Internet Access. Berarti ada yang salah dengan NIC card physicalnya.

Temporary Workaround

Untuk mengatasi masalahnya (sementara) maka kita harus melakukan disable dan enable untuk NIC yang bermasalah tadi hingga koneksi NIC ke gateway bisa tersambung kembali. Namun dalam beberapa hari ke depan pasti masalah yang sama akan muncul lagi. Oleh karena itu perlu solusi permanent.

Troubleshoot

Untuk menganalisa kita harus cek kompability dari VMQ terlebih dahulu. Kita gunakan PowerShell (PS) dengan privilege Administrator.

Get-NetAdapterVmq

Dengan command di atas, kita akan mendapatkan adapter mana saja yang VMQ nya diaktifkan dan di sebelah paling kanan di tampilkan berapa max queue yang bisa di peroleh.

  • Name: Nama interface adapter
  • InterfaceDescription: Deskripsi dari interface ybs
  • Enabled: Status apakah VMQ dalam keadaan Enabled / Disabled
  • NumberOfReceiveQueues: Banyaknya queue yang bisa diterima

Biasanya masalah terjadi ketika Queue yang bisa ditampung sedikit, namun counting vmq-usage nya sangat besar. Kita cek berapa pemakaian vmq usage yang sebenarnya.

PS C:\Windows\system32> Get-VM | Get-VMNetworkAdapter | ft name,vmqusage|measure
Count : 70
Average :
Sum :
Maximum :
Minimum :
Property :

Jika di lihat di atas, countingnya adalah 70 (cukup besar). Sekarang bandingkan dengan VMQueue yang saat ini ada di command Get-NetAdapterVmq tadi.

Disable VMQ

Jika merujuk banyak referensi baik itu dari forum Microsoft maupun dari beberapa blog system administrator windows lainnya, mereka merekomendasikan untuk disable VMQ atau upgrade NIC card (fisik) yang lebih bagus dan support VM Queue yang lebih besar. Diantara pilihan ini tergantung kita kebutuhannya seperti apa.

Menurut dokumentasi Microsoft, command untuk disable VMQ bervariasi tergantung kita menggunakan Windows Server versi apa. Dalam hal ini saya menggunakan Windows Server 2012 R2, jadi :

Disable-NetAdapterVmq -Name GuestTrafficAdapter

Butuh Restart

Di dalam dokumentasi disebutkan bahwa setelah melakukan disable VMQ, proses restart server dibutuhkan, karena ada beberapa modul yang hanya bisa take effect setelah berhasil di restart.

Leave a Reply

Your email address will not be published.