কম্পিউটার

ভিএমডিকে ভার্চুয়াল হার্ড ডিস্কগুলিকে অ্যামাজন ইলাস্টিক কম্পিউট ক্লাউড (EC2) এএমআই ফর্ম্যাটে কীভাবে রূপান্তর করবেন

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

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

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

ভিএমডিকে ভার্চুয়াল হার্ড ডিস্কগুলিকে অ্যামাজন ইলাস্টিক কম্পিউট ক্লাউড (EC2) এএমআই ফর্ম্যাটে কীভাবে রূপান্তর করবেন

বাড়িতে...

বাড়িতে, আপনার খুব কমই ক্লাসিক ভার্চুয়ালাইজেশনের চেয়ে বেশি প্রয়োজন হবে। কিন্তু যখনই লিভিং রুমে 16GB RAM সহ আপনার নিজস্ব ডাটাবেস সার্ভার থাকার মূল্য ট্যাগ আসবে তখনই আপনি Amazon-এর কথা বিবেচনা করতে শুরু করবেন।

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

পরিবর্তে, আমি প্রদর্শন করতে যাচ্ছি তবে পুরো স্কিমের একটি অংশ, যদিও সম্ভবত সবচেয়ে গুরুত্বপূর্ণ যেটি বাড়ির ব্যবহারকারীর কাছে আসতে পারে - অ্যামাজন ভার্চুয়াল মেশিনের চিত্র তৈরি করা। আমি আপনাকে দেখাতে যাচ্ছি কিভাবে ভিএমওয়্যার পণ্য দ্বারা ব্যবহৃত হোম-ব্রুড ভার্চুয়াল হার্ড ডিস্কগুলিকে অ্যামাজন-সামঞ্জস্যপূর্ণ ছবিতে রূপান্তর করতে হয় যা আপনি EC2 এর সাথে ব্যবহার করতে পারেন।

কেন প্রথমে অ্যামাজন ছবি তৈরি করবেন না বা বিদ্যমান বিল্ডগুলি ব্যবহার করবেন না?

একটি ভাল প্রশ্ন! Amazon আপনাকে স্ক্র্যাচ থেকে ছবি তৈরি করতে বা আপনার সূচনা পয়েন্ট হিসাবে বিদ্যমান টেমপ্লেট (যেমন SUSE, Ubuntu, RedHat, ইত্যাদি) ব্যবহার করতে দেয়। যাইহোক, ছবি তৈরি করা একটু জটিল। এবং বিদ্যমান টেমপ্লেটগুলি ব্যবহার করা আপনি যা চান তা নাও হতে পারে। উদাহরণস্বরূপ, আপনি একটি বিশেষ, কাস্টম-কনফিগার করা ডিস্ট্রো চালাতে চাইতে পারেন বা আপনি একটি ব্যক্তিগত, ডিজিটালি-স্বাক্ষরিত ছবি ব্যবহার করতে চাইতে পারেন যা আপনি ছাড়া অন্য কারো কাছে অনুপলব্ধ৷ আপনি সম্পূর্ণ নিয়ন্ত্রণ চান এবং আপনি অন্যদের আপনার জন্য ছবি তৈরি করতে দিতে সামর্থ্য করতে পারেন না.

উদ্দেশ্য:বাড়িতে ছবি তৈরি করুন, তারপর অ্যামাজনে আপলোড করুন

আমি এই টিউটোরিয়ালটিকে একটি খুব নির্দিষ্ট বিষয়ে সংকুচিত করছি, যা আমি বেশ গুরুত্বপূর্ণ বলে মনে করি। আপনি একটি ব্যক্তিগত ছবি থাকতে চান, তার নিজস্ব শংসাপত্র সহ। আপনি এটি তৈরি করতে চান বাড়িতে, অবসর সময়ে, আপনার নিজের সময় এবং খরচে, ব্যান্ডউইথ এবং কনফিগারেশনের দীর্ঘ ঘন্টার জন্য অর্থ অপচয় না করে। এটি প্রস্তুত হয়ে গেলে, আপনি এটিকে রূপান্তর করবেন এবং অ্যামাজন স্টোরেজে আপলোড করবেন, যাকে বলা হয় অ্যামাজন সিম্পল স্টোরেজ সার্ভিস (S3)৷

দ্রষ্টব্য:এই টিউটোরিয়ালের নির্দেশাবলী যেকোন ব্যবহার করার আগে আপনার একটি বৈধ Amazon EC2 অ্যাকাউন্ট থাকতে হবে। অধিকন্তু, টিউটোরিয়ালটি সফলভাবে অনুসরণ করতে আপনাকে লিনাক্স ব্যবহার করতে হবে। এখানে ব্যবহৃত কিছু সরঞ্জাম শুধুমাত্র লিনাক্সের জন্য উপলব্ধ - আমাজন লিনাক্সে চলে তা বিবেচনা করে অবাক হওয়ার কিছু নেই।

প্রথম প্রশ্ন:কি থেকে রূপান্তর?

আরেকটি ভাল প্রশ্ন. অনেকগুলি ডেস্কটপ ভার্চুয়ালাইজেশন ফর্ম্যাট উপলব্ধ। যাইহোক, আপনি যদি বাড়িতে ভার্চুয়ালাইজেশন চালান, তাহলে আপনার VMware পণ্যগুলির একটি ব্যবহার করার একটি ভালো সুযোগ রয়েছে। VMware তার ভার্চুয়াল হার্ড ডিস্কের জন্য .vmdk ফরম্যাট ব্যবহার করে। এটি আমাদের উৎস বিন্যাস, যা আমরা Amazon Machine Image (AMI) এ রূপান্তর করতে চাই।

যাইহোক, আপনি সরাসরি VMDK ভার্চুয়াল ডিস্কগুলিকে AMI তে রূপান্তর করতে পারবেন না। কি করা দরকার তা দেখানোর জন্য, আমি এই টিউটোরিয়ালটি লিখেছি। চল শুরু করি.

ধাপ 1:নিশ্চিত করুন যে আপনার কাছে আপনার প্রয়োজনীয় সবকিছু আছে

আমরা শুরু করার আগে, এটি এবং এটিকে রূপান্তর করার আগে তাড়াহুড়ো করার আগে কিছু (বেশ কয়েকটি) খুব গুরুত্বপূর্ণ বিষয় বিবেচনা করা উচিত।

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

সাধারণ Amazon প্রয়োজনীয়তা (VMware নির্বিশেষে):

Xen প্রয়োজনীয়তা

আপনি এটিকে রূপান্তর করতে এবং অ্যামাজনে এটি ব্যবহার করার আগে আপনাকে আপনার বিতরণকে জেনিফাই করতে হবে। এটার মানে কি? ঠিক আছে, আমাজন ভার্চুয়াল অবকাঠামো Xen-এর উপর ভিত্তি করে তৈরি করা হয়েছে, VMware, KVM বা অন্যান্য ভার্চুয়ালাইজেশন পণ্যের মতো একটি ওপেন-সোর্স হাইপারভাইজার। অ্যামাজন ভার্চুয়াল মেশিনের জন্য এই প্ল্যাটফর্মে চালানোর জন্য নির্দিষ্ট কার্নেল এবং কার্নেল মডিউল প্রয়োজন। আপনাকে উপযুক্ত Xen কার্নেল ডাউনলোড করতে হবে, এটি বের করতে হবে, Xen মডিউল ইনস্টল করতে হবে এবং GRUB মেনু আপডেট করতে হবে।

আরও বিস্তারিতভাবে, আপনার পছন্দের ডিস্ট্রিবিউশনের ওয়েবসাইট/সফ্টওয়্যার সংগ্রহস্থলে যান এবং প্রাসঙ্গিক কার্নেল ডাউনলোড করুন, আপনার সংস্করণের সাথে মিলে যায়। সংরক্ষণাগারটি বের করুন এবং এতে থাকা ফাইলগুলিকে /boot এবং /lib-এ রাখুন। আপনার পরবর্তী ধাপ হল প্রাসঙ্গিক মডিউল ফাইল তৈরি করা:

depmod -F /boot/System.map--xenU -a -xenU

যেখানে কার্নেল আপনার (uname -r) সংস্করণের সাথে মিলছে।

একবার এটি সম্পন্ন হলে, /lib/modules/-xenU ডিরেক্টরির অধীনে মডিউল বিদ্যমান কিনা তা পরীক্ষা করুন। অবশেষে, GRUB menu.lst কনফিগারেশন ফাইলটি আপডেট করুন যাতে এটিতে একটি Xen কার্নেল এন্ট্রি থাকে। এই এন্ট্রি (স্তবক) ডিফল্টরূপে বুট করা উচিত. GRUB সম্পর্কে আরও জানতে, অনুগ্রহ করে আমার বিস্তৃত টিউটোরিয়াল দেখুন।

পার্টিশনের প্রয়োজনীয়তা

আরেকটি কৌশলী। অ্যামাজন ভার্চুয়াল মেশিনগুলির একটি খুব নির্দিষ্ট পার্টিশন বিন্যাস থাকতে হবে। আপনার /etc/fstab গাছটি এইরকম হওয়া উচিত:

/dev/sda1   /           ext3    ডিফল্ট        1    1
none        /dev/pts    devpts  gid=5,mode=620  0    0
none        /dev/shm    tmpfs   ডিফল্ট           0
কোনোটিই না
কোনোটিই না

আপনি যদি নিজের অদলবদল এবং /mnt মাউন্টপয়েন্ট ব্যবহার করেন, তাহলে সেগুলিকে /etc/fstab থেকে সরিয়ে ফেলুন, কারণ মেশিন ইনস্ট্যান্স চালানোর সময় অ্যামাজন তার নিজস্ব ব্যবহার করবে।

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

ডিফল্ট রানলেভেল এবং পরিষেবা

উপরন্তু, আসলে আপনার Amazon মেশিনের সাথে সংযোগ করতে সক্ষম হওয়ার জন্য, আপনাকে SSH ইনকামিং সংযোগগুলিকে অনুমতি দেওয়ার জন্য ফায়ারওয়াল পরিষেবাটি নিষ্ক্রিয় বা কনফিগার করতে হবে এবং স্বাভাবিকভাবেই, আপনার ডিফল্ট রানলেভেলে SSH পরিষেবা সক্রিয় করা হবে। ডিফল্টরূপে, SSH TCP পোর্ট 22 ব্যবহার করে।

রানলেভেলের কথা বলতে গেলে, Xen মেশিনগুলি সাধারণত অব্যবহৃত রানলেভেল 4-এ বুট করে, তাই আপনাকে আপনার /etc/inittab ফাইলটি সম্পাদনা করতে হবে এবং অব্যবহৃত রানলেভেল 4-এ আনকমেন্ট করতে হবে এবং এটিকে ডিফল্ট রানলেভেল হিসাবে সেট করতে হবে। দ্বিতীয়ত, আপনাকে প্রাসঙ্গিক পরিষেবাগুলি সক্ষম করতে হবে। দুর্ভাগ্যবশত, সুপারিশ করার জন্য আমার কাছে কোন জাদু সেট নেই।

একইভাবে, আপনি অ্যামাজনে এক্স চালাতে পারবেন না (এখনও), তাই রানলেভেল 5 প্রশ্নের বাইরে। আপনার যদি বিভিন্ন রানলেভেলে চালানোর জন্য পরিষেবাগুলি কনফিগার করতে সহায়তার প্রয়োজন হয়, আমার লিনাক্স পরিষেবা টিউটোরিয়ালটি একবার দেখুন।

নেটওয়ার্ক ইন্টারফেস

DHCP এর মাধ্যমে IP ঠিকানা লিজ করার জন্য আপনাকে আপনার নেটওয়ার্ক ডিভাইস কনফিগার করতে হবে এবং IPv6 প্রোটোকল নিষ্ক্রিয় করতে হবে। বেশিরভাগ ক্ষেত্রে, এটি ডিফল্ট সেটিং, তাই আপনাকে এখানে খুব বেশি পরিশ্রম করতে হবে না।

অতিরিক্ত গুরুত্বপূর্ণ নোট:

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

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

দ্বিতীয়ত, Amazon বর্তমানে শুধুমাত্র 10GB পর্যন্ত ছবি সমর্থন করে। এর মানে হল যে আপনার VMDK 10GB এর বেশি হওয়া উচিত নয়। অন্যথায়, আপনি AMI তৈরি করতে পারবেন না। খুব বড় একটি ছবি ব্যবহার করুন এবং আপনি একটি ত্রুটি পাবেন:

ত্রুটি:নির্দিষ্ট চিত্র ফাইল .raw খুব বড়

একটি উদাহরণ চিত্র:

তৃতীয়ত, আপনার লিনাক্স মেশিনে জাভা এবং রুবি ইনস্টল করতে হবে। এবং হ্যাঁ, এই টিউটোরিয়ালের ধাপ 3 এর জন্য আপনার একটি লিনাক্স মেশিনের প্রয়োজন হবে। নিশ্চিত করুন যে আপনি আপনার পালিয়ে যাওয়ার আগে এই সমস্ত চাহিদা পূরণ করেছেন।

ধাপ 2:VMDK কে RAW তে রূপান্তর করুন

এখন যেহেতু আমরা জানি আমাদের কী দরকার, আমরা রূপান্তরের জন্য QEMU ব্যবহার করব। কিউইএমইউ, উইন্ডোজ এবং লিনাক্স উভয়ের জন্য উপলব্ধ, একটি বরং শক্তিশালী, জ্যাক-অফ-অল-ট্রেড ইমুলেটর/ইমেজ ইউটিলিটি, যা আপনাকে VMDK ফাইলগুলিকে RAW ফর্ম্যাটে রূপান্তর করতে দেয়।

আমি আমার ভিএমওয়্যার প্লেয়ার নিবন্ধে ভার্চুয়াল হার্ড ডিস্ক তৈরির জন্য একটি দুর্দান্ত সরঞ্জাম হিসাবে QEMU চালু করেছি, অনেক আগে। আপনি এটিকে অন্যান্য ডিস্ক-সম্পর্কিত কাজের জন্যও ব্যবহার করতে পারেন, যেমন রূপান্তর।

এখন, আপনাকে VMware ডিস্কগুলিকে কাঁচা বিন্যাসে রূপান্তর করতে হবে। Essentially, this will strip the hard disk image of any smart VMware algorithms and expand it into a sector-by-sector disk image.

QEMU does this well. In fact, you can use QEMU for all sorts of conversions. But currently, we're interested in vmdk> raw. To convert, simply locate the relevant .vmdk file and run the following qemu-img command:

qemu-img convert -O raw source.vmdk target.raw

Let the process run. Depending on your machine specs and the image size, it can take quite a while.

Step 3:Bundle the image with AMI tools

Amazon offers two bundles of tools for work with their EC2 service. One is the set of API tools, a client interface for the EC2 service. The other is the set of AMI tools, a collection of command utilities used to create, bundle and upload AMI to Amazon S3.

We need the AMI tools. Download and extract them, preferably inside your home directory. Now, you will have to run a long and tedious conversion command that will look something like this:

./ec2-bundle-image -i -r -c ->
-> -k --user

Let's explain the options:

  • -i - This is your RAW file.
  • -r - This is the architecture of your virtual machine (i386, x86_64, etc).
  • -c - This is the certificate you received from Amazon. You should keep them in the home directory or the same directory against which you're running the command, because the ec2-bundle-image command does not permit trailing slashes in the path to certificate. I don't know why this is, it just is. If you do use it, you'll get an error like this one:
--prefix has invalid value 'cert.pem':'/' character not allowed.

Here's an actual screenshot of such an error (output manipulated for clarity):

  • -k - Your private key. Again, the same rules apply as for the certificate.
  • --user - Your Amazon user ID.

Requirements

But this is not enough. Even if you follow the command to the letter, the ec2-bundle-image will complain. Something like this:

ec2-bundle-image:line 3:EC2_HOME:Neither of EC2_AMITOOL or EC2_HOME environment variables are set

This means you will have to export a few environment variables before using the utility.

BASH

On Bash, you will use the export command, like this:

export EC_HOME=
export EC_AMITOOL_HOME=

TCSH

TCSH does not support export. So instead, you will have to use setenv:

setenv EC_HOME 
setenv EC_AMITOOL_HOME 

The paths should correspond to the following:

  • EC_HOME - your home directory or perhaps an ec2 sub-directory inside it, most likely. Do not use the /tmp filesystem as EC_HOME might complain about an insecure, world-readable directory.
  • EC_AMITOOL_HOME - the directory where you extracted the AMI tools.

You may also want to export/setenv other variables, which makes the process of typing them manually rather boring. To make things more efficient, you may want to create a file, contain all your variables and their values and then source it when you need to run the AMI tools. Something like this:

source file-containing-all-exports

এখন, আমরা প্রস্তুত. Hit Enter against your long conversion command. And wait. After a while, the process should complete successfully. The emphasis is on the word should, as you have to complete a series of delicate preparations for the thing to work.

If you did successfully convert the VMDK> RAW> AMI, then you're ready to upload the file. The indication that your conversion was successful will be a list of files in the /tmp directory and an XML manifest file. This is the default output directory.

This concludes the actual conversion process. Your next step is the upload, but this is beyond the scope of this article. We'll talk about this on another occasion. Amazon is here to stay and you're likely to see several more articles on the subject on Dedoimedo in the future.

উপসংহার

As you can see, the task is not that simple, but it is manageable and will save you quite a bit of time, bandwidth and ultimately money. Being able to convert images offers you freedom beyond the specific needs of the Amazon EC2 service. We've already seen how to use VMware Converter to this end. Now, QEMU is another power tool we can use to enhance our virtualization needs.

You must satisfy quite a few rules though, especially in regard to AMI tools. You must make sure the image is not too big, not to use the trailing slash in front of the certificate and private key paths, make sure the environment variables are exported, and in general, not to place the Amazon tools in "unsafe" directories. Now, have fun walking on clouds.

In the sequel articles, we will talk about Kiwi, a handsome component of the powerful SUSE Build Service and see how it can be used to create Xen or even AMI images from custom distributions or even your own physical installation, offering similar capabilities to VMware Converter - and then some. To this end, we'll play with Image Creator and Product Creator. We will also talk about SUSE Studio and many other exciting, revolutionary concepts, ideas and projects.

Markus, you asked about an AMI tutorial? এখানে আপনি যান. উপভোগ করুন।

চিয়ার্স।


  1. ভার্চুয়ালবক্স VDI কে VMware VMDK ডিস্কে কীভাবে রূপান্তর করবেন

  2. ভার্চুয়ালবক্সে কীভাবে ডিস্ক ক্লোন করবেন - টিউটোরিয়াল

  3. VMware কনভার্টার দিয়ে ভার্চুয়াল মেশিনে রূপান্তর করুন

  4. ভিএমওয়্যার সার্ভারে ভার্চুয়াল মেশিনগুলি কীভাবে ক্লোন করবেন