Zen, Z দিয়ে স্পেলিং, আপনার মাথার চূড়ান্ত ফিলিং যখন আপনি আট ঘণ্টা ধরে রোকে বরফে পেশাব করছেন। Xen, X দিয়ে স্পেলিং, একটি ওপেন-সোর্স ভার্চুয়ালাইজেশন টেকনোলজি যা আপনি আপনার সেটআপের জন্য বিবেচনা করতে পারেন, বাড়ি বা বিজনেস, যদিও, KVM-এর মত, এটি বেশি কর্পোরেট মার্কেট-ওরিয়েন্টেড।
আমাদের KVM-এ অনেক টিউটোরিয়াল হয়েছে, ইন্ট্রোডাকশন আর্টিকেল, কীভাবে আপনার স্টোরেজ এবং নেটওয়ার্ক সেটআপ এবং কনফিগার করতে হয়, ব্রিজড নেটওয়ার্কিং সহ, এবং VirtualBox-এর সাথে কনফ্লিক্ট রেজলভ করতে হয়। এখন, Xen সম্পর্কে আরও কিছু শিখার বारी। একইভাবে, আমি আপনাকে প্রথম ধাপগুলো দেখাব আপনার ভার্চুয়াল মেশিন ইনস্টল এবং রান করার জন্য, সূক্ষ্ম টার্মিনোলজি, GUI এবং কমান্ড-লাইন ম্যানেজমেন্ট টুলস ব্যবহার, ভার্চুয়ালাইজেশন মোডস, বিভিন্ন অ্যাপ্লায়েন্স, এবং আরও।

Xen - পরিচিতি
এখানে Xen ইন্টারনালসের একটি সংক্ষিপ্ত পরিচিতি। এটি অধিকাংশ টেকনোলজি থেকে আলাদা যে এটি একটি স্পেশাল কernel বুট করতে হয়। অন্য কথায়, আপনার Linux সিস্টেমে GRUB মেনুতে একটি আলাদা এন্ট্রি দরকার। এই কernel-এর কন্টেক্সট থেকে বুট হলে, Xen রান করতে পারে।
আরও, Xen লেয়ারসে কাজ করে—যাকে ডোমেইন বলা হয়। সবচেয়ে প্রিভিলেজড ডোমেন, যাকে Domain0 (dom0) বলা হয়, হলো হাইপারভাইজার নিজে। গেস্ট অপারেটিং সিস্টেমগুলো এই ডোমেনের ওপর বিল্ড হয় DomainU (domU)-এ রান করে।
জিনিসগুলো আরও জটিল করতে, Xen-ও দুটি মোড আছে। প্যারাভার্চুয়ালাইজেশন গেস্টদের প্রসেসরের স্পেশাল কল ছাড়া রান করতে দেয়। ফুল ভার্চুয়ালাইজেশন, যাকে Hardware Assisted Virtualization (HVM) বলা হয়, যা প্রসেসর ভার্চুয়ালাইজেশন টেকনোলজি (Intel-VT বা AMD-V) ওপর নির্ভর করে আরও ভালো পারফরম্যান্স এবং এক্সটেন্ডেড ফিচার অফার করে।
আরও ডিটেইলসের জন্য, কনসাল্ট করুন:
Xen on Wikipedia
Xen tutorials on howtoforge.com
প্রস এবং কনস
বেশ কয়েকটি কারণ আছে যেন আপনি Xen চাইতে পারেন। এক, এটি ফ্রি। দুই, এটি রবাস্ট এবং মেচ্যুর এবং একটি পাওয়ারফুল, কমান্ড-লাইন সিনট্যাক্স আছে যা সহজে স্ক্রিপ্ট করা যায়, অ্যাডমিনিস্ট্রেশন ওয়ার্ককে একটি ব্রিজ बनाয়। সবচেয়ে গুরুত্বপূর্ণ, যদি আপনার প্রসেসরে ভার্চুয়ালাইজেশন টেকনোলজি ইনএবলড না থাকে, আপনি এখনো রিজনেবল পারফরম্যান্স উপভোগ করবেন, KVM-এর বিপরীতে, যা সিম্পলি ক্রল টু অ ক্রল такое পরিস্থিতিতে। যাইহোক, আপনি কিছু ফাংশনালিটি হারাবেন প্যারাভার্চুয়ালাইজড রান করার সময়। আমরা পরে রিলেভেন্ট উদাহরণ দেখব।
অন্যদিকে, Xen VirtualBox বা VMware Server-এর চেয়ে বেশি কাম্বারসাম। একই গ্রাফিক্যাল ম্যানেজমেন্ট KVM এবং Xen দুটির জন্য ব্যবহার করা যায়, কিন্তু নতুন ভার্চুয়াল মেশিন তৈরি এবং ইনস্টল করা Xen-এ একটু বেশি কঠিন। SUSE ইন্টিগ্রেশন এই প্রসেসকে একই সাথে সহজ এবং কঠিন করে দেয়। আবার, আমরা পরে উদাহরণ দেখব।
Xen-এ একটি ফেরি steeper learning curve আছে এবং কম নলেজেবল ইউজারদের ইনটিমিডেট করতে পারে। জটিল আর্কিটেকচার, লেয়ারড ম্যানেজমেন্ট এবং not-so-simple ল্যাঙ্গুয়েজের কম্বিনেশন পটেনশিয়াল কাস্টমারদের ধক্কা দিতে পারে, যারা লিনিয়ার সিম্পলিসিটি অফার করা অন্যান্য সমাধান পছন্দ করতে পারেন, যেগুলো পুরো ফ্রেমওয়ার্ক একটি সিঙ্গেল প্যাকেজে অফার করে।
সবচেয়ে বড় ডাউনসাইড হলো এটি তার নিজস্ব কernel দিয়ে বুট করতে হয়। KVM-এর বিপরীতে, যা সিম্পলি একটি মডিউল কernel-এ ইনসার্ট করে, Xen-এ অবশ্যই তার নিজস্ব GRUB মেনু এন্ট্রি থাকতে হবে। Xen kernel-এ বুট হলে, আপনি uname কমান্ড রান করলে একটি ভিন্ন কernel ভার্সন লক্ষ্য করবেন।
টেস্ট প্ল্যাটফর্ম
Xen SUSE ফ্লেভারগুলোর সাথে প্রি-ইনস্টলড আসে, openSUSE এবং SLES সহ, ১০.৩ ভার্সন থেকে। এর মানে এই ডিস্ট্রোতে ব্যবহার এবং সেটআপ খুব সিম্পল হওয়া উচিত। এটা মানে নয় যে আপনি অন্য সিস্টেমে Xen ব্যবহার করতে পারবেন না, কিন্তু আপনি সমস্যায় পড়তে পারেন। উদাহরণস্বরূপ, Ubuntu রিপোজিটরি-তে Xen টুলস ব্রোকেন এবং সোর্স থেকে কম্পাইল করতে হয়। RedHat-ভিত্তিক ডিস্ট্রোতে এমন ইস্যু নেই, কিন্তু তাদের প্রিয় ভার্চুয়ালাইজেশন টেকনোলজি হলো KVM।
অন্য কথায়, আপনি যদি Xen ব্যবহার করেন, আপনি SUSE এবং সম্ভবত RedHat দিয়ে শুরু করতে চাইতে পারেন। Ubuntu ফ্রেন্ডলি হতে পারে কাজ করার জন্য, কিন্তু সেটআপ একটু পেনফুল হতে পারে, যদিও এটা ইনকনসিভেবল নয়।
এই আর্টিকেলে, আমি আপনাকে SUSE 10.3 এবং 11.2-তে সেটআপ দেখাব। ভবিষ্যতের আর্টিকেলগুলেও আমরা RedHat-ভিত্তিক ডিস্ট্রো যেমন CentOS এবং Scientific Linux টেস্টবেড হিসেবে ব্যবহার করব। টেস্টিং Xen 3.X দেখাচ্ছে। আমরা Xen 4.0ও শীঘ্রই রিভিউ করব, যা openSUSE 11.4-তে ইনক্লুডেড। তাই টেবিলে আরও গুডনেস আসছে।
Xen ইনস্টলেশন
SUSE-এ Xen কনফিগার করা খুব সহজ। YaST > Virtualization > Install Hypervisor and Tools খুলুন। সেটআপের দুটি স্টেজ আছে—প্রয়োজনীয় প্যাকেজ ইনস্টলেশন এবং বুট মেনু চেঞ্জ এবং তারপর Xen kernel-এ বুট।

Xen অটোম্যাটিক্যালি ব্রিজড নেটওয়ার্কিং কনফিগার করবে, যা খুব নিট, কারণ ডিফল্ট KVM ইনস্টলেশনে এটি পাওয়া যায় না। এটিকে ফিনিশ করতে দিন এবং রিবুট করুন।
বেসিক্যালি, এটাই সব। আমরা Xen ব্যবহার করার জন্য প্রস্তুত।
GRUB2 থেকে Xen বুট
দয়া করে লক্ষ্য করুন যে আপনি যদি SUSE-কে GRUB2 দিয়ে চেইনলোড করেন, তবে আপনাকে Xen kernel-এর জন্য একটি স্পেশাল এন্ট্রি তৈরি করতে হবে, যা OS probe স্ক্রিপ্ট দ্বারা অটোম্যাটিক্যালি অ্যাড হয় না। এন্ট্রিটি স্ট্যান্ডার্ড বুট স্টানজা থেকে আলাদা দেখে।
GRUB2 কীভাবে কাজ করে তার স্পেসিফিকসে না গিয়ে, যেটি আপনি পুরো টিউটোরিয়াল পড়ে জানতে পারেন, এখানে সেকশনটি যা আপনাকে মনোযোগ দিতে হবে। স্ট্যান্ডার্ড linux, initrd এন্ট্রি ব্যবহার করার বদলে, আপনাকে দরকার:
multiboot /boot/xen.gz
module /boot/vmlinuz-xen
module /boot/initrd-xen
অবশ্যই, আপনার ইনস্টলেশন, ডিভাইস ইত্যাদি मैच করতে এক্স্যাক্ট পাথ অ্যাডজাস্ট করুন। এখানে আমার টেস্ট মেশিনে কেমন দেখে তার একটি স্ক্রিনশট:
Xen ব্যবহার করা
এখন, আমরা Virtual Machine Manager (VMM) শুরু করব, যা আমরা আমাদের KVM টিউটোরিয়াল থেকে পরিচিত, এবং আমাদের নিজের প্রথম ভার্চুয়াল মেশিন তৈরি করব। 워মআপ হিসেবে, আমরা GUI টুলস ব্যবহার করব এবং পরে শিখব কিভাবে একই জিনিস Xen কমান্ড লাইন দিয়ে অর্জন করতে হয়।
আমি আপনাকে দুটি সেটআপ দেখাব—একটি SUSE 10-রানিং মেশিনে, KDE রানিং এবং ফুল ভার্চুয়ালাইজেশন ব্যবহার করে, অন্যটি SUSE 11-রানিং মেশিনে, Gnome রানিং এবং প্যারাভার্চুয়ালাইজেশন ব্যবহার করে। তাই GUI ইমেজের একটি মিক্স এক্সপেক্ট করুন।

VMM রানিং
খুব সিমিলার যা আমরা ইতিমধ্যে জানি:
ভার্চুয়াল মেশিন তৈরি করুন
আপনি GUI দিয়ে ভার্চুয়াল মেশিন তৈরি করতে পারেন YaST থেকে ইউটিলিটি লঞ্চ করে অথবা কমান্ড লাইন থেকে vm-create রান করে। দয়া করে লক্ষ্য করুন যে এটি কিছুটা আলাদা VMM + KVM on Ubuntu-র চেয়ে, যা আমরা недавно দেখেছি, যেখানে আমাদের ম্যানেজমেন্টের ভিতর থেকেই ভার্চুয়াল মেশিন তৈরি করার ক্ষমতা ছিল।
কাস্টমাইজেশন
একবার সমারি সেকশনে পৌঁছালে, আপনি যা কিছু দরকার কাস্টোমাইজ করতে পারেন। যেকোনো ব্লু টাইটলে ক্লিক করুন এবং চেঞ্জ করুন। উদাহরণস্বরূপ, Disks সেকশন সাধারণত /var-এ একটি ভার্চুয়াল মেশিন ইমেজ পয়েন্ট করে। বরং, আপনি dd দিয়ে আপনার তৈরি করতে পারেন এবং সেগুলো যেকোনো জায়গায় রাখতে পারেন, সেইসাথে CD-ROM বা ISO ইমেজ ব্যবহার করতে পারেন, যা ফার্স্ট ইনস্টলেশনের জন্য দরকার। এখানে কিছু স্ক্রিনশট দেখানো হয়েছে ভিন্ন অপশনগুলো:
আমরা রান করার জন্য প্রস্তুত।
ভার্চুয়াল মেশিন রান করছে
আপনি কীভাবে ভার্চুয়াল মেশিন কনফিগার করেছেন তার ওপর ডিপেন্ড করে, Virt Viewer (virt-viewer) শুরু হবে এবং ভার্চুয়াল মেশিন প্রগ্রেস ডিসপ্লে করবে। আমাদের কেসে, আমরা Fedora 14 লাইভ সেশনে বুট করছি।
VMM-এ স্ট্যাটাস:
স্টার্টারদের জন্য খারাপ নয়, ঠিক আছে? এখন, আপনার ডিস্কেও ভার্চুয়াল মেশিন কনফিগারেশন তৈরি হয়েছে এবং আপনি এটি Xen সিনট্যাক্স বুঝতে এবং অন্যান্য মেশিনের জন্য টেমপ্লেট হিসেবে ব্যবহার করতে পারেন।
কমান্ড লাইন
এখন, আসুন Xen-কে একবার আবার পরীক্ষা করি, এইবার প্রপার CLI ইউজার হিসেবে। এতে কিছু স্পেশাল নেই, এবং আপনি যদি KVM ব্যবহার করে থাকেন, আপনি সিনট্যাক্স খুব সহজ ফলো করতে পারবেন। Man পেজগুলোও কাফি ডিটেইলড এবং কয়েকটি ভালো উদাহরণ ইনক্লুড করে।
আসলে, আপনি /etc/xen/examples-এ ভার্চুয়াল মেশিন টেমপ্লেট পাবেন। ভার্চুয়াল মেশিন ফাইলগুলো /etc/xen/vm-এ যায়। সেগুলো কপি করুন এবং xm create দিয়ে আপনার মেশিন তৈরি করুন।
এখানে আমাদের Fedora 14 কনফিগারেশন:
গুরুত্বপূর্ণ ডিরেক্টিভগুলো যেগুলোর ওপর মনোযোগ দিতে হবে:
builder="hvm" - আপনার প্রসেসর যদি ভার্চুয়ালাইজেশন সাপোর্ট না করে, আপনি এই ফিচার ব্যবহার করতে পারবেন না, আপনাকে এই ডিরেক্টিভটি linux-এ সেট করতে হবে। কিন্তু তখন, আপনি কিছু ফাংশনালিটি হারাবেন।
boot="d" - খুব কাউন্টার-ইন্টুইটিভলি, d হলো CD-ROM ফার্স্ট, c হলো ডিস্ক, go figure।
disk= - যেকোনো ধরনের স্টোরেজ স্পেসিফাই করে। ডিভাইসের অর্ডার ডিটারমাইন করবে কীভাবে সেগুলো দেখা এবং ব্যবহার হবে ভার্চুয়াল মেশিন দ্বারা। Letters r এবং w ডিনোট করে রিড-অনলি এবং রিড/রাইট মোড।
আরও ইনফরমেশনের জন্য, xm man page পড়ুন। তারপর, আপনি যদি আপনার কনফিগারেশন ব্যবহার করতে প্রস্তুত হন, তবে সিম্পলি এক্সিকিউট করুন:
xm create
এবং এটি আপনার VMM-এ একটি নিউ ডোমেইন হিসেবে রেজিস্টার হবে। আপনি যদি কনফিগারেশন ফাইল ব্যবহার না করতে চান, বলে টেস্টিং এর সময়, তবে আপনি অন দ ফ্লাই ভার্চুয়াল মেশিন তৈরি করতে পারেন। উদাহরণস্বরূপ:
xm create /dev/null \
name=Debian \
kernel=/boot/vmlinuz-2.6-xen \
disk=file:/tmp/debian.img,sda1,w \
root=/dev/sda1 memory=256 vcpus=1
আমরা একটি নতুন কনফিগারেশন তৈরি করছি যা কোথাও লেখা হবена, এইজন্য /dev/null। আমরা /boot/ এর অধীনে একটি প্রিভিলেজড Xen kernel ব্যবহার করব, যেটিতে সব ড্রাইভার হาร์্ডওয়্যারের জন্য এবং কী কী। অ্যাল্টারনেটিভলি, আপনার যদি একটি ছোট, xenU kernel থাকে আশেপাশে, আপনি সেটি ব্যবহার করতে পারেন, বিশেষ করে আপনি যদি প্যারাভার্চুয়ালাইজেশন ব্যবহার করেন। এরপর, আমরা মেমরি অ্যালোকেট করি, ভার্চুয়াল CPU-এর সংখ্যা এবং স্টোরেজ। শেষে, আমরা আমাদের ভার্চুয়াল মেশিনের রুট ডিভাইস সেট করি।
আপনি virt-install ইনস্টল এবং ব্যবহার করতে পারেন ভার্চুয়াল মেশিন তৈরি করতে। virt-install ইন্টারঅ্যাক্টিভ মোডে রান করতে পারে, প্রশ্ন জিজ্ঞেস করে, যা আপনার জন্য খুব কনভেনিয়েন্ট হতে পারে। மேலும், আপনি যদি KVM ব্যবহার করেন, আপনি সিনট্যাক্সের সাথে পরিচিত।
অন্যান্য জিনিস
আরও কয়েকটি ডিটেইল যেগুলো menton করার যোগ্য ...
প্যারাভার্চুয়ালাইজেশন
এটি কাজ করে, কিন্তু কিছু বড় ইস্যুর ছাড়া নয়, আমি বলতে পারি। আপনার প্রসেসর যদি ভার্চুয়ালাইজেশন সাপোর্ট না করে, আপনি Xen ক কিছু ফাংশন এবং অপশনের সাথে uncooperative পেতে পারেন। উদাহরণস্বরূপ, আমি প্যারাভার্চুয়ালাইজড মোডে CD থেকে বুট করতে পারলাম না অধিকাংশ সময়। অথবা বরং, আমি করতে পারলাম, অনেক টুইকিং এবং ফিডলিং এবং চেঞ্জের পর, কিছু ফাংশনালিটি হারিয়ে এবং কী কী।
এটি একটি বিশাল মাইনাস। ওয়েব এইเรื่องে প্রশ্ন ও উত্তর দিয়ে গুঞ্জিয়মান, ক্রেজি হ্যাকস সহ নিজের HTTP সার্ভার বিল্ড করা, ISO ইমেজ লুপব্যাক ডিভাইস দিয়ে মাউন্ট করা, মায়ান গডদের প্রার্থনা করা, এবং আরও, এই মেথডগুলোর কিছুই সফল বা ইজি টু ইমপ্লিমেন্ট। আমরা আলাদাভাবে এইपर আলোচনা করব। আমি আপনাকে দেখাব কীভাবে আপনি প্যারাভার্চুয়ালাইজেশনের সাথে চলতে পারেন, অডসের বাবजूद, এবং ব্যাখ্যা করব কেন আপনি সেটি করতে চান না।
আরও পড়ুন
আপনি যদি ব্রেভ হন এবং আপনার Ubuntu-এ Xen চালাতে চান, কমিউনিটি ডকুমেন্টেশন ট্রাই করুন।
আপনি এই ভেরি ডিটেইলড Xen wiki at virtuatopia.com পছন্দ করতে পারেন।
Xen management tools - আমরা এগুলো আলাদা আর্টিকেলে আলোচনা করব।
openSUSE Xen page and how to install Xen VM Server.
অবশেষে, ভার্চুয়ালাইজেশনের ওপর একটি যোগ্য ব্লগ: blog.bodhizazen.net, শুধু Xen নয়।
উপসংহার
আপনি দেখতে পাচ্ছেন, Xen একটি মন্স্টার নয়, যদিও এটি নতুন ইউজারদের জন্য daunting হতে পারে। কিছুটা জটিল ইনফ্রাস্ট্রাকচার Xen ব্যবহার করার বিরুদ্ধে একটি deterrent হতে পারে। কিন্তু আপনি ফোকাস করলে, আপনি বুঝবেন এটি তত ড্রামাটিক নয়। এক্সট্রা কernel পান, আপনার বুটলোডারে যোগ করুন, Xen-এ বুট করুন, গ্রাফিক্যাল এবং কমান্ড লাইন টুলস ব্যবহার করে আপনার ভার্চুয়াল মেশিন ম্যানেজ করুন। SUSE-এ, Xen অপারেটিং সিস্টেমের সাথে ইনক্লুডেড, জিনিসগুলো সহজ করে দেয়।
KVM-এর সাথে তুলনা করলে, Xen একটু বেশি কামপ্লেক্স ব্যবহার করার জন্য, কিন্তু আপনি ব্রিজড নেটওয়ার্কিং পাবেন শুরু থেকেই, এবং অন্য টেকনোলজির সাথে কোনো কনফ্লিক্ট নেই। প্যারাভার্চুয়ালাইজেশন মোড, যেসব পার্ট কাজ করে, সেগুলো KVM-এ এমুলেশন মোডের চেয়ে ভালো পারফরম্যান্স অফার করে। ফুল ভার্চুয়ালাইজেশন মোডে, দুটি সমাধানই খুব হ্যান্ডি এবং উপযোগী। সবচেয়ে গুরুত্বপূর্ণ, আশা করি এই টিউটোরিয়াল কিছু ফগ ক্লিয়ার করল।
সিক্যুইল আর্টিকেলগুলিতে, আমরা Xen-এর জন্য অ্যাডিশনাল ম্যানেজমেন্ট টুলস শিখব, Standalone Xen Cloud Platform এবং এমনকি লাইভ এডিশন ইন্ট্রোডিউস করব। হ্যাঁ, Xen লাইভ CD থেকে রান করতে পারে, w00t। আশা করি আপনি উপভোগ করেছেন। আশেপাশে দেখা হবে।
চিয়ার্স।