Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रणाली >> Windows Server

Windows Server 2019 पर Hyper-V VMs में खराब नेटवर्क प्रदर्शन

कई बार मैं एक ऐसी स्थिति का सामना कर चुका हूं जहां Windows Server 2019 चलाने वाले Hyper-V होस्ट पर वर्चुअल मशीनों से/में फ़ाइलें कॉपी करना, उसी कॉन्फ़िगरेशन की VM की तुलना में Windows Server 2016 चलाने वाले होस्ट पर बहुत धीमी थी। कुछ परीक्षणों में, Windows Server 2019 पर VM पर नेटवर्क पर पढ़ने/लिखने की गति WS2016 की तुलना में लगभग तीन गुना कम है (SMB, SSH/SCP पर कॉपी करना परीक्षण किया गया)। इस लेख में, मैंने Windows Server 2019 (और नवीनतम Windows 10 और 11 बिल्ड्स) पर चलने वाले Hyper-V वर्चुअल मशीनों के नेटवर्क प्रदर्शन को बेहतर बनाने के कई अलग-अलग तरीकों का वर्णन करने का प्रयास किया।

Hyper-V vSwitch में रिसीव सेगमेंट कोलेसिंग (RSC)

सबसे पहले, आपको रिसीव सेगमेंट कोलेसिंग (RSC) सुविधा पर ध्यान देना चाहिए जो Windows Server 2019/2022 (और Windows 10 1809+) पर Hyper-V में दिखाई दी। रिसीव सेगमेंट कोलेसिंग का उपयोग वर्चुअल स्विच स्तर (vSwitch) पर किया जाता है। RSC कई TCP सेगमेंट्स को बड़े सेगमेंट्स में जोड़कर CPU लोड को कम करने और नेटवर्क थ्रूपुट बढ़ाने की अनुमति देता है। नेटवर्क प्रदर्शन में सुधार होता है क्योंकि बड़े सेगमेंट्स को कई छोटे सेगमेंट्स की तुलना में तेजी से संसाधित किया जाता है।

पिछले Hyper-V संस्करणों (Windows Server 2016/2012R2) में, केवल NIC स्तर पर हार्डवेयर रिसीव सेगमेंट कोलेसिंग मोड समर्थित था।

यदि RSC समर्थन सक्षम है, तो कुछ हार्डवेयर कॉन्फ़िगरेशन में अतिरिक्त नेटवर्क विलंब हो सकता है।

यह समस्या Windows Server 2019 फुल GUI संस्करणों और मुफ्त Windows Hyper-V Server दोनों में होती है।

डिफ़ॉल्ट रूप से, Windows Server 2019 पर सभी बाहरी vSwitches के लिए RSC सक्षम है।

आप निम्न कमांड का उपयोग करके जांच सकते हैं कि वर्चुअल स्विच के लिए RSC सक्षम है या नहीं:

Get-VMSwitch | Select-Object *RSC*

आप निम्न कमांड का उपयोग करके क्लाइंट नेटवर्क एडॉप्टर पर IPv4 ट्रैफिक के लिए RSC का उपयोग अक्षम कर सकते हैं:

Disable-NetAdapterRsc -Name "Ethernet" -IPv4

जांचें कि Hyper-V VM में कॉपी गति RSC अक्षम करने के बाद बढ़ी है या नहीं। यदि नेटवर्क गति में सुधार हुआ है, तो आप उस वर्चुअल स्विच पर RSC अक्षम कर सकते हैं जिससे VM जुड़ा हुआ है।

आप iperf टूल का उपयोग करके अपने नेटवर्क थ्रूपुट की जांच कर सकते हैं।

किसी विशिष्ट वर्चुअल स्विच के लिए सॉफ्टवेयर RSC अक्षम करने के लिए, कमांड चलाएं:

Set-VMSwitch -Name vSwitchName -EnableSoftwareRsc $false

आप RSC को ऑन-द-फ्लाई सक्षम/अक्षम कर सकते हैं, यह किसी भी सक्रिय कनेक्शन को प्रभावित नहीं करेगा।

या आप अपने Windows होस्ट पर RSC को पूरी तरह से अक्षम कर सकते हैं:

netsh int tcp set global rsc=disabled

नेटवर्क एडॉप्टर ड्राइवर में वर्चुअल मशीन कतार (VMQ) मोड

कुछ मामलों में, यदि भौतिक Hyper-V होस्ट के नेटवर्क एडॉप्टर ड्राइवर में VMQ (वर्चुअल मशीन कतार) सक्षम है, तो इसके परिणामस्वरूप Hyper-V वर्चुअल मशीनों में खराब नेटवर्क प्रदर्शन हो सकता है। VMQ एक हार्डवेयर सुविधा है और यदि यह आपके हार्डवेयर द्वारा समर्थित नहीं है लेकिन ड्राइवर में सक्षम है, तो इसके परिणामस्वरूप पैकेट हानि और बढ़ी हुई नेटवर्क विलंबता हो सकती है। यह समस्या Broadcom गीगाबिट नेटवर्क एडॉप्टर्स के लिए विशिष्ट है और सभी Hyper-V संस्करणों (Windows Server 2012 R2/2016/2019) में होती है।

VMQ को भौतिक नेटवर्क एडॉप्टर से वर्चुअल मशीनों में पैकेट्स को सीधे अग्रेषित करके नेटवर्क प्रदर्शन में सुधार करने के लिए डिज़ाइन किया गया है।

आप अपने नेटवर्क एडॉप्टर ड्राइवर के गुणों में VMQ अक्षम कर सकते हैं।

या आप PowerShell का उपयोग करके VMQ समर्थन वाले नेटवर्क एडॉप्टर्स की सूची और उनकी स्थिति प्रदर्शित कर सकते हैं:

Get-NetAdapterVmq

किसी विशिष्ट NIC के लिए VMQ अक्षम करने के लिए, नीचे दी गई कमांड चलाएं (नेटवर्क एडॉप्टर कुछ सेकंड के लिए अनुपलब्ध होगा):

Set-NetAdapterVmq -Name “NICName” -Enabled $False

VMQ अक्षम करने के बाद, होस्ट को पुनरारंभ करना और नेटवर्क प्रदर्शन की जांच करना बेहतर है।

सुनिश्चित करें कि Windows में QoS बैंडविड्थ सीमा नीतियां अक्षम हैं।

Windows Server 2019 पर Hyper-V के लिए TCP सेटिंग्स ऑप्टिमाइज़ करें

अपने Hyper-V होस्ट पर वर्तमान TCP सेटिंग्स को सहेजें और नई सेटिंग्स लागू करें जो Windows Server 2019 में TCP सेटिंग्स को Windows Server 2016 के समान बना देगा।

वर्तमान सेटिंग्स सहेजें:

Get-NetTCPSetting -SettingName Datacenter,DatacenterCustom,InternetCustom,Internet|select SettingName,CongestionProvider,CwndRestart,ForceWS|Export-csv c:\backup\ws2019_network_stack_settings_nettcp_backup.csv

डिफ़ॉल्ट रूप से Windows Server 2019 और Windows 10 1709+ में, TCP का CUBIC कार्यान्वयन उपयोग किया जाता है। यह एल्गोरिदम उच्च विलंबता वाले उच्च गति नेटवर्क के लिए अनुकूलित है (यह Linux कर्नेल 2.6.19 और नए में डिफ़ॉल्ट रूप से भी उपयोग किया जाता है)।

निम्न सेटिंग्स केवल Windows Server 2019 या Hyper-V 2019 में लागू करें।

LAN के लिए नई NetTCP सेटिंग्स लागू करें:

Set-NetTCPSetting -SettingName DatacenterCustom,Datacenter -CongestionProvider DCTCP
Set-NetTCPSetting -SettingName DatacenterCustom,Datacenter -CwndRestart True
Set-NetTCPSetting -SettingName DatacenterCustom,Datacenter -ForceWS Disabled

WAN के लिए:

Set-NetTCPSetting -SettingName InternetCustom,Internet -CongestionProvider CTCP
Set-NetTCPSetting -SettingName InternetCustom,Internet -DelayedAckTimeoutMs 50
Set-NetTCPSetting -SettingName InternetCustom,Internet -ForceWS Disabled

TCP स्टैक स्तर पर नेटवर्क RSS और RSC ऑप्टिमाइज़ेशन विधियों को अक्षम करें:

netsh int tcp show global
netsh int tcp set global RSS=Disabled
netsh int tcp set global RSC=Disabled

या NIC स्तर पर:

Get-NetAdapter | Set-NetAdapterAdvancedProperty -DisplayName "Recv Segment Coalescing (IPv4)" -DisplayValue "Disabled" -NoRestart
Get-NetAdapter | Set-NetAdapterAdvancedProperty -DisplayName "Recv Segment Coalescing (IPv6)" -DisplayValue "Disabled" -NoRestart
Get-NetAdapter | Set-NetAdapterAdvancedProperty -DisplayName "Receive Side Scaling" -DisplayValue "Disabled" –NoRestart

सभी VMs के लिए vRSS अक्षम करें:

Get-VM | Set-VMNetworkAdapter -VrssEnabled $FALSE

NICs पर लार्ज सेंड ऑफलोड (LSO) अक्षम करें:

Get-NetAdapter | Set-NetAdapterAdvancedProperty -DisplayName "Large Send Offload Version 2 (IPv4)" -DisplayValue "Disabled" -NoRestart
Get-NetAdapter | Set-NetAdapterAdvancedProperty -DisplayName "Large Send Offload Version 2 (IPv6)" -DisplayValue "Disabled" -NoRestart
Get-NetAdapter | Restart-NetAdapter

आप इन विकल्पों को अपने नेटवर्क एडॉप्टर गुणों के उन्नत टैब में भी अक्षम कर सकते हैं:

  • Recv Segment Coalescing (IPv4/IPv6) = अक्षम
  • Large Send Offload V2 (IPv4/IPv6) = अक्षम

ये TCP स्टैक सेटिंग्स Windows Server 2019 नेटवर्क प्रोटोकॉल सेटिंग्स को पिछले Windows Server संस्करणों के समान बना देंगी।

  1. Windows Server 2019 में Hyper-V भूमिका इंस्टॉल करें Windows Server 2019 में Hyper-V भूमिका इंस्टॉल करें

    यदि आप हमारे लेखों के प्रशंसक हैं, तो आपने शायद कई लेख देखे हैं जो Hyper-V 2019 के बारे में बात करते हैं। वर्चुअलाइजेशन को ठीक से समझने के बाद, अगला कदम हमारे वातावरण को उस मशीन से लैस करना है जो हाइपरवाइजर के रूप में काम कर सके और जो Windows Server 2010 या Hyper-V 2019 कोर सर्वर के साथ संगत हो। भौत

  1. Hyper-V 2019 में वर्चुअल स्विच कॉन्फ़िगर करना Hyper-V 2019 में वर्चुअल स्विच कॉन्फ़िगर करना

    पिछले कुछ लेखों में, हमने Hyper-V 2019 के बारे में बात की, और आपको इंस्टॉलेशन, प्रारंभिक कॉन्फ़िगरेशन, और आपकी पहली वर्चुअल मशीन की तैनाती की प्रक्रिया के बारे में बताया। यदि आप इन लेखों से चूक गए हैं, तो आप उन्हें निम्न लिंक पर देख सकते हैं: भाग 1: Hyper-V 2019 सर्वर कोर इंस्टॉल करें भाग 2: Hyper-V

  1. विंडोज 7, 8 और 10 पर  RPC सर्वर अनुपलब्ध है  त्रुटि ठीक करें विंडोज 7, 8 और 10 पर 'RPC सर्वर अनुपलब्ध है' त्रुटि ठीक करें

    RPC को रिमोट प्रोसीजर कॉल के रूप में भी जाना जाता है। यह कंप्यूटरों के उभरने के बाद से मौजूद एक तकनीक है और इंटरप्रोसेस कम्युनिकेशन तकनीक का उपयोग करती है। इसका प्राथमिक उद्देश्य एक क्लाइंट और सर्वर को नेटवर्क पर एक दूसरे के साथ संवाद करने में सक्षम बनाना है। यही बात उपकरणों के लिए भी कही जा सकती है