শুরু করার আগে একটি সতর্কতা: হার্ডওয়্যার ভার্চুয়ালাইজেশন ছাড়াই Xen ব্যবহার করার চেষ্টা করলে আপনার যাত্রা সমস্যা থেকে ভরপুর হবে। এটি একটি সূক্ষ্ম ইঙ্গিত যে আপনার আধুনিক CPU-তে ভার্চুয়ালাইজেশন এক্সটেনশন না থাকলে Xen চেষ্টা করবেন না। VirtualBox বা VMware Player-এর মতো হোম সমাধানের থেকে এটি একটিदम আলাদা, কারণ Xen সম্পূর্ণ ভিন্ন বাজার খণ্ডে লক্ষ্য করে।
আমার মতো জিদ्दी হন এবং টিউটোরিয়ালের মাধ্যমে জগত জয় করতে চান, তবে Xen প্যারাভার্চুয়ালাইজেশন চেষ্টা করলে ব্যর্থ হবেন। সবচেয়ে বড় বাধা হল আপনার Xen গেস্টগুলিকে CD বা CD ইমেজ থেকে বুট করানো যাতে ইনস্টলেশন শুরু করা যায়। এবং প্যারাভার্চুয়ালাইজড নেটওয়ার্কিংও কোনো আনন্দদায়ক নয়। আজ আমি জিনিসগুলিকে সহজ করার চেষ্টা করব। জোর দেওয়া হচ্ছে 'চেষ্টা' শব্দটিতে।
আমরা শিখব কোন সমসাম্যাগুলি আমরা মুখোমুখি হব, লক্ষণগুলি কী, কীভাবে এড়িয়ে যেতে হয়, প্যারাভার্চুয়ালাইজড 커널 এবং initrd ফাইলগুলির সাথে কীভাবে কাজ করতে হয়, এবং আমাদের গেস্টগুলির জন্য ব্রিজড নেটওয়ার্ক অ্যাডাপ্টার কীভাবে কনফিগার করতে হয়। এই সব এবং আরও অনেক কিছু, অনিশ্চিততার মধ্যে লিপ্ত। আমার पीछे আসুন।
প্যারাভার্চুয়ালাইজেশন কেন একটি বেদনা হতে পারে
আসলে অফিসিয়াল ব্যাখ্যাটি এখানে:
প্যারাভার্চুয়ালাইজেশন হল একটি দক্ষ এবং লাইটওয়েট ভার্চুয়ালাইজেশন কৌশল যা Xen দ্বারা পরিচয় করানো হয়েছিল, পরে অন্যান্য ভার্চুয়ালাইজেশন সমাধানদ্বারাও গ্রহণ করা হয়েছে। প্যারাভার্চুয়ালাইজেশনের জন্য হোস্ট CPU-র থেকে ভার্চুয়ালাইজেশন এক্সটেনশনের প্রয়োজন হয় না। যাহোক, প্যারাভার্চুয়ালাইজড গেস্টগুলিকে একটি বিশেষ কের্নেলের প্রয়োজন হয় যা Xen-এ নেটিভভাবে চালানোর জন্য পোর্ট করা হয়েছে, যাতে গেস্টগুলি হাইপারভাইজারের प्रति সচেতন থাকে এবং অনুকরণ বা ভার্চুয়াল অনুকৃত হার্ডওয়্যার ছাড়াই দক্ষতার সাথে চালানো যায়।
জোর দেওয়া হচ্ছে 'গেস্টগুলিকে বিশেষ কের্নেলের প্রয়োজন' শব্দগুলোতে। আপনি যদি না জানেন এটি কী বা কীভাবে পেতে হয়, তবে জিনিসগুলি চালাতে অনেক কঠোর পরিশ্রম করতে হবে। সবচেয়ে đángদ্রষ্টব্য, লাইভ CD ইমেজ থেকে বুট করার চেষ্টা করার সময় সমস্যা দেখা দেয়, যা একটি সিস্টেম ইনস্টলেশনে প্রথম ধাপ হওয়া উচিত।
CD বা ISO ইমেজ থেকে বুট করুন
সমস্যাটি শুরু হবে যখন আপনি আপনার টাজা নতুন ভার্চুয়াল মেশিন সেটআপ করার চেষ্টা করবেন। যেমন আমরা以前 লক্ষ লক্ষবার করেছি, আমরা চাই আমাদের গেস্ট প্রথমে CD থেকে বুট করুক।


তবে তারপর আপনি এই ধরনের কুৎসিত ত্রুটি পাবেন, এমনকি যদি আপনি একটি ISO ব্যবহার করার চেষ্টা করেন:


আপনি যদি ইন্টারনেটে খুঁজেন, তবে আপনি সাত মিলিয়ন রেসিপি পাবেন যা বলে এটি কীভাবে করা যায় বা করা যায় না। কিন্তু এটি কখনোই এক লাইনের নয়, কখনোই প্লাগ-এন্ড-প্লে নয়। সবচেয়ে সাধারণ সমাধানগুলি ভিন্ন হয়: ইমেজ এক্সট্র্যাক্ট করে HTTP সার্ভারে আপলোড করা এবং ইমেজটি লুপব্যাক ডিভাইস হিসাবে মাউন্ট করা।
P.S. অনুগ্রহ করে 'আরও পড়া' বিভাগটিও দেখুন। রেফারেন্স মটেরিয়াল ব্যাখ্যা করে কেন উবুন্টু, जिसे আমরা উপরের টেস্টের জন্য বেছে নিয়েছিলাম, অতিরিক্ত কঠোর পরিশ্রম এবং পরিবর্তন ছাড়া প্যারাভার্চুয়ালাইজড গেস্ট হিসেবে বুট করবে না।
তাহলে আপনি কী করবেন?
প্রথমে সব, কিছুই না। প্রস্তাবিত পদ্ধতির 일부 সহজে বাস্তবায়নযোগ্য নন। এবং সেগুলি সঠিকভাবে কাজ করে না। আপনাকে ত্রুটি বার্তাটি পরীক্ষা করতে হবে। Details-এ ক্লিক করুন এবং ভালো কামনা করুন। বিবরণটি উপকারী হতে পারে।
সমস্ত সম্ভাব্য কেসগুলিতে বিস্তারিত না যেতে, প্যারাভার্চুয়ালাইজেশনের সাথে প্রধান সমস্যাগুলি দুটি মূল সমস্যায় সীমাবদ্ধ: ১) আপনার গেস্ট সিস্টেম বুট করার জন্য সঠিক কের্নেল এবং initrd প্রয়োজন ২) প্যারাভার্চুয়ালাইজড নেটওয়ার্ক ইন্টারফেসগুলি খারাপ। এবং এই দুটির সংমিশ্রণ আপনাকে আপনার ভার্চুয়াল মেশিনগুলিকে CD/DVD থেকে বুট করতে বাধা দেবে।
কের্নেল এবং initrd ইমেজ
ফুল ভার্চুয়ালাইজেশনের সাথে, এটি খুব সহজ। ভার্চুয়াল মেশিন কনফিগারেশন ফাইলে, আপনাকে builder, kernel এবং boot ডিরেক্টিভগুলিকে সঠিকভাবে নির্দিষ্ট করতে হবে। hvmloader কের্নেলটি সর্বদা উপলব্ধ থাকে, তাই সেখানে আপনি ঠিক আছেন।

প্যারাভার্চুয়ালাইজড গেস্টগুলির জন্য এমন কোনো কের্নেল বা initrd নেই। তাই আপনাকে কিছুটা অ্যাম্প্রোভাইজ করতে হবে। GUI উইজার্ডের সাথে এটি তৈরি করার পর যখন আপনি আপনার ভার্চুয়াল মেশিন চালু করার চেষ্টা করবেন, তবে আপনি CD-ROM ত্রুটি পাবেন। কিন্তু কনফিগারেশন ফাইলটি ডিস্কে লেখা হবে।
/etc/xen/vm ডিরেক্টরিতে যান এবং ফাইলটি একটি টেক্সট এডিটরে খুলুন। kernel এবং initrd লাইনগুলো খেয়াল করুন, যা /tmp-এর অধীনে অস্থায়ী কের্নেল এবং initrd ইমেজের দিকে নির্দেশ করছে। আপনি এই দুটি এন্ট্রিকে স্থায়ী Xen কের্নেল এবং initrd ফাইলগুলিকে নির্দেশ করার জন্য পরিবর্তন করতে পারেন, কিন্তু এটি কস্টকর হতে পারে, কারণ আপনাকে এগুলো আলাদাভাবে ডাউনলোড করতে হতে পারে বা নিজে বিল্ড করতে হতে পারে। আপনি CD ইমেজের কন্টেন্ট চেক করতে পারেন এবং xen-সম্পর্কিত কন্টেন্ট খুঁজে বের করতে পারেন, যেটি আপনি কপি করে গেস্ট বুট করতে ব্যবহার করতে পারেন। একটি নমুনা এখানে:

আপনি bootloader ডিরেক্টিভটিও সঠিক আর্গুমেন্টের সাথে ব্যবহার করতে পারেন, কিন্তু আবারও, এটি একটি ক্লান্তিকর প্রক্রিয়া, কারণ প্রতিটি ভার্চুয়াল মেশিনের জন্য একটি ভিন্ন সাবসেট প্রয়োজন হবে। যাইহোক, অধিকাংশ Linux গেস্টের জন্য, নিচেরটি কাজ করবেন, একটি বড়, নিহিত 'হয়তো' সহ:
bootloader = '/usr/lib/xen/boot/domUloader.py'
bootentry = '--entry-=xvda1:/boot/vmlinuz-xen,/boot/initrd-xen'
আপনি অবশ্যই আপনার সেটআপে যে ভার্চুয়াল ডিভাইস ব্যবহার করছেন তার মতে xvda1 কে সামঞ্জস্য করবেন। এটি একটি কুৎসিত 핵 এবং এটি অবশ্যই কাজ করবে বলে নিশ্চিত নন।
প্যারাভার্চুয়ালাইজড নেটওয়ার্ক ইন্টারফেস
একটি অন্য বাধা হল vif ডিরেক্টিভ। Xen প্যারাভার্চুয়ালাইজড গেস্টগুলি আপনার সেটআপ পছন্দ নাও করতে পারে। কারণ হল, আপনি আপনার নেটওয়ার্ক অ্যাডাপ্টারগুলিকে ব্রিজ না করলে সরাসরি ব্যবহার করতে পারবেন না। আপনি eth0 বা wlan0-এর মতো ডিভাইস ব্যবহার করতে পারবেন না, আপনাকে xenbr0 বা br0 এবং অনুরূপ موارد ব্যবহার করতে হবে। আপনি যদি কমান্ড লাইন থেকে একটি ভার্চুয়াল মেশিন শুরু করার চেষ্টা করেন, তবে ত্রুটি বার্তাটি স্পষ্ট এবং স্পষ্ট হবে:

একটি 임시 সমাধান হিসেবে, ডিরেক্টিভটি মুছে দিন বা কমেন্ট আউট করুন এবং আপনার ভার্চুয়াল মেশিনটি বুট হওয়া উচিত। আবারও, আমার অধিকাংশ টিউটোরিয়ালের মতো, যা একটি ইতিবাচক, নিশ্চিত 'হ্যাঁ' ব্যবহার করে, এখানে আমরা হতাশাজনক 'হয়তো'-এর সাথে কাজ করছি। আপনার কনফিগারেশন ফাইলে যে কোনো vif ডিরেক্টিভ আছে সেটিকে প্রতিস্থাপন করুন।
#vif=['',]
এবং তারপর, ম্যাজিক কনসোল:


এবং আপনি আর নাই 網絡 সমস্যাগুলির শিকার হবেন:
সাধারণভাবে, আপনি নেটওয়ার্ক ছাড়াও চলে যেতে পারেন, কিন্তু এটি কদাচিৎ কোনো কাজের, কারণ আমরা আমাদের গেস্টগুলির জন্য একটি সংযোগ চাই। তাই, আপনাকে আপনার অ্যাডাপ্টারগুলি ব্রিজ করতে হবে। আপনার কিছু নেটওয়ার্ক ইন্টারফেস ব্রিজিং সমর্থন নাও করতে পারে, তাই সেটিকে ধরে রাখুন।


আবারও, এটি সাহায্য করতে পারে বা নাও করতে পারে। عملي কোনো গ্যারান্টি নেই। উদাহরণস্বরূপ, আপনি দুর্ভাগ্যবশত এই ধরনের বার্তা পেতে পারেন যা আপনাকে বলে: আপনার এখন ছেড়ে দেওয়া উচিত। অথবা আপনি brctl ইউটিলিটি ব্যবহার করে ম্যানুয়ালি একটি ব্রিজ তৈরি করার চেষ্টা করতে পারেন।
এখানে আমাদের কী আছে?
এই গাইডটি কিছুটা বিভ্রান্তিকর, তাই আসুন দেখি আমাদের 지금까지 কী আছে। আপনার দুটি মূল সমস্যা আছে: এক, আপনার গেস্টের জন্য বুটলোডার/কের্নেল; দুই, নেটওয়ার্ক ইন্টারফেস। প্যারাভার্চুয়ালাইজড মোডে চালানোর সময়, Xen আপনার গেস্টের জন্য সঠিক কের্নেল এবং initrd ফাইলগুলিকে ডিস্কে কোথাও অবস্থান করার দাবি করে। এটিও ব্রিজড নেটওয়ার্ক অ্যাডাপ্টার দাবি করে।
আপনি প্রথম সমস্যাটি সমাধান করতে পারেন ভার্চুয়াল মেশিন উইজার্ডকে আপনার জন্য হард ডিস্কে অস্থায়ী এন্ট্রি তৈরি করতে দিয়ে, কিন্তু এটি শুধুমাত্র কিছু ধরণের গেস্ট অপারেটিং সিস্টেমের জন্য কাজ করে। উদাহরণস্বরূপ, Scientific Linux 6, যা RedHat 6-এ ভিত্তি করে, স্পষ্টভাবে এই ধরনের জিনিস সমর্থন করে, তাই আপনি ভাগ্যবান। আরও বিস্তারিতের জন্য নিচে দেখুন। বিকল্পভাবে, আপনি ম্যানুয়ালি সঠিক Xen কের্নেল এবং initrd কোথাও আপনার হার্ড ডিস্কে রাখতে পারেন। শেষ বিকল্প হিসেবে, আপনি বুটলোডারটিও সরাসরি ব্যবহার করতে পারেন, আবারও সঠিক ফাইলগুলির সাথে।
দ্বিতীয় সমস্যাটি একটি অতিরিক্ত ধাপ নেয়; আপনাকে অবশ্যই একটি নেটওয়ার্ক ব্রিজ কনফিগার করতে হবে। আপনি যেতে হয় তার আপনার ওয়ায়ার্ড এবং Wireless অ্যাডাপ্টার উভয়ই ব্রিজ করতে পারেন, তবে কিছু হার্ডওয়্যার এটি সমর্থন নাও করতে পারে।
তবুও, জিনিসগুলি কাজ নাও করতে পারে। এবং সম্ভবত করবে না। নিচের লাইনটি হল, Xen প্যারাভার্চুয়ালাইজেশন একটি বেদনা; সেটি এড়ানো সেরা। যেকোনো বিকল্পের সাথে তুলনা করলে আপনার ভার্চুয়াল মেশিনগুলিকে এই পথে চালানোর কঠিনতা খুবই স্পষ্ট।
আরও পড়া
আপনি যদি এই গাইডের পরেও সাহসী থাকেন, তবে আপনি আপনার গেস্টগুলিকে CD-ROM থেকে বুট করার সম্ভাব্য সমাধান দطوط আরও কিছু নিবন্ধ পড়ার কথা ভাবতে পারেন। বরং, সেগুলি আপনাকে দেখাবে কেন এটি কাজ করে না এবং কেন আপনাকে এเรื่องে_On কষ্ট করা উচিত নয়।
Xen domU সমর্থন - উবুন্টু এবং ফেডোরার মতো জনপ্রিয় পছন্দগুলি এখনও no-go
SLES প্যারা-ভার্চুয়াল domU কীভাবে রেসকিউ সিস্টেম হিসেবে বুট করবেন
উপসংহার
প্যারাভার্চুয়ালাইজড মোডে Xen-এ কাজ করা একটি সুনির্মল কাজ নয়। আপনার গেস্ট সিস্টেমগুলি কতটুকু para-domU সমর্থন করতে পারে সেটির উপর নির্ভর করে, আপনি ভাগ্যবান হতে পারেন এবং একটি CD বা একটি ISO ইমেজ থেকে বুট করতে পারেন। কিন্তু আপনাকে ব্রিজড নেটওয়ার্কিংও প্রয়োজন হবে, যা সবসময় কাজ নাও করতে পারে, বিশেষ করে Wireless অ্যাডাপ্টারগুলির সাথে।
বیش nữa, আপনাকে আপনার গেস্ট সিস্টেমের জন্য Xen কের্নেল এবং initrd ফাইলগুলি খুঁজে বের করতে হতে পারে, এমনকি আপনার নিজস্ব কাস্টম সংস্করণ কম্পাইল করতে হতে পারে। এই ধরনের কাজ অধিকাংশ মানুষের জন্য খুব বেশি, কৌশল, ধৈর্য এবং প্রশাসনিক ওভারহেডের দিক থেকে, বিশেষ করে যেহেতু অন্যান্য ভার্চুয়ালাইজেশন সমাধান একই চাপ ছাড়াই একই সুবিধা দেয়।
আশা করি এই গাইড কিছুটা কুয়াশা দূর করবে। ওয়েব সার্ভার, লুপব্যাক ডিভাইস, ফিজিক্যাল ড্রাইভ, এতে কোনো পার্থক্য নেই। আপনাকে বিশেষ কের্নেল এবং initrd ইমেজ এবং ব্রিজড নেটওয়ার্কিংয়ের প্রয়োজন। আপনি ভাগ্যবান হতে পারেন এবং আপনার গেস্টগুলি domU প্যারাভার্চুয়ালাইজেশন সমর্থন করতে পারে। যদি না হয়, তবে আপনি অনেক সমস্যায় পড়বেন। আমার গরম পরামর্শ হল, যদি সম্ভব হয় তবে এড়িয়ে চলুন, বিকল্প সমাধানগুলির জন্য যান। যাইহোক, এর ফুল হার্ডওয়্যার ভার্চুয়ালাইজেশন মোডে, Xen বস্তুতঃ কুল।
চিয়ার্স।