কম্পিউটার

উইন্ডোজ সার্ভারে হাইপার-ভি ভার্চুয়াল মেশিনের জন্য SR-IOV কনফিগার করুন

SR-IOV (Single Root Input/Output Virtualization ) হল একটি হোস্ট হার্ডওয়্যার ডিভাইস ভার্চুয়ালাইজেশন প্রযুক্তি যা ভার্চুয়াল মেশিনগুলিকে হোস্ট ডিভাইসগুলিতে সরাসরি অ্যাক্সেসের অনুমতি দেয়। এটি বিভিন্ন ধরণের ডিভাইস ভার্চুয়ালাইজ করতে পারে, তবে বেশিরভাগ ক্ষেত্রে এটি নেটওয়ার্ক অ্যাডাপ্টারগুলিকে ভার্চুয়ালাইজ করতে ব্যবহৃত হয়। এই নিবন্ধে, আমরা আপনাকে দেখাব কিভাবে উইন্ডোজ হাইপার-ভি সার্ভারে ভার্চুয়াল মেশিন নেটওয়ার্ক অ্যাডাপ্টারের জন্য SR-IOV সক্ষম এবং কনফিগার করতে হয়।

ফ্রি উইন্ডোজ হাইপার-ভি সার্ভার সহ হাইপার-ভি 2012+ এ SRV-IOV সমর্থিত। আমরা বিস্তারিতভাবে SR-IOV নীতিগুলিতে ডুব দেব না, যেহেতু আপনি ওয়েবে সম্পূর্ণ নির্দেশিকা পেতে পারেন। একটি ব্যবহারিক বোঝার জন্য, এটি জানা যথেষ্ট যে SR-IOV VM-এর জন্য হোস্টের শারীরিক নেটওয়ার্ক অ্যাডাপ্টারগুলিতে সরাসরি অ্যাক্সেস প্রদান করতে এবং হাইপার-ভি ভার্চুয়াল সুইচগুলির মাধ্যমে ট্র্যাফিক প্রক্রিয়াকরণকে বাইপাস করার অনুমতি দেয়। SR-IOV মোডে একটি ফিজিক্যাল নেটওয়ার্ক অ্যাডাপ্টার একাধিক ভার্চুয়াল মেশিনে পরিবেশন করতে পারে।

হাইপার-ভি ভার্চুয়াল মেশিনের জন্য SR-IOV ব্যবহার করার কারণে, আপনি উল্লেখযোগ্যভাবে থ্রুপুট বাড়াতে সক্ষম হবেন , নেটওয়ার্ক লেটেন্সি এবং CPU লোড হ্রাস করুন হাইপার-ভি সফ্টওয়্যার দ্বারা নেটওয়ার্ক ট্র্যাফিক প্রক্রিয়াকরণের কারণে ঘটে।

SR-IOV NIC টিমিংয়ের সাথে সামঞ্জস্যপূর্ণ নয়।

আপনার হাইপার-ভি হোস্টে SRV-IOV সক্ষম করার জন্য, কিছু প্রয়োজনীয়তা অবশ্যই পূরণ করতে হবে।

প্রথমত, আপনার সার্ভারের BIOS-এ SRV-IOV এবং ভার্চুয়ালাইজেশন সমর্থন সক্ষম করুন। বিক্রেতার উপর নির্ভর করে, সেটিংস পরিবর্তিত হতে পারে।

  • ভার্চুয়ালাইজেশন সমর্থন:ইন্টেল (ভার্চুয়ালাইজেশন প্রযুক্তি, ইন্টেল ভিটি, ভিটি-ডি, ভ্যান্ডারপুল), এএমডি (এসভিএম, এএমডি-ভি)
  • IOMMU
  • SR-IOV
  • ASPM

উইন্ডোজ সার্ভারে হাইপার-ভি ভার্চুয়াল মেশিনের জন্য SR-IOV কনফিগার করুন

আপনার কাছে প্রতিটি আইটেম নাও থাকতে পারে, এমনকি কোনো SR-IOVও নেই। কিন্তু এর মানে এই নয় যে SR-IOV আপনার সার্ভার দ্বারা সমর্থিত নয়। উদাহরণস্বরূপ, সুপারমাইক্রো মাদারবোর্ডে BIOS-এ SR-IOV নাও থাকতে পারে, কিন্তু ডিফল্টরূপে ASPM নিষ্ক্রিয় থাকে। আপনি ASPM এবং ভার্চুয়ালাইজেশন সমর্থন সক্ষম করলে, SR-IOV স্বয়ংক্রিয়ভাবে সক্ষম হবে৷

মনে রাখবেন যে যদি BIOS সেটিংসে অক্ষম SR-IOV সহ একটি হোস্ট Windows OS ইনস্টল করা থাকে, তাহলে আপনি এটি সক্ষম করার পরে, একটি সিস্টেম বিবেচনা করে যে আপনি একটি নেটওয়ার্ক অ্যাডাপ্টার প্রতিস্থাপন করেছেন (বর্তমান স্ট্যাটিক আইপি ঠিকানা রিসেট করা হয়েছে)।

আপনি PowerShell ব্যবহার করে হার্ডওয়্যার স্তরে আপনার হাইপার-ভি সার্ভার দ্বারা SR-IOV সমর্থিত কিনা তা নিশ্চিত করতে পারেন:

(get-vmhost).IovSupport
(get-vmhost).IovSupportReasons

উইন্ডোজ সার্ভারে হাইপার-ভি ভার্চুয়াল মেশিনের জন্য SR-IOV কনফিগার করুন

যদি আপনার সার্ভার বৈশিষ্ট্য সমর্থন করে, IovSupport-এ True থাকবে . যদি তা না হয়, তাহলে তা হবে False . এই ক্ষেত্রে, IovSupportReasons আইটেম SR-IOV সমর্থিত না হওয়ার কারণ দেখায়। সাধারণত, কারণটি বিস্তারিতভাবে বর্ণনা করা হয়। এখানে সাধারণ কারণগুলি রয়েছে:

  • সিস্টেমের চিপসেট রিম্যাপিংকে বাধা দেয় না, যা ছাড়া SR-IOV সমর্থন করা যায় না।
  • এসআর-আইওভি এই কম্পিউটারে ব্যবহার করা যাবে না কারণ প্রসেসর দ্বিতীয়-স্তরের ঠিকানা অনুবাদ (SLAT) সমর্থন করে না। ইন্টেল প্রসেসরের জন্য, এই বৈশিষ্ট্যটিকে এক্সটেন্ডেড পেজ টেবিল (EPT) হিসাবে উল্লেখ করা যেতে পারে। AMD প্রসেসরের জন্য, এই বৈশিষ্ট্যটিকে র‍্যাপিড ভার্চুয়ালাইজেশন ইনডেক্সিং (RVI) বা নেস্টেড পেজ টেবিল (NPT) হিসাবে উল্লেখ করা যেতে পারে।
  • এসআর-আইওভি এই সিস্টেমে ব্যবহার করা যাবে না কারণ PCI এক্সপ্রেস হার্ডওয়্যার কোনো রুট পোর্টে অ্যাক্সেস কন্ট্রোল সার্ভিসেস (ACS) সমর্থন করে না। আরও তথ্যের জন্য আপনার সিস্টেম বিক্রেতার সাথে যোগাযোগ করুন৷
  • এই কম্পিউটারে SR-IOV ব্যবহার করতে, BIOS আপডেট করতে হবে কারণ এতে হার্ডওয়্যারের ক্ষমতা বর্ণনা করে ভুল তথ্য রয়েছে। একটি আপডেটের জন্য আপনার কম্পিউটার প্রস্তুতকারকের সাথে যোগাযোগ করুন৷
  • সিস্টেমের চিপসেট DMA রিম্যাপিং করে না, যা ছাড়া SR-IOV সমর্থন করা যায় না।
  • এসআর-আইওভি এই সিস্টেমে ব্যবহার করা যাবে না কারণ এটি I/O রিম্যাপিং হার্ডওয়্যার ব্যবহার নিষ্ক্রিয় করার জন্য কনফিগার করা হয়েছে৷
  • এই সিস্টেমে SR-IOV ব্যবহার করতে, সিস্টেম BIOS আপডেট করতে হবে যাতে Windows-কে PCI Express নিয়ন্ত্রণ করতে দেয়। একটি আপডেটের জন্য আপনার সিস্টেম প্রস্তুতকারকের সাথে যোগাযোগ করুন৷
  • নিশ্চিত করুন যে সিস্টেমে SR-IOV-এর জন্য চিপসেট সমর্থন রয়েছে এবং BIOS-এ I/O ভার্চুয়ালাইজেশন সক্ষম করা আছে।
  • এসআর-আইওভি এই সিস্টেমে ব্যবহার করা যাবে না কারণ এটি রিপোর্ট করছে যে কোনও PCI এক্সপ্রেস বাস নেই। আরও তথ্যের জন্য আপনার সিস্টেম প্রস্তুতকারকের সাথে যোগাযোগ করুন৷

get-vmswitch | fl *iov* কমান্ডে কিছু দরকারী তথ্য রয়েছে। যেমনঃ

IovVirtualFunctionCount : 6
IovVirtualFunctionsInUse : 3

সংখ্যাগুলি দেখায় কতগুলি IOV ভার্চুয়াল ডিভাইস উপলব্ধ এবং কতগুলি ভার্চুয়াল মেশিন দ্বারা ব্যবহৃত হয়৷

একটি হাইপার-ভি ভার্চুয়াল সুইচ তৈরি করার সময়, SR-IOV সমর্থন বিকল্পটি পরীক্ষা করুন — একক-রুট I/O ভার্চুয়ালাইজেশন সক্ষম করুন (SR-IOV) .

উইন্ডোজ সার্ভারে হাইপার-ভি ভার্চুয়াল মেশিনের জন্য SR-IOV কনফিগার করুন

অথবা PowerShell ব্যবহার করে ভার্চুয়াল সুইচ তৈরি করার সময় EnableIOV বিকল্পটি সক্রিয় করুন:

New-VMSwitch -Name "VMNetExt" -NetAdapterName "Ethernet 2" -EnableIov 1

গুরুত্বপূর্ণ . ভার্চুয়াল সুইচ তৈরি করার পরে আপনি SR-IOV সক্ষম করতে পারবেন না। আপনি যদি একবারে এটি না করে থাকেন তবে আপনাকে vswitch মুছে ফেলতে হবে এবং আবার তৈরি করতে হবে।

যদি SR-IOV একটি হাইপারভাইজার হোস্ট দ্বারা সমর্থিত হয়, তাহলে এর মানে এই নয় যে এটি একটি নির্দিষ্ট ভার্চুয়াল সুইচে কাজ করবে। সুইচটি অবশ্যই SR-IOV সমর্থন সহ একটি নেটওয়ার্ক অ্যাডাপ্টারের সাথে আবদ্ধ হতে হবে৷

আরেকটি গুরুত্বপূর্ণ বিষয় আছে। একটি মাদারবোর্ডে একাধিক নেটওয়ার্ক অ্যাডাপ্টার থাকতে পারে, তবে SR-IOV শুধুমাত্র তাদের কিছু দ্বারা সমর্থিত হতে পারে। অধিকন্তু, যদি SR-IOV এর ডেটাশিট অনুযায়ী অ্যাডাপ্টার দ্বারা সমর্থিত হয়, তাহলে এর মানে এই নয় যে এটি আপনার মাদারবোর্ডে কাজ করছে।

সুতরাং, আপনি একটি সুইচ কনফিগার করার পরে, কমান্ডটি ব্যবহার করে এটি পরীক্ষা করুন:

get-vmswitch | select IovSupport, IovSupportReasons, IovEnabled নির্বাচন করুন

IovEnabled বিকল্পটি দেখায় যদি SR-IOV সক্ষম হয়।

আপনি PowerShell:

ব্যবহার করে SR-IOV সমর্থন সহ নেটওয়ার্ক অ্যাডাপ্টারের একটি তালিকা প্রদর্শন করতে পারেন

Get-NetAdapterSriov | sort name | ft Name, InterfaceDescription, SriovSupport

আপনি হাইপারভাইজার এবং ভার্চুয়াল সুইচ স্তরে SR-IOV সক্রিয় করার পরে, আপনি এটি আপনার ভার্চুয়াল মেশিনে সক্রিয় করতে পারেন (এটি ডিফল্টরূপে নিষ্ক্রিয় থাকে)। আপনি এসআর-আইওভি সক্ষম করুন খুঁজে পেতে পারেন৷ হার্ডওয়্যার ত্বরণ-এ বিকল্প আপনার ভার্চুয়াল মেশিন নেটওয়ার্ক অ্যাডাপ্টারের বিভাগ।

উইন্ডোজ সার্ভারে হাইপার-ভি ভার্চুয়াল মেশিনের জন্য SR-IOV কনফিগার করুন

অথবা আপনি PowerShell এর মাধ্যমে ভার্চুয়াল মেশিনের নেটওয়ার্ক অ্যাডাপ্টারের জন্য SR-IOV সক্ষম করতে পারেন:

Set-VMNetworkAdapter -VMName mytestvm -VMNetworkAdapterName “Network Adapter” -IovWeight 100

SR-IOV নিষ্ক্রিয় করতে, IovWeight এর মান 0 এ পরিবর্তন করুন।

আপনি একটি পৃথক ইভেন্ট ভিউয়ার লগ সহ হাইপার-ভিতে সমস্ত SR-IOV ত্রুটি এবং ইভেন্টগুলি খুঁজে পেতে পারেন:

অ্যাপ্লিকেশন এবং পরিষেবা লগ -> Microsoft -> Windows -> Hyper-V-SynthNic -> অ্যাডমিন৷

যদি SR-IOV সঠিকভাবে কাজ করে, আপনি ভার্চুয়াল মেশিন স্টার্টআপে ইভেন্ট ভিউয়ারে নিম্নলিখিত এন্ট্রিগুলি দেখতে পাবেন:

12597 Network adapter (%NIC_ID%) Connected to virtual network.
12582 Network adapter (%NIC_ID%) started successfully.
12584 Network adapter (%NIC_ID%) allocated a virtual function.
12588 Network adapter (%NIC_ID%) assigned a virtual function.

SR-IOV ভার্চুয়াল মেশিন এবং একটি হাইপারভাইজার নেটওয়ার্ক কর্মক্ষমতা বৃদ্ধি করে। আপনি হাইপার-ভি হোস্টে SR-IOV ব্যবহার করার সর্বোচ্চ ফলাফল দেখতে পারেন যার ফলে ভার্চুয়াল মেশিনের উচ্চ ট্রাফিক হোস্ট CPU-তে ভারী লোড সৃষ্টি করে।


  1. Windows 10 এ ভার্চুয়াল মেমরি (পৃষ্ঠা ফাইল) পরিচালনা করুন

  2. ডেভেলপারের মতো ভার্চুয়াল মেশিন তৈরি করতে উইন্ডোজ 10-এ হাইপার-ভি কীভাবে সক্ষম করবেন

  3. ধাপে ধাপে:ভার্চুয়াল মেশিন চালানোর জন্য হাইপার-ভি উইন্ডোজ 10 সক্ষম ও কনফিগার করুন

  4. 3টি সেরা রেজিস্ট্রি অপ্টিমাইজার Windows 10, 8, 7