আমি ভার্চুয়াল মেশিনে একটি পুরানো ভিডিও কার্ড (র্যাডিয়ন 4770) সংযুক্ত করার জন্য পিসিআই-পাসস্ট্র্রু ব্যবহার করার চেষ্টা করছি। আমি ডেবিয়ান লিনাক্স (হুইজি, ৩.২.০-৪-এমডি 64) হোস্টে আমার ভার্চুয়াল মেশিনগুলি চালানোর জন্য লিনাক্স-কেভিএম ব্যবহার করছি।
প্রশ্ন
স্পষ্ট করে বলতে গেলে, আমি নিশ্চিত নন যে লিনাক্স কেভিএম দিয়ে পিসিআই-পাসস্ট্র্রু প্ররোচিত করার জন্য সঠিক 'পথ' কী। এই পর্যায়ে আমি সন্দেহ সঠিক কর্ম হয় যোগ CONFIG_DMAR
, CONFIG_DMAR_DEFAULT_ON
এবং CONFIG_PCI_STUB
"বাস অপশন (পিসিআই ইত্যাদি)" কার্নেল সোর্স এবং পুনরায় কম্পাইল বিভাগে।
তবে আমি নিশ্চিত নই যে এটি পুনর্নির্মাণের আগে প্রয়োজনীয় সংযোজনগুলির একটি সম্পূর্ণ তালিকা। অথবা যদি কার্নেলটি পুনরায় সংশ্লেষ করা প্রয়োজন - তবে কোনও সহজ পদ্ধতি আছে?
আমি যে গাইডগুলি রেফারেন্স করেছি তার মধ্যে কেবল লিনাক্স- কেভিএম.আর.গ্রন্থই স্পষ্টভাবে উল্লেখ করেছে যে সংকলন প্রয়োজনীয়। লিনাক্স-কেভিএম ইতিমধ্যে ইনস্টল এবং হাইপারভাইজার হিসাবে কাজ করছে।
গবেষণা
এই মুহুর্তে আমি মনে করি আমার সমস্যাটি আমার কর্নেলের সাথে সম্পর্কিত। আমার প্রাথমিক সংস্থানটি লিনাক্স- কেভিএম.আর.এ ( http://www.linux-kvm.org/page/How_to_assign_devices_with_VT-d_in_KVM ) এ গাইড হয়েছে । তবে, আমি অন্যান্য সংস্থানগুলি পেয়েছি যা কিছুটা আলাদা পদ্ধতি নির্দেশ করে যা (আপাতদৃষ্টিতে) বন্টন নির্দিষ্ট:
ফেডোরা-- https://docs.fedoraproject.org/en-US/Fedora/13/html/ ভার্চুয়ালাইজেশন_গুইড / চ্যাপ- ভার্চুয়ালাইজেশন- পিসিআই_প্যাসস্ট্রোহ
সুস - "ওপেনসুএস: কেভিএম সহ ভার্চুয়ালাইজেশন" (স্বল্প প্রাসঙ্গিকতা এবং 2-লিঙ্কের সীমাবদ্ধতার কারণে লিঙ্ক বাদ দেওয়া হয়েছে)
ফেডোরা গাইড রেফারেন্সিং পর্যন্ত কাজ করে setsebool
যা রেডহ্যাট-নির্দিষ্ট বলে মনে হয়। SUSE গাইড ইঙ্গিত করে গ্রাফিক্স-কার্ড অ্যাসাইনমেন্টটি SUSE দ্বারা সমর্থিত নয়, তবে আমি CONFIG_DMAR_DEFAULT_ON
এটিকেও উল্লেখ করছি কারণ এটি নির্দেশ করেছে যে আমার / boot / config-ameuname -r` এর মধ্যে একটি স্ট্রিং খুঁজে পাওয়া উচিত ` লিনাক্স- কেভিএম.আর . সাইটটিও রেফারেন্স করে CONFIG_DMAR_DEFAULT_ON
, সুতরাং এটি একটি সাধারণ এবং প্রয়োজনীয় উপাদান হিসাবে উপস্থিত হয়।
দ্রষ্টব্য: আমি ফেডোরা বা ডেবিয়ানদের গাইডে গ্রাফিক্স কার্ডের জন্য কোনও বিধিনিষেধ পাইনি। রেফারেন্সযুক্ত সুস ডকুমেন্টটি 2006-2013 তারিখের।
আমি CONFIG_DMAR_DEFAULT_ON
আমার সিস্টেমে / boot / config-ameuname -r` খুঁজে পাচ্ছি না । আরও গবেষণাটি সূচিত করে যে CONFIG_DMAR
, CONFIG_DMAR_DEFAULT_ON
এবং CONFIG_PCI_STUB
লিনাক্স কার্নেল কনফিগারেশন আইটেমগুলি যা linux-kvm.org- র নির্দেশের সাথে প্রাসঙ্গিক । এই হিসাবে আমি বিশ্বাস করি যে আমার এই হোস্টের কার্নেলটি এই 3 টি (কমপক্ষে) কার্নেল কনফিগার আইটেমগুলির সাথে পুনরায় সংকলন করা দরকার। intel_iommu=on
আমার হোস্ট-ওএসে কার্নেল প্যারামিটার হিসাবে বুট করা অপর্যাপ্ত বলে মনে হচ্ছে।
GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_iommu=on"
ভিটি-ডি / আইওএমএমইউ / কেভিএম সমর্থন নিশ্চিতকরণ
আমার গবেষণা ইঙ্গিত দেয় যে পিসিআই-পাসস্ট্র্রু ভিটি-ডি এর জন্য উভয় সিপিইউ এবং মাদারবোর্ড সমর্থন প্রয়োজন।
, VT-ঘ
আমি নিশ্চিত করেছি যে আমার প্রসেসর, একটি নন-কে ইনটেল আই -3--3770০ (প্রতি ark.intel.com/products/65719), ভিটি-ডি সমর্থন করে:
নির্দেশিত আই / ও (ভিটি-ডি) জন্য ইন্টেল ভার্চুয়ালাইজেশন প্রযুক্তি ‡ হ্যাঁ
আমার Asrock Z77 এক্সট্রিম 4 মাদারবোর্ড ভিটি-ডি সমর্থন করে (ব্যবহারকারী ম্যানুয়াল এর 62 পৃষ্ঠা প্রতি):
ভিটি-ডি ইন্টেল-ভিটি-ডি প্রযুক্তি সক্ষম করতে বা অক্ষম করতে এটি ব্যবহার করুন (নির্দেশিত আই / ও এর জন্য ইন্টেল ® ভার্চুয়ালাইজেশন প্রযুক্তি)। এই বৈশিষ্ট্যের ডিফল্ট মান হ'ল [অক্ষম]।
IOMMU
আমি যাচাই করেছি যে আমার সিস্টেমে IOMMU সমর্থন রয়েছে:
dmesg | grep -e DMAR -e IOMMU | grep -e "DRHD base" -e "enabled"
[ 0.000000] Intel-IOMMU: enabled
সাহায্যে KVM
কেভিএম পিসিআই-পাসস্ট্র্রু সমর্থন থেকে পৃথক করে ইনস্টল এবং কার্যকরী রয়েছে:
lsmod | grep kvm
kvm_intel 121968 0
kvm 287749 1 kvm_intel
আমি নিশ্চিত করেছি যে আমার মাদারবোর্ডের বিআইওএসের মাধ্যমে ভিটি-ডি সক্ষম করা আছে। এই হিসাবে, আমি হার্ডওয়ার / বিআইওএস সমস্যাগুলি সন্দেহ করি না যা ভিটি-ডি ব্যবহার রোধ করবে। নির্বিশেষে, আমি আমার ভিডিও কার্ডটি সফলভাবে আমার হোস্টের কাছ থেকে আলাদা করতে এবং এটি ভার্চুয়াল মেশিনে পুনরায় অর্পণ করতে অক্ষম ।
সমাপ্তি চিন্তা
শেষ পর্যন্ত আমি উল্লেখ করতে চাই যে আমি পরীক্ষার চেষ্টাও করেছি:
echo "8086 10b9" \> /sys/bus/pci/drivers/pci-stub/new_id
echo "0000:01:00.0" \> /sys/bus/pci/devices/0000:01:00.0/driver/unbind
echo "0000:01:00.0" \> /sys/bus/pci/drivers/pci-stub/bind
echo "8086 10b9" > /sys/bus/pci/drivers/pci-stub/remove_id
kvm -m 512 -boot c -net none -hda debian-7.1.0-amd64-netinst.iso -device pci-assign,host=01:00.0
লক্ষ্য ভিএম তৈরির চেষ্টা করার পরে নিম্নলিখিত ত্রুটি পেয়েছে:
Failed to assign device "(null)" : Device or resource busy
*** The driver 'pci-stub' is occupying your device 0000:01:00.0.
***
*** You can try the following commands to free it:
***
*** $ echo "8086 10b9" > /sys/bus/pci/drivers/pci-stub/new_id
*** $ echo "0000:01:00.0" > /sys/bus/pci/drivers/pci-stub/unbind
*** $ echo "0000:01:00.0" > /sys/bus/pci/drivers/pci-stub/bind
*** $ echo "8086 10b9" > /sys/bus/pci/drivers/pci-stub/remove_id
***
kvm: -device pci-assign,host=01:00.0: Device 'pci-assign' could not be initialized
আমি এটি অনুমান করছি কারণ হোস্টটি এখনও ভিডিও কার্ডের নিয়ন্ত্রণ ছাড়বে না এবং সম্ভবত কার্নেলটি যথাযথ কনফিগারেশন আইটেমগুলি সংকলন না করায়।
এটি আমার জন্য নতুন অঞ্চল, তাই দয়া করে আমার অনভিজ্ঞতাটি ক্ষমা করুন। আমি চাই ব্যাপকভাবে , সবটা কোনো প্রতিক্রিয়ার তারিফ এমনকি যদি এটা শুধু নিশ্চিতকরণ যে আমি ঠিক দিকে যাচ্ছে না। আমি যদি একটি চমকপ্রদ নজরদারি করেছি বা অত্যধিক চিন্তাভাবনা করছি তবে দয়া করে আমাকে জানান। আমার প্রশ্নের গঠনমূলক সমালোচনাও স্বাগত। আমি আপনাকে "আমাকে সহায়তা করতে সহায়তা" (অথবা আমি যদি খুব বেশি অন্তর্ভুক্ত করেছি!) সরবরাহ করার জন্য পর্যাপ্ত তথ্য না সরবরাহ করি তবে আমাকে জানতে দিন। আমি আমার প্রশ্নকে আরও পরিষ্কার বা উত্তর সহজ করার জন্য আরও বেশি খুশি হব।
তুমাকে অগ্রিম ধন্যবাদ,