KVM এবং VirtualBox অনুমিতভাবে সহাবস্থান করতে পারে না, অথবা বরং, KVM মডিউলগুলি মেমরিতে লোড করার সময় ভার্চুয়ালবক্স চলবে না। KVM ভার্চুয়ালবক্সের পাশাপাশি ভাল কাজ করতে পারে, তাই এটি একটি একমুখী সমস্যা, সত্যিই। সমাধান করাও সহজ। দুর্ভাগ্যবশত, আমি অনেক ভয়ানক টিউটোরিয়াল পেয়েছি যা এই বা সেই পণ্যটিকে আনইনস্টল করার পরামর্শ দেয়। এবং স্যানার গাইডগুলির মধ্যে যেগুলি কম কঠোর সমাধানের জন্য যায়, বেশিরভাগই আপনাকে rmmod এই বা সেটি বলে, কিন্তু তারা আপনাকে বলে না কিভাবে জিনিসগুলি আবার চালু করা যায়।
আমি আপনাকে দেখাব কিভাবে কেভিএম এবং ভার্চুয়ালবক্স পাশাপাশি ব্যবহার করতে হয়, কোনো একটি আনইনস্টল না করে বা ব্যবহারের মধ্যে রিবুট না করে। আপনি কীভাবে পণ্যগুলিকে নিষ্ক্রিয় এবং সক্ষম করবেন তা শিখবেন যাতে বিরোধপূর্ণ প্রতিরূপ চলতে পারে৷ ভিভোতে, কোন রিবুট হয় না। চল এটা করি.
লক্ষণ - ভার্চুয়ালবক্স চলবে না
আপনি ভার্চুয়ালবক্স চালু করার সময় এই ধরনের ত্রুটি দেখতে পাবেন:
এটি বলে, ভার্চুয়ালবক্স VMX রুট মোডে কাজ করতে পারে না। অনুগ্রহ করে KVM কার্নেল এক্সটেনশন নিষ্ক্রিয় করুন, আপনার কার্নেল পুনরায় কম্পাইল করুন এবং পুনরায় বুট করুন। বাহ, বাহ, ধীরে ধীরে। এটি একটি খুব ভয়ঙ্কর এবং ভীতিকর বার্তা। কিছু পুনরায় কম্পাইল করার কোন প্রয়োজন নেই. ঠিক করতে পাঁচ সেকেন্ড সময় লাগে এবং এটি সম্পূর্ণরূপে অ-ধ্বংসাত্মক।
সমস্যা ব্যাখ্যা করা হয়েছে
ভার্চুয়ালবক্স এবং কেভিএম একসাথে কাজ করতে পারে না। এর মানে হল যে আমরা ভার্চুয়ালবক্স চালাতে চাইলে KVM নিষ্ক্রিয় করতে হবে। প্রশ্ন হল আমরা এটা কিভাবে করি। উত্তর হল:কার্নেল মডিউল সন্নিবেশ এবং অপসারণ করে।
লিনাক্স অপারেটিং সিস্টেম রিবুট ছাড়াই ফ্লাইতে কার্নেল মডিউল সন্নিবেশ এবং অপসারণ সমর্থন করে। এর মানে আপনি ভিভোতে মেমরি থেকে কার্নেল মডিউল লোড এবং আনলোড করতে পারেন। আমার লিনাক্স কমান্ড নিবন্ধ এবং ক্র্যাশ বইতে আরও বিশদ বিবরণ।
আমাদের যা প্রয়োজন তা অর্জন করতে, আমরা insmod এবং rmmod কমান্ড ব্যবহার করব।
মডিউল সরান
এর কার্নেল স্থান পরীক্ষা করা যাক. আমরা প্রথমে lsmod কমান্ডটি ইস্যু করব, মেমরিতে কোন মডিউলগুলি লোড করা হয়েছে তা দেখতে:
আপনি দেখতে পাচ্ছেন, ভার্চুয়ালবক্স vboxdrv এবং vboxnetflt ড্রাইভার ব্যবহার করে, যখন KVM kvm এবং kvm_intel ড্রাইভার ব্যবহার করে। দ্রষ্টব্য:kvm_intel ইন্টেল আর্কিটেকচারের জন্য নির্দিষ্ট। AMD প্ল্যাটফর্মের জন্য kvm_amd আছে। আমাদের কেভিএম মডিউল আনলোড করতে হবে।
/sbin/rmmod kvm_intel
/sbin/rmmod kvm
বড় প্রশ্ন:কিন্তু এখন, KVM চলে গেছে। আমি কিভাবে এটা ফিরে পেতে পারি, দয়া করে?
আহ, খুব ভাল! দেখা যাক কিভাবে আমরা পুনরুদ্ধার করতে পারি।
মডিউল ঢোকান
ঠিক যেমন আমরা মডিউলগুলি সরিয়ে দিয়েছি, আমরা সেগুলি সন্নিবেশ করতে পারি। আপনাকে আপনার ডিস্কে মডিউলগুলি সনাক্ত করতে হবে এবং তারপর সেগুলি সন্নিবেশ করতে হবে। আপনি modprobe কমান্ডটিও ব্যবহার করতে পারেন, যা নির্ভরতা থাকলে সর্বদা দরকারী।
আসুন মডিউলগুলি সন্ধান করি (কমান্ডে sudo অনুমান করুন, তবে রুট হিসাবেও চালানো যেতে পারে):
আপডেট করা খ
kvm
অনেক ফলাফল থাকবে, তাই আপনি kvm.ko এবং kvm-intel.ko-এ অনুসন্ধান সীমাবদ্ধ করতে পারেন।
এখন, আপনার চলমান কার্নেলের সাথে মেলে এমন একটি সন্নিবেশ করুন। আপনি uname -r ব্যবহার করে চেক করতে পারেন।
/sbin/insmod /lib/modules/`uname -r`/kernel/arch/x86/kvm/kvm.ko
/sbin/insmod /lib/modules/`uname -r`/kernel/arch/x86/kvm/kvm-intel.ko
এখানে একটি স্ক্রিনশট আছে. প্রথমত, আমরা কেভিএম মডিউল পরীক্ষা করি। lsmod কমান্ড দেখায় যে এটি লোড হয় না। তারপর, আমরা kvm মডিউলগুলি লোড করি এবং আবার lsmod কমান্ড ইস্যু করি।
দয়া করে মনে রাখবেন স্ক্রিনশট কমান্ডগুলি উপরের কোড বক্সে লেখা কমান্ডের থেকে সামান্য আলাদা। আমি ধরে নিয়েছিলাম যে /sbin PATH-এ ছিল, তাই আমি সংক্ষিপ্ততার জন্য একটি সংক্ষিপ্ত insmod কমান্ড ব্যবহার করেছি। একই সময়ে, আমি সম্পূর্ণ মডিউল পাথ ব্যবহার করেছি, এটি দেখতে কেমন তা আপনাকে দেখানোর জন্য। আপনি যদি পদ্ধতিটি স্ক্রিপ্ট করতে চান, যেটি আপনার করা উচিত, তাহলে সম্পূর্ণ পাথগুলি আবশ্যক এবং ব্যাকটিক্স ব্যবহার করে কমান্ড প্রতিস্থাপনের সুপারিশ করা হয় বৃহত্তর মডুলারিটির জন্য।
স্ক্রিপ্ট
এখন, এটি স্বয়ংক্রিয় করার সময়। আপনার দুটি স্ক্রিপ্ট দরকার। একটি KVM মডিউল আনলোড করার জন্য এবং একটি লোড করার জন্য। আপনি যদি সত্যিই কঠোর হতে চান, তাহলে আপনি KVM ব্যবহার করার সময় ভার্চুয়ালবক্স পরিষেবা বন্ধ করতে পারেন এবং KVM ব্যবহার করার পরে এটি শুরু করতে পারেন। উদাহরণ, ভার্চুয়ালবক্স ড্রাইভারের সাথে ধাক্কাধাক্কি:
তাই, ভার্চুয়ালবক্স সক্রিয় করতে এবং কেভিএম নিষ্ক্রিয় করার জন্য একটি নমুনা স্ক্রিপ্ট হবে:
#!/bin/bash
/sbin/rmmod kvm_intel
/sbin/rmmod kvm
/etc/init.d/vboxdrv শুরু
এবং কেভিএম লোড করা এবং ভার্চুয়ালবক্স বন্ধ করার জন্য একটি হবে:
#!/bin/bash
/etc/init.d/vboxdrv স্টপ
/sbin/insmod /lib/modules/`uname -r`/kernel/arch/x86/kvm/kvm.ko
/sbin/insmod /lib/modules/`uname -r`/kernel/arch/x86/kvm/kvm-intel.ko
AMD মেশিনের জন্য, kvm-intel.ko কে kvm-amd.ko দিয়ে প্রতিস্থাপন করুন। অনুগ্রহ করে মনে রাখবেন যে আপনি একটি শুরু করা পরিষেবা শুরু করার চেষ্টা করছেন না তা নিশ্চিত করার জন্য স্যানিটি চেক করা প্রয়োজন৷ আমি এগুলো যোগ করিনি; তাদের হোমওয়ার্ক হিসাবে বিবেচনা করুন।
অনুরূপভাবে, প্রসেসর আর্কিটেকচার নোট করুন. বেশীরভাগ লোকের জন্য, x86 (এবং x86_64) কাজ করবে, কিন্তু আপনার কাছে SPARC, ARM, Itanium বা অন্যদের মত অন্যান্য আর্কিটেকচার থাকতে পারে, তাই সেই অনুযায়ী পরিবর্তন করুন।
এখন, ডেস্কটপ শর্টকাটগুলি রাখুন যা এই স্ক্রিপ্টগুলির সাথে লিঙ্ক করে এবং বব আপনার চাচা। নির্দিষ্ট কার্নেল সংস্করণের পরিবর্তে uname ব্যবহার করা নিশ্চিত করে যে আপনার স্ক্রিপ্টগুলি কার্নেল আপগ্রেড করার পরেও কাজ করবে।
উপসংহার
আপনি দেখতে পাচ্ছেন, বাস্তবতা ততটা কঠোর নয় যতটা আপনি আশা করেছিলেন। এই টিউটোরিয়ালটি এক বা অন্যটিকে আনইনস্টল না করে বা ক্রমাগত রিবুট না করে VirtualBox এবং KVM-কে সহযোগিতা করার সহজ উপায়গুলি প্রকাশ করে৷ লিনাক্স আর্কিটেকচার মডিউলগুলির লাইভ সন্নিবেশের অনুমতি দেয়, তাই একমাত্র জিনিস যা আপনাকে সত্যিই রিবুট করতে হবে তা হল কার্নেল আপগ্রেড।
এই টিউটোরিয়ালটি আপনাকে বেশ কিছু বিষয় শেখায়, যার মধ্যে রয়েছে ব্যবহারযোগ্যতার সাথে স্বাচ্ছন্দ্যকে একত্রিত করার একটি চতুর উপায়, কীভাবে কার্নেল মডিউলগুলি সন্নিবেশ করা এবং সরানো যায়, কীভাবে আপনার কাজকে স্ক্রিপ্ট করতে হয় এবং কীভাবে KVM এবং ভার্চুয়ালবক্স পাশাপাশি থাকার কাঙ্ক্ষিত লক্ষ্য অর্জন করতে হয়।
আমি আশা করি আপনি এই এক পছন্দ করেছেন.
চিয়ার্স।