কম্পিউটার

জেন প্যারাভার্চুয়ালাইজেশনের সাথে গ্রীপ করা

আমরা শুরু করার আগে আমাকে সতর্ক করতে দিন; আপনি হার্ডওয়্যার ভার্চুয়ালাইজেশন ছাড়া Xen ব্যবহার করার চেষ্টা করলে, আপনার যাত্রা সমস্যায় ভেঙ্গে যাবে। এটি একটি খুব সূক্ষ্ম ইঙ্গিত নয় যে আপনার যদি ভার্চুয়ালাইজেশন এক্সটেনশন সহ একটি আধুনিক CPU না থাকে তবে আপনার Xen চেষ্টা করা উচিত নয়। ভার্চুয়ালবক্স বা সম্ভবত ভিএমওয়্যার প্লেয়ারের মতো হোম সলিউশন থেকে অনেক দূরে, কিন্তু তারপরে, জেন একটি সম্পূর্ণ ভিন্ন মার্কেট সেগমেন্টের লক্ষ্য করে।

কিন্তু বলুন আপনি আমার মত একগুঁয়ে এবং টিউটোরিয়াল দিয়ে বিশ্ব জয় করতে চান। তারপরে আপনি Xen প্যারাভার্চুয়ালাইজেশন চেষ্টা করবেন এবং ব্যর্থ হবেন। সবচেয়ে বড় বাধা হল আপনার Xen গেস্টদের সিডি এবং সিডি ইমেজ থেকে বুট করতে, যাতে আপনি ইনস্টলেশন শুরু করতে পারেন। এবং প্যারাভার্চুয়ালাইজড নেটওয়ার্কিং কোন আনন্দ নয়। ওয়েল, আজ, আমি জিনিস সহজ করার চেষ্টা করব. জোর চেষ্টা করা হয়.

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

জেন প্যারাভার্চুয়ালাইজেশনের সাথে গ্রীপ করা

কেন প্যারাভার্চুয়ালাইজেশন একটি ব্যথা হতে পারে

এখানে অফিসিয়াল ব্যাখ্যা:

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

অতিথিদের বিশেষ কার্নেল প্রয়োজন শব্দের উপর জোর দেওয়া হয়। আপনি যদি না জানেন যে এটি কী বা কীভাবে একটি পেতে হয়, তবে জিনিসগুলি চালিয়ে যাওয়ার জন্য আপনাকে কঠোর পরিশ্রম করতে হবে। সবচেয়ে উল্লেখযোগ্যভাবে, লাইভ সিডি ইমেজ থেকে বুট করার চেষ্টা করার সময় আপনি সমস্যা দেখতে পাবেন, যা একটি সিস্টেম ইনস্টলেশনের প্রথম ধাপ হওয়া উচিত।

CD বা ISO ইমেজ থেকে বুট করুন

আপনি যখন আপনার নতুন নতুন ভার্চুয়াল মেশিন সেটআপ করার চেষ্টা করবেন তখন সমস্যাটি শুরু হবে। যেমন আমরা আগে এক মিলিয়ন বার করেছি, আমরা প্রথমে সিডি থেকে আমাদের গেস্ট বুট পেতে চাই।

জেন প্যারাভার্চুয়ালাইজেশনের সাথে গ্রীপ করা

জেন প্যারাভার্চুয়ালাইজেশনের সাথে গ্রীপ করা

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

ব্যবহার করার চেষ্টা করেন

জেন প্যারাভার্চুয়ালাইজেশনের সাথে গ্রীপ করা

জেন প্যারাভার্চুয়ালাইজেশনের সাথে গ্রীপ করা

আপনি যদি ইন্টারটিউবে আঘাত করেন, আপনি সাত মিলিয়ন রেসিপি পাবেন যা আপনাকে বলে যে এটি কীভাবে করা যায় বা করা যায় না। কিন্তু এটা কখনোই ওয়ান-লাইনার নয়, কখনো প্লাগ অ্যান্ড প্লে নয়। সর্বাধিক সাধারণ সমাধানগুলি চিত্রটি বের করা এবং এটি একটি HTTP সার্ভারে আপলোড করা এবং একটি লুপব্যাক ডিভাইস হিসাবে চিত্রটিকে মাউন্ট করার মধ্যে পরিবর্তিত হয়।

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

তাহলে আপনার কি করা উচিত?

প্রথমত, কিছুই না। প্রস্তাবিত পদ্ধতির কয়েকটি সহজে প্রয়োগ করা হয়। এবং তারা সত্যিই কাজ করে না। আপনাকে যা করতে হবে তা হল ত্রুটি বার্তাটি পরীক্ষা করা। বিস্তারিত ক্লিক করুন এবং সেরাটির জন্য আশা করুন। বিবরণ দরকারী হতে পারে.

সমস্ত সম্ভাব্য ক্ষেত্রে বিশদ বিবরণ না দিয়ে, প্যারাভার্চুয়ালাইজেশনের প্রধান সমস্যা দুটি মূল সমস্যায় সংকুচিত হয়:1) গেস্ট সিস্টেম বুট করার জন্য আপনার সঠিক কার্নেল এবং initrd প্রয়োজন 2) প্যারাভার্চুয়ালাইজড নেটওয়ার্ক ইন্টারফেসগুলি খারাপ। এবং এই দুটির সংমিশ্রণ আপনাকে আপনার ভার্চুয়াল মেশিনগুলি সিডি/ডিভিডি থেকে বুট করতে বাধা দেবে।

কার্নেল এবং initrd চিত্র

সম্পূর্ণ ভার্চুয়ালাইজেশন সহ, এটি বেশ সহজ। ভার্চুয়াল মেশিন কনফিগারেশন ফাইলে, আপনাকে বিল্ডার, কার্নেল এবং বুট নির্দেশাবলী সঠিকভাবে উল্লেখ করতে হবে। hvmloader কার্নেল সর্বদা উপলব্ধ, তাই আপনি সেখানে ভাল আছেন।

জেন প্যারাভার্চুয়ালাইজেশনের সাথে গ্রীপ করা

প্যারাভার্চুয়ালাইজড গেস্টদের জন্য এই ধরনের কোন কার্নেল বা initrd নেই। তাই আপনাকে একটু উন্নতি করতে হবে। আপনি যখন আপনার ভার্চুয়াল মেশিনটি GUI উইজার্ড দিয়ে তৈরি করার পরে চালু করার চেষ্টা করবেন, তখন আপনি CD-ROM ত্রুটি পাবেন। কিন্তু কনফিগারেশন ফাইলটি ডিস্কে লেখা হবে।

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

জেন প্যারাভার্চুয়ালাইজেশনের সাথে গ্রীপ করা

আপনি সঠিক আর্গুমেন্ট সহ বুটলোডার নির্দেশিকাও ব্যবহার করতে পারেন, কিন্তু আবার, এটি একটি ক্লান্তিকর প্রক্রিয়া, কারণ প্রতিটি ভার্চুয়াল মেশিনের জন্য আলাদা উপসেটের প্রয়োজন হবে। যাইহোক, বেশিরভাগ লিনাক্স গেস্টদের জন্য, নিম্নলিখিতগুলি কাজ করা উচিত, একটি বড়, উহ্য সহ:

বুটলোডার ='/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 ফাইল প্রয়োজন। এর জন্য ব্রিজড নেটওয়ার্ক অ্যাডাপ্টারও প্রয়োজন।

You can solve the first by letting the virtual machine wizard create temporary entries for you on the hard disk, but this works only for some types of guest operating systems. For instance, Scientific Linux 6, which is based on RedHat 6, explicitly supports this kind of thing, so you're lucky. See below for more details. Alternatively, you can manually place the proper Xen kernel and initrd somewhere on your hard disk. As a last option, you can also use the bootloader directly, again with the right files.

The second issue takes an extra step; you must configure a network bridge. You can bridge both wired and Wireless adapters, however some hardware may not support this.

Even so, things may not work. And they probably won't. Bottom line, Xen paravirtualization is a pain; best avoided. If you compare the difficulty in getting your virtual machines running this way when pitted against pretty much any alternative, the answer is quite obvious.

আরো পড়া

If you're still brave after this guide, then you may want to consider reading a few more articles presenting possible solutions to booting your guests from CD-ROM. Or rather, showing you why it doesn't work and why you shouldn't bother.

Xen domU support - Popular choices like Ubuntu and Fedora are a no-go, yet

How to boot SLES para-virtual domU as a rescue system

উপসংহার

Working with Xen in paravirtualized mode is not a pleasant task. Depending on how advanced your guest systems are in supporting para-domU, you may get lucky and boot from a CD or an ISO image. But you will also require bridged networking, which may not always work, especially with Wireless adapters.

Moreover, you may need to hunt for Xen kernel and initrd files for your guest system, including even compiling your own custom version. This kind of work is too much for most people, both in terms of skill, patience and administrative overhead, especially since other virtualization solutions offer as much without breaking into sweat.

Hopefully, this guide clears the fog a little. Web server, loopback device, physical drive, it makes no difference. You need special kernel and initrd images and bridged networking. You may be lucky and have guests that support domU paravirtualization. If not, you're in for a lot of trouble. My warmest advice is, avoid if you can, go for alternative solutions. However, in its full hardware virtualization mode, Xen is rather cool.

চিয়ার্স।


  1. Xen ক্লাউড প্ল্যাটফর্ম (XCP) - পর্যালোচনা এবং টিউটোরিয়াল

  2. Xen লাইভ সিডি দিয়ে Xen ভার্চুয়ালাইজেশন এক্সপ্লোর করুন

  3. VirtualBox 4 - নতুন কি?

  4. পণ্য নির্মাতার সাথে আপনার নিজস্ব ডিস্ট্রো তৈরি করুন