কম্পিউটার টিউটোরিয়াল

KVM ভার্চুয়ালাইজেশন মাস্টার করুন: কernel-বেজড ভার্চুয়াল মেশিনের কম্প্রিহেনসিভ গাইড

আপনি যদি আমার Virtualization সেকশন পড়ছেন, আপনি জানেন যে আমার ফোকাস এখন পর্যন্ত অধিকাংশ VMware এবং VirtualBox-এ ছিল, একটু ক্লাউড স্টাফ এবং ইমেজ রিমাস্টারিংসহ। যাইহোক, ব্রাঞ্চ আউট করার সময়। আজ, আমি অফিশিয়ালি টিউটোরিয়ালের একটি সম্পূর্ণ নতুন যুগ শুরু করতে চাই KVM-র সাথে। পরে Xen এবং অন্যান্য আশ্চর্য বিস্ট থাকবে, কিন্তু এখন, আমাদের টপিক হলো KVM।

এই গাইড থেকে শুরু করে, আমরা KVM (Kernel-based Virtual Machine) টেকনোলজি সম্পর্কে শিখব, যা RedHat দ্বারা ডেভেলপড, একটি ফ্রি, ওপেন-সোর্স অ্যাল্টারনেটিভ অন্যান্য কমার্শিয়াল সমাধানের। আমরা শিখব কীভাবে KVM ডাউনলোড, ইনস্টল এবং সেটআপ করতে হয়, ভার্চুয়াল মেশিন ম্যানেজ করতে কোন টুলস ব্যবহার করতে পারি, কী অপশনগুলো আছে, কমান্ড-লাইন ইউজ এবং স্ক্রিপ্টিং, এবং আরও। আমরা এডভান্সড নেটওয়ার্কিং এবং স্টোরেজ কনফিগারেশনসও দেখব, সেইসাথে অনেক কুল জিনিস। তাহলে শুরু করা যাক।

KVM ভার্চুয়ালাইজেশন মাস্টার করুন: কernel-বেজড ভার্চুয়াল মেশিনের কম্প্রিহেনসিভ গাইড

KVM - Glossary

একটি খুব সংক্ষিপ্ত ওভারভিউ দিয়ে শুরু করা যাক KVM কীভাবে কাজ করে। কিছু মেজর নয়, শুধু একটি ছোট ইন্ট্রো যাতে আপনি বেসিক টার্মিনোলজি জানেন। চিন্তা করবেন না, সব খুব সিম্পল হবে শীঘ্রই।

KVM ফাংশন করে আধুনিক Intel এবং AMD প্রসেসরের CPU ভার্চুয়ালাইজেশন টেকনোলজি এক্সটেনশনগুলো ইউটিলাইজ করে, যাদের Intel-VT এবং AMD-V নামে জানা হয়। মেমরিতে লোডেড একটি কernel মডিউল ব্যবহার করে, KVM প্রসেসর ইউটিলাইজ করে এবং, একটি ইউজার-মোড ড্রাইভার ভায়া মডিফাইড QEMU-র ভিত্তিতে, এটি একটি হার্ডওয়্যার লেয়ার এমুলেট করে যার ওপর ভার্চুয়াল মেশিন তৈরি এবং রান করা যায়। KVM CPU এক্সটেনশন ছাড়াও এক্সিকিউট করা যায়, কিন্তু তখন, এটি QEMU ব্যবহার করে পিউর এমুলেশন মোডে রান করবে, এর ফলাফল সিগনিফিক্যান্ট পারফরম্যান্স পেনাল্টি।

KVM ম্যানেজ করা যায় হয় একটি গ্রাফিক্যাল ম্যানেজমেন্ট টুল দিয়ে, VMware প্রোডাক্ট বা VirtualBox-এর মতো, অথবা কমান্ড লাইন দিয়ে flera মেথড ব্যবহার করে।

সবচেয়ে জনপ্রিয় GUI হলো Virtual Machine Manager (VMM), RedHat দ্বারা ডেভেলপড। টুলটি তার জেনেরিক প্যাকেজ নাম virt-manager-ও দ্বারা পরিচিত। এটি কিছু সাপোর্টিং টুলসহ আসে, virt-install, virt-clone, virt-image, এবং virt-viewer, যেগুলো যথাক্রমে ভার্চুয়াল মেশিন প্রোভিশন, ক্লোন, ইনস্টল, এবং ভিউ করতে ব্যবহৃত হয়। VMM Xen মেশিনগুলোকেও সাপোর্ট করে।

জেনেরিক KVM কমান্ড ইন্টারফেস virsh দ্বারা প্রদান করা হয়। স্পেসিফিক্যালি, আপনি সাপোর্টিং টুলস ব্যবহার করতে পারেন, virt-install আপনার ভার্চুয়াল মেশিন তৈরি করার জন্য। Ubuntu-এ, একটি স্পেশাল ubuntu-vm-builder টুল আছে যা Ubuntu বিল্ড প্রোভিশন করতে ব্যবহার করা যায়, Canonical দ্বারা ডেভেলপড।

নামগুলোর মাল্টিটিউড কনফিউজিং হতে পারে, কিন্তু সহজে নিন এবং আপনি আইডিয়া পাবেন। যাইহোক, এটি একটু আরো কনফিউজিং করতে, KVM-এর নিজস্ব সিনট্যাক্সও আছে, QEMU-এর সিমিলার। এটি ভার্চুয়াল মেশিন ম্যানেজ করার রিকমেন্ডেড উপায় নয়।

আরও ইনফরমেশনের জন্য, এই পেজগুলো কনসাল্ট করুন:

The Kernel Virtual Machine - Community Ubuntu Documentation

KVM tutorials on howtoforge.com

KVM/Virsh - Community Ubuntu Documentation

ঠিক আছে, সেটি ছিল স্টেপ ১।

KVM - প্রস এবং কনস

আপনি কি KVM ব্যবহার করবেন? যাইহোক, এটা নির্ভর করে আপনি কী অর্জন করতে চান।

আপনি যদি একটি ক্যাজুয়াল হোম ইউজার, ভার্চুয়ালাইজেশন হবিয়িস্ট বা ইন্টারমিডিয়েট গিক হন, KVM শুরুতে একটু কঠিন হতে পারে। এটি প্রাথমিকভাবে একটি কমান্ড-লাইন টুল, VMware এবং Virtualbox প্রোডাক্টের মতো ইন্টুইটিভ বা ফ্রেন্ডলি নয়। KVM প্রতিযোগীদের চেয়ে GUI ম্যানেজমেন্টে অনেক বছর পেছনে ফেলা মনে হয়, যদিও এটি ডেলিভার করার কথায় ততটুকুই পাওয়ারফুল। আসলে, যেহেতু এটি কমান্ড-লাইন টুল হিসেবে ব্যবহার করার জন্য ডিজাইন করা হয়েছে, আপনি লং রানে बेटার প্রোডাক্টিভিটি এবং মোর কন্ট্রোল উপভোগ করেন। তাই, KVM সবচেয়ে বেশি সেন্স মেক করে বিজনেস এনভায়রনমেন্টে।

மேலும், আপনার CPU যদি ভার্চুয়ালাইজেশন সাপোর্ট না করে, KVM আপনার জন্য সময়ের বড় বর্জনা হবে, কারণ আপনি অত্যন্ত স্লো এবং ইনএফিশিয়েন্ট এমুলেশন মোডে রান করবেন। KVM Virtualbox-এর সাথে কনফ্লিক্ট করার জন্য পরিচিত, কিন্তু এর সম্পর্কে আলাদা একটি টিউটোরিয়ালে।

তাই, KVM হলো ভার্চুয়ালাইজেশনে 킨 אינтереসتمل লোকজন জন্য, সবচেয়ে সম্ভবত অ্যাডমিনিস্ট্রেটর এবং প্রফেশনাল। এটি আপনার কাডলিয়েস্ট হোম টয় নয় এবং অনেক বছর হতে পারে না। কিন্তু আপনি যদি খনন করতে ইচ্ছুক হন, আপনি একটি সম্পূর্ণ নতুন ল্যাঙ্গুয়েজ মাস্টার করবেন, যা পরে আপনাকে অন্য টেকনোলজির সাথে একটি ফোর্স মাল্টিপ্লায়ার হিসেবে সার্ভ করবে। VMware বা Virtualbox পছন্দ করে যে আপনি তাদের GUI টুলস ব্যবহার করুন, KVM রေါ কমান্ড-লাইন স্ক্রিপ্টিং-এর এফিশিয়েন্সি-ওরিয়েন্টেড।

সংক্ষেপে, KVM আপনার জন্য ভালো যদি আপনি খুঁজছেন একটি ফ্রি মডার্ন ভার্চুয়ালাইজেশন সলিউশন আনলিমিটেড ইউজ মোড এবং অ্যাডিশনাল লাইসেন্সিং ফি বা ফিচার টিয়ারিং ছাড়া, একটি পাওয়ারফুল কমান্ড লাইন ইন্টারফেস এবং আপনি আপনার হাত গряাম করতে ভয় পান না। KVM আপনার জন্য ভালো নয় যদি আপনার CPU-তে ভার্চুয়ালাইজেশন এক্সটেনশন নেই, আপনি স্ক্রিপ্ট লিখতে ভয় পান, কোডে dabble করার কোনো ইচ্ছা নেই, এবং অ্যাডমিনিস্ট্রেটিভলি সিম্পলার সমাধান যেমন VMware Server, ESXi বা Virtualbox পছন্দ করেন।

সব ঠিক আছে, চলুন শুরু করি।

টেস্ট প্ল্যাটফর্ম

আপনি প্রায় যেকোনো Linux ডিস্ট্রোতে KVM ব্যবহার করতে পারেন। জেনারেলি, RedHat ফ্লেভারগুলো KVM পছন্দ করে। RHEL KVM ইনএবলড শিপ করে অপারেটিং সিস্টেমে, তাই আপনি RedHat-ভিত্তিক ডিস্ট্রোতে সেটি পাবেন যেমন CentOS, Scientific Linux, বা Fedora।

যেহেতু আমি বাসায় অধিকাংশ Ubuntu রান করি, আমি Ubuntu-তে টেস্ট করতে সিদ্ধান্ত নিয়েছি, আমার রاذার ব্র্যান্ড-নিউইশ HP ল্যাপটপে ইনস্টলড, যেটিতে একটি রেভ্বি i5 প্রসেসর আছে যা ভার্চুয়ালাইজেশন সাপোর্ট করে। এই বছর লেটারে, আমি সেন্টওএস বা সায়েন্টিফিক লিনাক্সের নিউইস্ট রিলিজ ডিপ্লয় করার প্ল্যান করছি আমার Linux-ডেডিকেটেড মাল্টি-বুট মেশিনে, তাই আপনি সেই ডিস্ট্রোর জন্যও অ্যাডিশনাল টিউটোরিয়াল দেখবেন। আমরা সেখানে Xen-ও পাব।

এই টিউটোরিয়াল দেখাচ্ছে কীভাবে ৬৪-বিট Ubuntu Lucid-এ, Long Term Release-এ KVM সেটআপ করতে হয়। সিক্যুইল গাইডস এবং howtos আরও অনেক টপিক কভার করবে KVM-রিলেটেড, অন্যান্য ভার্চুয়ালাইজেশন টেকনোলজির সাথে ব্যবহার করা এবং কনফ্লিক্ট রেজল্ভ করা, অ্যাডভান্সড ম্যানেজমেন্ট ফাংশন, স্ক্রিপ্টিং, এবং আরও।

এখন, অবশেষে, আসলেই শুরু করা যাক।

পূর্বশর্ত

আপনার একটি CPU দরকার যা ভার্চুয়ালাইজেশন সাপোর্ট করে। এটি চেক করা যায় এইভাবে:

egrep -c '(vmx|svm)' /proc/cpuinfo

আপনি যদি নন-জিরো ভ্যালু পান, আপনি ভালো। কিন্তু ... আপনাকে এটা ও চেক করতে হবে যে ভার্চুয়ালাইজেশন টেকনোলজি BIOS-এ ইনএবলড আছে। আসলে, ফিচারটি ইনএবল করার পর, আপনাকে মেশিনটি কোল্ড পাওয়ার-সাইকেল করতে হবে চেঞ্জটি ইফেক্ট নেওয়ার জন্য।

একবার এটি হলে, আপনার অপারেটিং সিস্টেমে বুট করুন এবং KVM ইনস্টল করুন।

চেক করতে, দয়া করে kvm-ok রান করুন:

KVM ভার্চুয়ালাইজেশন মাস্টার করুন: কernel-বেজড ভার্চুয়াল মেশিনের কম্প্রিহেনসিভ গাইড

ডাউনলোড & ইনস্টল KVM

KVM ইনস্টল পেতে, এই প্যাকেজগুলো পান (apt কমান্ডের জন্য true):

apt-get install qemu-kvm libvirt-bin

অপশনালি, আপনি এইগুলো ইনস্টল করতে পারেন—সবচেয়ে রিকমেন্ডেড:

apt-get install bridge-utils virt-manager python-virtinst

P.S. প্যাকেজ নাম ডিস্ট্রিবিউশনগুলির মধ্যে ভিন্ন হবে। উদাহরণস্বরূপ, virt-install ব্র্যান্ডেড আসতে পারে python-virt-install বা python-virtinst বা এমনকি virt-install হিসেবে। virt-clone, virt-image এবং virt-viewer-এর ডিপেন্ডেন্সিগুলো অটোম্যাটিক্যালি রিজলভ হয়ে যাবে।

অধিকাংশ টিউটোরিয়াল যা মেনশন করে তার বিপরীতে, আপনার bridge utilities দরকার নয়। আপনাকে শুধু তখন দরকার হয় যখন আপনি আপনার ভার্চুয়াল অ্যাডাপ্টারগুলো আপনার ফিজিক্যাল কার্ডের সাথে ব্রিজ করতে চান। আমি আপনাকে এর একটি ডিটেইলড উদাহরণ দেখিয়েছি আমার Virtualbox networking টিউটোরিয়ালে। প্রিন্সিপল একই।

অধিকাংশ টিউটোরিয়াল এও মেনশন করে যে অধিকাংশ Wireless নেটওয়ার্ক ইন্টারফেস ব্রিজিং সাপোর্ট করে না। এটি কেস হতে পারে, কিন্তু আমার সব টেস্টিং-এ, আমি সফলভাবে আমার Wireless অ্যাডাপ্টার ব্রিজ করতে পারলাম, তাই আপনার আশা বড় রাখুন।

VMM (virt-manager) হাইরি রিকমেন্ডেড। একইভাবে, আপনি সব হেল্পার টুলস চান, virt-viewer, virt-install, virt-image, এবং virt-clone সহ।

শেষে, আপনি ubuntu-vm-builder-ও অপ্ট করতে পারেন:

apt-get install ubuntu-vm-builder

আপনি একগাদা ডিপেন্ডেন্সি অটো-রিজলভড পাবেন, তাই আপনার ডাউনলোড কিছুক্ষণ লাগতে পারে। P.S. RedHat-এ, yum install ব্যবহার করুন। SUSE-এ, zypper install ব্যবহার করুন।

Virtualbox-এর সাথে কনফ্লিক্ট

আবার, অধিকাংশ টিউটোরিয়াল যা বলে তার বিপরীতে: আপনি একই হোস্টে KVM এবং Virtualbox দুটোই ইনস্টল্ড রাখতে পারেন। আপনি হয়তো সেগুলো একসাথে রান করতে পারবেন না। অন্য কথায়, এক বা অন্য কernel মডিউল মেমরি থেকে আনলোড করতে হবে। কিন্তু কোনো কারণ নেই জলদি করার। ট্রাই করুন, দেখুন আপনার জন্য কাজ করে কিনা, এবং না হলে, তখনই করেক্টিভ একশন নিন।

কিন্তু এটি in-vivo করা যায়, তাই কোনো চিন্তা নেই। আপনাকে রিবুট বা এমনকি ততটা ড্রাস্টিক কিছু করতে হবে না। আমি একটি আলাদা টিউটোরিয়াল দেখাব যা এই কেস হ্যান্ডেল করে। আসলে, আমার দুটোই ইনস্টলড এবং টেস্ট হোস্টে রান করছে।

KVM ব্যবহার করা

এখন, আসলে ফান পার্ট। আমরা VMM দিয়ে শুরু করব, যেটি একটি GUI টুল এবং যা অধিকাংশ মানুষ শুরু করবে এবং করা উচিত। সব প্র্যাক্টিক্যাল উদ্দেশ্যে, এটি অন্যান্য টুলস যেগুলো আপনি জানেন, VMware কনসোল বা সম্ভবত Virtualbox-এর সাথে খুব সিমিলার।

Virtual Machine Manager (VMM)

আসুন একটি টুর নিই।

প্রথমবার প্রোগ্রাম লঞ্চ করলে, এটি দুটি ক্যাটাগরি দেখাবে, দুটোই not connected। এগুলো রেফার করে আপনার localhost KVM মডিউলস, এখনো ইন ইউজ নয়। ব্যবহার করতে, রাইট-ক্লিক করুন এবং connect বেছে নিন।

নতুন কানেকশন যোগ করতে, File > Add Connection-এ ক্লিক করুন। এটি একটি উইন্ডো খুলবে যা আপনাকে Hypervisor টাইপ এবং কানেকশন টাইপ স্পেসিফাই করতে দেবে। VMM লোকাল এবং রিমোট কানেকশন দুটোই ব্যবহার করতে পারে, QEMU/KVM এবং Xen সহ। আপনি সব ধরনের অথেন্টিকেশন মেথড ব্যবহার করে কানেক্ট করতে পারেন।

আপনি অটোকানেক্টও করতে পারেন, যার মানে পরবর্তীবার আপনি VMM ফায়ার আপ করলে, এই কানেকশনগুলো আপনার জন্য রেডি থাকবে। এটি VMware Server আপনাকে প্রোগ্রাম শুরু করার সময় যা জিজ্ঞেস করে তার সিমিলার। শুধু রেফারেন্সের জন্য:

Kernel versus Usermode

আপনি হয়তো জিজ্ঞাসা করছেন normal/default এবং Usermode-এর পার্থক্য কী? যাহোক, Usermode আপনাকে অ্যাডমিনিস্ট্রেটিভ প্রিভিলেজ ছাড়া রান করতে দেয়, কিন্তু আপনার নেটওয়ার্ক ক্যাপাবিলিটি লিমিটেড হবে। ঠিক আছে, চলুন এগিয়ে যাই।

VMM ওভারভিউ, অবিরত

ভার্চুয়াল মেশিন তৈরি করার আগে অন্যান্য ফাংশনগুলো দেখি।

নেটওয়ার্ক ফাংশনালিটি রিভিউ বা চেঞ্জ করা যাবে Host Details-এ। আমাদের একটি আলাদা টিউটোরিয়াল থাকবে যা শিখাবে কীভাবে KVM নেটওয়ার্কের সাথে কাজ করতে হয়। এবং আমরা bridge utilities সেটআপ করব, তাই চিন্তা নেই।

একইভাবে, আপনি স্টোরেজ সেটিংস চেঞ্জ করতে পারেন। একটি ডেডিকেটেড গাইড থাকবে, আমি প্রতিশ্রুতি দিই:

প্রेफারেন্স চেঞ্জ করুন

VMM-এ কিছু অপশন আছে যা আপনি টুইক করতে পারেন এটি স্মার্ট লুক এবং বিহেভ করতে। আপনি সিস্টেম ট্রে আইকন এনাবল করতে পারেন, স্ট্যাটিস্টিক্স পোলিং ইন্টারভাল সেট করতে পারেন, ডিস্ক এবং নেটওয়ার্ক মেট্রিক্সের জন্য পোলিং এনাবল করতে পারেন, যেগুলো ডিফল্টলি ডিসিলেক্টেড, কনসোল কিবোর্ড গ্র্যাবিং, কনসোল স্কেলিং, অডিও অপশনস, এবং মেশিন এক্টিভিটির জন্য কনফার্মেশন উইন্ডো সেট করতে পারেন।

KVM ভার্চুয়ালাইজেশন মাস্টার করুন: কernel-বেজড ভার্চুয়াল মেশিনের কম্প্রিহেনসিভ গাইড

KVM ভার্চুয়ালাইজেশন মাস্টার করুন: কernel-বেজড ভার্চুয়াল মেশিনের কম্প্রিহেনসিভ গাইড

পরবর্তীতে, এই সব আমাদের আমাদের ভার্চুয়াল মেশিন মেট্রিক্স আরও ডিটেইলে এবং बेटার কন্ট্রোল দিয়ে ভিউ করতে দেবে। উদাহরণস্বরূপ, একটি Ubuntu গেস্ট CPU, Disk I/O এবং Network I/O দেখাচ্ছে:

এখানে সিস্টেম ট্রে আইকন:

অবশেষে, আমরা একটি নতুন ভার্চুয়াল মেশিন তৈরি করার জন্য প্রস্তুত।

ভার্চুয়াল মেশিন তৈরি করুন

আমরা এটি VMM বা কমান্ড লাইন দিয়ে করতে পারি। আমরা GUI দিয়ে শুরু করব। প্রথম ধাপ খুব ইন্টুইটিভ। নাম এবং ইনস্টল মিডিয়া লোকেশন দিন। আপনি ISO ইমেজ বা CD/DVD-এর রূপে লোকাল স্টোরেজ, HTTP বা FTP সার্ভার, NFS এরিয়া, বা PXE ব্যবহার করতে পারেন।

আমরা লোকাল ইনস্টল মিডিয়া ব্যবহার করব। এরপর, একটি ফিজিক্যাল ডিভাইস বা একটি ইমেজ চুজ করুন। আমাদের কেসে, আমরা একটি ISO ব্যবহার করব। তারপর, OS টাইপ এবং ভার্সন চুজ করুন। এটি প্রিসাইজ হতে হবে না, কিন্তু একটি educated guess ভালো। এটি অ্যাডিশনাল ভার্চুয়াল মেশিন অপ্টিমাইজেশন অনুমতি দেয়।

RAM এবং CPUs অ্যালোকেট করুন।

চতুর্থ ধাপ খুব ইন্টারেস্টিং—স্টোরেজ। আপনি একটি নতুন ইমেজ তৈরি করতে পারেন বা একটি এক্সিস্টিং ব্যবহার করতে পারেন। আপনি সাইজ সেট করতে পারেন এবং সব স্পেস প্রি-অ্যালোকেট করতে পারেন, যা পারফরম্যান্সের জন্য ভালো, প্লাস ফ্র্যাগমেন্টেশন রিডিউস করে।

আমরা শীঘ্রই স্টোরেজের ওপর কাফি বেশি ফোকাস করব। এখনके জন্য, আসুন ধরে নিই আমাদের একটি ডিস্ক রেডি আছে—অথবা আমরা ডিফল্ট স্টোরেজ পুলে একটি তৈরি করব। দয়া করে লক্ষ্য করুন যে আপনি যদি Usermode-এ রান করেন, আপনি /var-এ লিখতে পারবেন না, যা ডিফল্ট স্টোরেজ পুল লোকেশন। আপনাকে একটি নতুন স্টোরেজ পুল তৈরি করতে হবে যা non-admin ইউজারদের দ্বারা অ্যাক্সেসযোগ্য, কিন্তু এর সম্পর্কে আলাদা একটি আর্টিকেলে।

ধাপ ৫ হলো একটি সমারি, কিছু অ্যাডভান্সড অপশনসহ। আপনি আপনার নেটওয়ার্ক টাইপ চেঞ্জ করতে পারেন, একটি ফিক্সড MAC অ্যাড্রেস সেট করতে পারেন, ভার্চুয়ালাইজেশন টাইপ চুজ করতে পারেন, এবং টার্গেট আর্কিটেকচার। আপনি যদি Usermode-এ রান করেন, আপনার নেটওয়ার্ক অপশন লিমিটেড হবে। আপনি যদি bridge utilities ব্যবহার না করেন, আপনি আপনার ইন্টারফেস ব্রিজ করতে পারবেন না। শেষে, আপনার যদি CPU ভার্চুয়ালাইজেশন এক্সটেনশন না থাকে, Virt Type: ফিল্ড QEMU পড়বে KVM না। আমরা পরে এর একটি উদাহরণ দেখব, যখন আমরা এমুলেশন মোডে রান করার মেজর ড্রব্যাকস আলোচনা করব। এখনके জন্য, এখানে একটি টিপিক্যাল Ubuntu ভার্চুয়াল মেশিন সেটআপ কেমন দেখে:

আমাদের মেশিন ব্যবহার করার জন্য প্রস্তুত।

ভার্চুয়াল মেশিন অপশনস

VMM-এর মত, VM কনসোলে কিছু ইন্টারেস্টিং অপশন আছে। আপনি আপনার গেস্টে সিগন্যাল পাঠাতে পারেন, আপনি ভার্চুয়াল কনসোল স্যুইচ করতে পারেন, ফোর্স রিবুট এবং পাওয়ার অফ, ক্লোন, মাইগ্রেট, সেভ, স্ক্রিনশট নেওয়া, এবং আরও। আবার, প্রতিযোগীদের সাথে খুব সিমিলার।

এখানে ক্লোন এবং মাইগ্রেট অপশনসের জন্য স্ক্রিনশট টিজারের একটি জোড়া। রোডের নিচে, আমাদের ডিটেইলড টিউটোরিয়াল থাকবে, GUI এবং CLI ফাংশনালিটির উভয়ে ফোকাস করে।

ভার্চুয়াল মেশিনগুলো রান করছে

ফান পার্ট। এখানে কিছু সুন্দর স্ক্রিনশট...

Ubuntu 10.10 Maverick, 32-বিট ভার্সন, বুট মেনু দিয়ে শুরু করা যাক:

Puppy Linux, একটি লাভলি ডেস্কটপের বিপরীতে দেখানো হয়েছে:

Ubuntu রান করছে, NAT-এড, কোনো চিন্তা নেই। লক্ষ্য করুন CPU ইউটিলাইজেশন খুব কম। গুরুত্বপূর্ণ, পরে আমরা এমুলেশন অन्लি মোড আলোচনা করব তখন এর জন্য মনোযোগ দিন। আমি নাগ করছি, কিন্তু আমার আল্ট্রা-টার্বো এডুকেশন সহন করুন।

আপনি কনসোল উইন্ডো স্কেল করতে পারেন গেস্ট ফিট করতে; এটি ভিউয়ার মেনুতে অপর একটি অপশন। তারপর, আপনি প্রেফারেন্স ব্যবহার করে অটোস্কেল কনসোলসও করতে পারেন। এখানে Puppy এবং Ubuntu, সাইড বাই সাইড:

এখানে সিস্টেম ইউজ; মিনিমাল। এই ধরণের স্মার্ট কনসাম্পশনের সাথে, আপনি জেনারাসলি ওভারকমিট করতে পারেন এবং আপনার ফিজিক্যাল হার্ডওয়্যার সাধারনতঃ পারমিট করবে তার চেয়ে বেশি ভার্চুয়াল মেশিন উপভোগ করতে পারেন, একটি সিঙ্গেল মেশিন একটি কোরে বাউন্ড থাকবে।

অবশেষে, আপনি একটি মেশিন এবং এর অ্যাসোসিয়েটেড ফাইলগুলো ডিলিট করতে পারেন:

এখন যেহেতু আমরা বেসিক ইউজে কমফোর্টেবল, আসুন কিছু কমান্ড লাইন করি।

কমান্ড লাইন

এখন, আসুন.badनाम কমান্ড লাইনটি দেখি। উদাহরণস্বরূপ, virsh ব্যবহার করে সব উপলব্ধ ভার্চুয়াল মেশিন লিস্ট করা।

virsh 'list --all'

এখানে virt-install ব্যবহার করে একটি ভার্চুয়াল মেশিন তৈরি এবং রান করার কমান্ড সিকোয়েন্স। দয়া করে লক্ষ্য করুন যে আমি KVM guru নই। আপনার man pages-এ টেমপ্লেট কোড আছে, এবং আপনি অনলাইনে বিলিয়ন উদাহরণ পাবেন।

আসলে কমান্ডটি হলো:

virt-install --connect qemu://system -n puppy -r 512 -f puppy.img -c lupu-520.iso --vnc --noautoconsole --os-type linux --accelerate --network=network:default

তাহলে এখানে কী আছে?

--connect qemu:///system হাইপারভাইজার টাইপ ডিফাইন করে। system ব্যবহার হয় bare metal kernel-এ root হিসেবে রান করার সময়। session ব্যবহার হয় non-root ইউজারদের জন্য। আপনি VMM-এ পার্থক্যগুলো রিকল করতে পারেন, Usermode-এ, রাইট-ক্লিক connect, আপনি আইডিয়া পেলেন। এটি xen-এর জন্যও কাজ করে।

-n puppy একটি ইউনিক ভার্চুয়াল মেশিন নাম। আপনি virsh ব্যবহার করে গেস্ট রিনেম বা ডিলিট করতে পারেন আপনি আপনার চয়স থেকে স্যাটিসফাইড না হন।

-r 512 RAM স্পেসিফাই করে।

-f একটি ডিস্ক ফাইল স্পেসিফাই করে। এই কেসে, আমি একটি puppy.img ডিস্ক ইমেজ ব্যবহার করছি যা আমি dd কমান্ড দিয়ে তৈরি করেছি। স্পেস কনজার্ভ করতে, আমি ইমেজটি একটি sparse ফাইল হিসেবে তৈরি করেছি। আপনি sparse ফাইল কীভাবে তৈরি করবেন সেটি শিখতে পারেন আমার second cool Linux hacks আর্টিকেলে।

-c CD-ROM স্পেসিফাই করে, হয় একটি ফিজিক্যাল ডিভাইস বা একটি ISO ইমেজ।

--vnc একটি গেস্ট কনসোল সেটআপ করে এবং এটি একটি VNC সার্ভার হিসেবে এক্সপোর্ট করে। --noautoconnect ভার্চুয়াল মেশিন পাওয়ার অন হলে অটোম্যাটিক্যালি কনসোল ওপেন করবে না।

--os-type গেস্টের জন্য অপারেটিং সিস্টেম স্পেসিফাই করে।

--accelerate KVM-কে অপ্টিমাইজেশন ফাংশন ব্যবহার করতে দেয় যা গেস্ট সিস্টেমের পারফরম্যান্স accelerate করে, যদি সম্ভব হয়।

--network নেটওয়ার্ক টাইপ ডিফাইন করে। আমরা ডিফল্ট কানেকশন ব্যবহার করছি।

আমরা অনেক অন্যান্য ফাংশন ব্যবহার করতে পারতাম, যেমন কোরের সংখ্যা সেট আপ করা বা মেশিনকে একটি CPU কোরে বাউন্ড করা, NIC-এর জন্য ফিক্সড MAC অ্যাড্রেস সেট আপ করা, কোনো স্টোরেজ না ব্যবহার করা, কিবোর্ড ম্যাপ চেঞ্জ করা, এবং আরও।

এই সব man pages-এ লিস্টেড। খুব ইন্টুইটিভ নয়, কিন্তু ব্যবহারে সহজ হয়ে যায়। আসলে, লার্নিং কার্ভ তত উচ্চ নয়, ইনিশিয়াল ইমপ্রেশনের বাবजूद। একবার আপনি virt-install-এ হ্যাং পেলে, আপনি অন্যান্য কমান্ডের সাথে ফিডল করতে পারেন, virsh দিয়ে মেশিন スタ্ট এবং স্টপ করতে পারেন, এবং Bob's your uncle।

অন্যান্য জিনিস

আরও কয়েকটি ডিটেইল mention করার যোগ্য।

পিউর এমুলেশন মোডে রান করা (ন করুন)

আমি আপনাকে বললাম এটি সম্পূর্ণ ইনএফিশিয়েন্ট। এখন, প্রুফ। উদাহরণস্বরূপ, Host Details Overview-এ এক নজর দিন। পারফরম্যান্স গ্রাফে, CPU ইউজージ ম্যাক্স। ১০০% অবেইলেবল রিসোর্সস ভার্চুয়াল মেশিনের জন্য, এই কেসে একটি কোর, যা ২৫% ইউটিলাইজেশন-এ ট্রান্সলেট হয়। প্রায় DOS-এর মত। এর মানে চারটি ভার্চুয়াল মেশিন, কতটুকু ছোট বা হাঙ্গরি হোক, একটি ফোর-কোর হোস্টকে ক্রিপল করবে।

এডিশনালি, পারফরম্যান্স 끔찍 হবে। যদি একটি Ubuntu গেস্ট প্রায় এক মিনিট নেয় বুট করার জন্য ইমেজ ইন্টারনাল ৭,২০০rpm ডিস্ক-এ লোডেড থাকলে Intel-VT এক্সটেনশনস এনাবল্ড থাকলে, এতে প্রায় ২০ মিনিট লাগে এমুলেশন মোডে। আমি মনে করি এটি QEMU/KVM-এর একটি ডাউনসাইড অন্যান্য সমাধানের চেয়ে, যেগুলো এখনো ফেরি ডিসেন্ট পারফরম্যান্স অফার করে CPU এক্সটেনশন ছাড়া।

আরও ভালো পড়ুন

আমি howtoforge.com-এ KVM সিরিজটি হাইলি রিকমেন্ড করি, উপরে লিংকড।

তারপর, আপনাকে এইগুলোও পড়া উচিত:

Discover the Linux Kernel Virtual Machine

KVM management tools

উপসংহার

আমি আন্তরিকভাবে আশা করি আপনি এই টিউটোরিয়াল পছন্দ করেছেন। এটি কাফি লং এবং ডিটেইলড, এমনকি যদি এটি ডকুমেন্ট করে কেবল KVM-এ শুরু করার প্রথম ধাপগুলো। কিন্তু এটি অনেক জিনিসে ইনসাইট অফার করে, ইনিশিয়াল সেটআপ এবং পূর্বশর্ত, কমান্ড-লাইন এবং GUI টুলস, ম্যানেজমেন্ট অপশনস, কীভাবে একাধিক ভার্চুয়াল মেশিন তৈরি এবং রান করতে হয়, এবং আরও।

এক টন সিক্যুইল আসছে, যেগুলো অ্যাডভান্সড স্টোরেজ এবং নেটওয়ার্কিং কনফিগারেশন কভার করবে, ব্রিজড নেটওয়ার্কিং সহ, কীভাবে ভার্চুয়াল মেশিন ক্লোন এবং মাইগ্রেট করতে হয়, কীভাবে অন্যান্য ভার্চুয়ালাইজেশন সফটওয়্যারের সাথে কনফ্লিক্ট রেজল্ভ করতে হয় এবং আরও। স্ট্রিক্টলি রিলেটেড নয়, Xen এবং ESXi-ও উপর পুরো বান্ডল আর্টিকেল আসছে।

আপনি দেখতে পাচ্ছেন, KVM খুব পাওয়ারফুল, এমনকি যদি এটি নতুন ইউজারদের কাছে একটু daunting মনে হয়। এর ম্যানেজমেন্ট অপশনগুলো নিশ্চিতভাবে কিছু প্রতিদ্বন্দ্বীদের চেয়ে কম newb-friendly, কিন্তু خوشকিসমتی, কিছু ভয় এবং কনফিউশন আজ স্পিরিটেড আওয়ে।

ঠিক আছে, এটাই সব হবে। এনজয়!

চিয়ার্স।


  1. KVM স্টোরেজ ম্যানেজমেন্ট আয়ত্ত করা: একটি ব্যাপক টিউটোরিয়াল

  2. VirtualBox 3.0.0: ডেস্কটপ ভার্চুয়ালাইজেশনের জন্য পাওয়ারফুল আপগ্রেড

  3. সঠিক ভার্চুয়ালাইজেশন সফ্টওয়্যার বেছে নিন: উইন্ডোজ ও লিনাক্সের জন্য সেরা টুলস

  4. MojoPac: যেকোনো পিসি জন্য পোর্টেবল ডেস্কটপ ভার্চুয়ালাইজেশন