vMotion একটি চলমান VMWare ভার্চুয়াল মেশিনকে একটি ভৌত ESXi হোস্ট থেকে অন্যটিতে স্থানান্তরিত করার অনুমতি দেয় এর অপারেশনে বাধা না দিয়ে এবং কোনো পরিষেবা বন্ধ না করে। এই নিবন্ধে আমরা VMWare vMotion বৈশিষ্ট্যগুলি নিয়ে আলোচনা করব:কীভাবে vMotion কাজ করে, কী ধরনের vMotion বিদ্যমান এবং কীভাবে একটি ভার্চুয়াল মেশিনকে ESXi হোস্ট বা স্টোরেজের মধ্যে ম্যানুয়ালি স্থানান্তর করা যায়। আমরা vMotion অপ্টিমাইজেশান এবং সমস্যা সমাধানের সাধারণ পদ্ধতিগুলিও বিবেচনা করব।
আমরা আগেই বলেছি, vMotion আপনাকে লাইভ মাইগ্রেশন করতে দেয় ভার্চুয়াল মেশিনের কোনো ডাউনটাইম বা ব্যবহারকারীদের কাজে বাধা না দিয়ে। VM উচ্চ প্রাপ্যতা প্রদানের উপায় হিসাবে vMotion অবস্থান করা হয় না। প্রথমত, যখন আপনাকে ইনস্টল করা ESXi হাইপারভাইজার বা স্টোরেজ অ্যারেগুলির সাথে ফিজিক্যাল সার্ভারগুলি বজায়/আপডেট/প্রতিস্থাপন করতে হবে তখন উৎপাদনশীল VMগুলি সরানোর জন্য এটি একটি সহজ এবং সুবিধাজনক টুল। এছাড়াও, DRS (ডাইনামিক রিসোর্স শিডিউলার), একটি প্রযুক্তি যা ভৌত সার্ভারের লোড (ভারসাম্য) বিতরণ করতে দেয়, এটি vMotion-এর উপর ভিত্তি করে তৈরি৷
হাইপার-ভি হোস্টের মধ্যে ভিএম স্থানান্তর করার অনুরূপ মাইক্রোসফ্ট প্রযুক্তিকে হাইপার-ভি লাইভ মাইগ্রেশন বলা হয়।
VMWare vMotion কিভাবে কাজ করে?
vMotion ব্যবহার করে ভৌত হোস্টগুলির মধ্যে একটি VM স্থানান্তর করতে, নিম্নলিখিত VMWare উপাদানগুলি ব্যবহার করা হয়:
- একটি VMWare vCenter ব্যবস্থাপনা সার্ভার;
- একটি ভাগ করা সঞ্চয়স্থান (ফাইবার চ্যানেল, iSCSI বা NAS ব্যবহার করে সংযুক্ত), যা ভার্চুয়াল মেশিন ফাইল সংরক্ষণ করে। শেয়ার্ড স্টোরেজ একাধিক শারীরিক ESXi হোস্টকে একটি SAN-এ একই VM-এর ফাইল অ্যাক্সেস করতে দেয়;
- একটি ভাগ করা দ্রুত নেটওয়ার্ক (অন্তত 1GB ইথারনেট) উৎস এবং লক্ষ্য ESXi হোস্টের মধ্যে। একটি VM স্থানান্তর করার সময়, এটি তার আসল MAC ঠিকানা ধরে রাখে এবং vMotion একটি নেটওয়ার্ক সুইচকে জানিয়ে দেয় যে ভার্চুয়াল মেশিন MAC ঠিকানার অবস্থান পরিবর্তিত হয়েছে। এটি সক্রিয় নেটওয়ার্ক সংযোগ রাখার অনুমতি দেয়;
- CPU এর সামঞ্জস্য হোস্ট বা সক্ষম উন্নত vMotion সামঞ্জস্য (EVC) বিকল্পে৷
ভিমোশন কীভাবে লাইভ মাইগ্রেশন সম্পাদন করে? প্রথমত, লক্ষ্য হোস্টে একই কনফিগারেশনের (VMX ফাইল থেকে) একটি উৎস VM-এর একটি ছায়া ক্লোন তৈরি করা হয়। ক্লোন VM শেয়ার করা স্টোরেজে সমস্ত VM ফাইল দেখে। RAM বিষয়বস্তু এবং চলমান VM-এর অবস্থা নেটওয়ার্কের মাধ্যমে উৎস থেকে লক্ষ্য ESXi হোস্টে স্থানান্তরিত হয়। vMotion একটি VM মেমরি স্ন্যাপশট তৈরি করে এবং নেটওয়ার্কের মাধ্যমে লক্ষ্য সার্ভারে এটি অনুলিপি করে। একই সময়ে, vMotion মেমরি পৃষ্ঠাগুলিতে পরিবর্তনগুলি ট্র্যাক করে এবং শুধুমাত্র পরিবর্তিত মেমরির অংশগুলি অনুলিপি করে (এটি বিভিন্ন পর্যায়ে ঘটতে পারে, প্রতিবার কম ডেটা অনুলিপি করা হয় এবং এটি কম সময় নেয়)।
কিছু সময়ে, উৎস VM-এর অবস্থা হিমায়িত করা হয়, মেমরির অংশগুলি পরিবর্তিত হয় এবং CPU নির্দেশাবলী অনুলিপি করা হয় এবং VM টার্গেট ESXi হোস্টে শুরু হয়। একটি 1/10 GB ইথারনেট নেটওয়ার্কে একটি মাঝারি আকারের VM-এর জন্য পুরো প্রক্রিয়াটি কয়েক সেকেন্ড সময় নেয়।
VMware vMotion প্রকারগুলি
৷vMotion দ্বারা, VMWare মানে বিভিন্ন প্রযুক্তির একটি সম্পূর্ণ স্ট্যাক যা আপনাকে হোস্ট, স্টোরেজ অ্যারে, শহর বা প্রাঙ্গনে এবং ক্লাউড অবকাঠামোর মধ্যে ফ্লাইতে চলমান ভিএমগুলি সরাতে দেয়।
vMotion প্রকার:
- স্ট্যান্ডার্ড vMotion – ESXi হোস্টের মধ্যে চলমান VM-এর স্থানান্তর;
- স্টোরেজ vMotion – অনলাইনে ডাটাস্টোরের মধ্যে ভার্চুয়াল মেশিন ফাইল মুভ করা (SAN স্টোরেজ অ্যারে, NAS, vVol, NFS, ইত্যাদি);
- শেয়ারড-নাথিং vMotion ৷ – শেয়ার্ড স্টোরেজ ব্যবহার না করে একটি নেটওয়ার্কে ESXi সার্ভারের মধ্যে একটি VM-এর স্থানান্তর (একটি L2 নেটওয়ার্ক প্রয়োজন);
- দীর্ঘ দূরত্ব vMotion - দূরবর্তী সাইটগুলির মধ্যে একটি VM স্থানান্তর (সর্বাধিক রাউন্ড ট্রিপ সময় 150 ms পর্যন্ত, L3 নেটওয়ার্কগুলিও সহ)। এটি vSphere 6.0; এ প্রবর্তিত হয়েছে
- এনক্রিপ্ট করা vSphere vMotion – নেটওয়ার্কে স্থানান্তর করার সময় VM এনক্রিপ্ট করার অনুমতি দেয় (vSphere 6.5 এ উপলব্ধ);
- ক্রস-ক্লাউড কোল্ড এবং হট মাইগ্রেশন – অন-প্রেম এবং ক্লাউড অবকাঠামোর মধ্যে অনলাইন বা অফলাইন মাইগ্রেশন।
VMware স্টোরেজ vMotion বৈশিষ্ট্য
আমরা যেমন বলেছি, স্টোরেজ vMotion আপনাকে VM বন্ধ না করেই চলমান ভার্চুয়াল মেশিনের ফাইলগুলিকে (vmdk ভার্চুয়াল ডিস্ক এবং কনফিগারেশন ফাইলগুলি) অন্য VMFS/NFS/vVol ডেটাস্টোরে (LUN, স্টোরেজ অ্যারে) সরানোর অনুমতি দেয়৷
সঞ্চয়স্থান vMotion সফলভাবে চালানোর জন্য প্রয়োজনীয়তা:
- VM ডিস্কের ধরন অবশ্যই স্থায়ী বা RDM হতে হবে;
- VMware Tools ইনস্টলেশনের সময় VM মাইগ্রেশন সমর্থিত নয়;
- ডাটাস্টোরের VMFS সংস্করণ মাইগ্রেশনের জন্য গুরুত্বপূর্ণ। উদাহরণস্বরূপ, আপনি VMFS5 থেকে VMFS3 এ 2 TB এর বেশি একটি vmdk ফাইল সরাতে পারবেন না;
- ESXi হোস্টের লাইসেন্স;
- VM যে হোস্টে চলছে তার অবশ্যই সোর্স এবং টার্গেট ডেটাস্টোর উভয়েরই অ্যাক্সেস থাকতে হবে;
- একটি ভার্চুয়াল মেশিন ডিস্ক কপি করার সময় চেঞ্জড ব্লক ট্র্যাকিং (CBT) প্রযুক্তি ব্যবহার করা হয়। এটি পরিবর্তিত ডেটা ব্লক ট্র্যাক করতে এবং তাদের অনুলিপি করার অনুমতি দেয়৷
VMWare-এ উন্নত vMotion সামঞ্জস্য (EVC)
উন্নত vMotion সামঞ্জস্য (EVC) VMware HA/DRS ক্লাস্টারগুলির জন্য মোড ব্যবহার করা হয় যদি ক্লাস্টারটি বিভিন্ন প্রজন্মের CPU-এর হোস্টের উপর ভিত্তি করে (কিন্তু নির্মাতারা নয়!!!)। আপনি একটি ক্লাস্টারের জন্য EVC সক্ষম করলে, একটি হাইপারভাইজার CPU নির্দেশাবলী মাস্ক করা শুরু করে যা সমস্ত হোস্ট দ্বারা সমর্থিত নয়। যখন EVC সক্ষম করা হয়, তখন একটি ক্লাস্টারে ESXi হোস্টের সমস্ত CPU বৈশিষ্ট্যগুলি ক্লাস্টার সেটিংসে একটি vSphere অ্যাডমিনিস্ট্রেটর দ্বারা সেট করা কিছু প্রাথমিক ন্যূনতম সেট প্রসেসর নির্দেশের সাথে সামঞ্জস্যপূর্ণ হয়৷
এইভাবে, EVC-কে ধন্যবাদ, আপনি বিভিন্ন সেট সমর্থিত প্রসেসর নির্দেশাবলী সহ হোস্টগুলির মধ্যে একটি VM স্থানান্তর করতে পারেন৷
একই vSphere ক্লাস্টারে Intel বা AMD এর মত বিভিন্ন প্রসেসর বিক্রেতার সাথে হোস্টগুলিকে মিশ্রিত করবেন না। EVC একই বিক্রেতার দ্বারা প্রসেসরের মধ্যে সামঞ্জস্য অর্জন করতে দেয়।আপনি ক্লাস্টার স্তরে VMWare EVC সক্ষম করতে পারেন৷ কনফিগার করুন এ যান -> কনফিগারেশন -> VMWare EVC এবং সম্পাদনা ক্লিক করুন .
আপনি যদি একটি ক্লাস্টারের জন্য EVC সক্ষম করেন, তাহলে আপনাকে EVC মোড নির্বাচন করতে হবে (AMD বা Intel হোস্টের জন্য) এবং ড্রপডাউন তালিকা থেকে এই বিক্রেতার দ্বারা আপনার VMWare ক্লাস্টারে ন্যূনতম CPU জেনারেশন নির্বাচন করতে হবে৷
আপনার ক্লাস্টারে যে হোস্ট থাকুক না কেন VMWare সর্বদা EVC সক্ষম করার পরামর্শ দেয়৷ আপনি যদি আপনার ক্লাস্টারটি প্রসারিত করতে চান তবে এটি করা আপনার পক্ষে সহজ হবে। এমনকি একটি পৃথক KB নিবন্ধ প্রমাণ করে যে এমনকি যদি আপনার VMগুলি CPU নির্দেশাবলীর সম্পূর্ণ সেট ব্যবহার না করে তবে এটি হোস্টের কার্যকারিতাকে প্রভাবিত করবে না।
VMware vSphere 6.7 ক্লাউড এবং অন-প্রিমিসেস (ক্রস-ক্লাউড কোল্ড এবং হট মাইগ্রেশন) এর মধ্যে মাইগ্রেশন প্রযুক্তি প্রবর্তন করে। ক্লাউডে একটি VM স্থানান্তর করতে, আপনি এখন Per-VM EVC সক্ষম করতে পারেন VM সেটিংসে (হার্ডওয়্যার সংস্করণ 14 সহ vSphere 6.7 এ উপলব্ধ)।
আপনি PowerCLI ব্যবহার করে একটি ক্লাস্টারে VM-এর জন্য বেসলাইন EVC লেভেল সেট পেতে পারেন:
Get-VM | Select Name,HardwareVersion,
@{Name='VM_EVC_Mode';Expression={$_.ExtensionData.Runtime.MinRequiredEVCModeKey}},
@{Name='Cluster_Name';Expression={$_.VMHost.Parent}},
@{Name='Cluster_EVC_Mode';Expression={$_.VMHost.Parent.EVCMode}} | ft
সর্বাধিক সমর্থিত EVC মোড পেতে:Get-VMHost | Select-Object Name,ProcessorType,MaxEVCMode
নির্বাচন করুন
VMWare vSphere এ কিভাবে vMotion সক্ষম করবেন?
আসুন দেখুন কিভাবে VMWare vSphere 6.7-এ vMotion সক্রিয় এবং কনফিগার করবেন। vMotion ব্যবহার করার জন্য, এসেনশিয়ালস প্লাস VMWare লাইসেন্স থাকাই যথেষ্ট।
vMotion VMkernel-এ সক্রিয় করা হয়েছে ESXi হোস্ট ভার্চুয়াল সুইচের স্তর। হোস্ট নির্বাচন করুন এবং কনফিগার করুন এ যান -> নেটওয়ার্কিং -> VMkernel অ্যাডাপ্টার .
আপনার VMkernel অ্যাডাপ্টার নির্বাচন করুন এবং সম্পাদনা করুন ক্লিক করুন .
vmk পোর্ট বৈশিষ্ট্যে, vMotion সক্ষম করুন সক্ষম পরিষেবাগুলিতে বিভাগ।
আমার উদাহরণে, VMWare HA ক্লাস্টার ইতিমধ্যে তৈরি করা হয়েছে এবং vSphere ডিস্ট্রিবিউটেড সুইচ (VDS) ব্যবহার করা হয়েছে।
vMotion ব্যবহার করে হোস্টের মধ্যে একটি VM কিভাবে স্থানান্তর করবেন?
দুটি ESXi হোস্টের মধ্যে চলমান VM স্থানান্তর করতে, vSphere ক্লায়েন্ট খুলুন, আপনি যে VM সরাতে চান সেটিতে ডান ক্লিক করুন এবং মাইগ্রেট নির্বাচন করুন .
আপনি যে মাইগ্রেশন টাইপটি ব্যবহার করতে চান তা নির্বাচন করুন:
- শুধুমাত্র গণনা সংস্থান পরিবর্তন করুন — একটি VM অন্য ESXi হোস্টে স্থানান্তরিত করে;
- শুধুমাত্র সঞ্চয়স্থান পরিবর্তন করুন — এর মানে হল স্টোরেজ vMotion (ভিএম ফাইল যেখানে আছে সেখানে ডেটাস্টোর পরিবর্তন করুন);
- কম্পিউট রিসোর্স এবং স্টোরেজ উভয়ই পরিবর্তন করুন — শেয়ার্ড স্টোরেজ ছাড়াই একটি মাইগ্রেশন মোড (শেয়ার করা স্টোরেজ/শেয়ারড-নথিং ছাড়াই vMotion), VM ফাইলগুলি নেটওয়ার্কে হোস্টের মধ্যে কপি করা হয়
আমি প্রথম বিকল্পটি নির্বাচন করেছি।
মাইগ্রেশন উইজার্ড আপনাকে ভার্চুয়াল মেশিন সরানোর জন্য একটি হোস্ট, একটি ক্লাস্টার, একটি রিসোর্স পুল বা একটি vApp নির্বাচন করার প্রস্তাব দেবে৷ একটি হোস্ট নির্বাচন করুন. যদি vMotion সঠিকভাবে কনফিগার করা থাকে এবং কোনো দ্বন্দ্ব খুঁজে না পাওয়া যায়, আপনি দেখতে পাবেন সামঞ্জস্যতা পরীক্ষা সফল হয়েছে সামঞ্জস্যতা -এ বার্তা বিভাগ।
আপনি যদি সামঞ্জস্য ট্যাবে কোনো ত্রুটি দেখতে পান, সেগুলি পুঙ্খানুপুঙ্খভাবে অধ্যয়ন করুন এবং সেগুলি ঠিক করুন৷পরবর্তীতে ক্লিক করুন।
VM মাইগ্রেশন উইজার্ড আপনাকে লক্ষ্য হোস্টে একটি VM এর vNIC স্থাপন করার জন্য একটি নেটওয়ার্ক নির্বাচন করতে অনুরোধ করবে। আপনি যদি মাইগ্রেশনের পরে VM উপলব্ধ করতে চান তবে এটিকে সোর্স হোস্টের মতো একই নেটওয়ার্ক সেগমেন্টে (VLAN) রাখুন। আপনি যদি একটি স্ট্যান্ডার্ড vSphere সুইচ ব্যবহার করেন, তাহলে সমস্ত ESXi হোস্টে একই পোর্ট গ্রুপ তৈরি করুন। VDS ব্যবহার করার সময়, সমস্ত ক্লাস্টার হোস্টের পোর্ট গ্রুপগুলি একই।
শেষ ধাপে, vMotion টাস্কের অগ্রাধিকার নির্বাচন করুন। ডিফল্টরূপে, সর্বোচ্চ অগ্রাধিকার ব্যবহার করা হয় (উচ্চ অগ্রাধিকার সহ vMotion সময়সূচী ) আমি সবসময় এটি ব্যবহার করি।
তারপর পরবর্তী ক্লিক করুন -> সমাপ্ত এবং অন্য হোস্টে VM মাইগ্রেশন শুরু হবে। আপনি সাম্প্রতিক কাজগুলি-এ মাইগ্রেশন স্ট্যাটাস ট্র্যাক করতে পারেন৷ প্যানেল (ভার্চুয়াল মেশিন স্থানান্তর করুন টাস্ক)। আমার ক্ষেত্রে, 10 GB ইথারনেটের বেশি vMotion ব্যবহার করে VM এর স্থানান্তর করতে প্রায় 3 সেকেন্ড সময় লেগেছে৷
নিশ্চিত করুন যে আপনার VM এখন অন্য ESXi হোস্টে চলছে।
আপনি Move-VM ব্যবহার করে PowerCLI-এর অন্য হোস্টে চলমান VM স্থানান্তর করতে পারেন PowerShell cmdlet. উদাহরণস্বরূপ, আমরা mun-esxi01 থেকে mun-esxi02-এ সমস্ত VM সরাতে চাই:
Get-VMHost mun-esxi01|Get-Vm| Move-VM –Destination (Get-VMHost mun-esxi02)
কেন VMWare vMotion কাজ করছে না?
এখানে সাধারণ কারণগুলির তালিকা রয়েছে কেন vMotion ব্যর্থ হতে পারে বা VM মাইগ্রেশন খুব ধীর হতে পারে:
- CPU অসামঞ্জস্যতা (EVC/বর্ধিত vMotion সামঞ্জস্য মোড সক্ষম করুন);
- VMkernel ইন্টারফেসে vMotion সক্রিয় নেই;
- একটি ESXi হোস্ট বা ভার্চুয়াল সুইচের ভুল নেটওয়ার্ক সেটিংস, পোর্ট গ্রুপ (জাম্বো ফ্রেমগুলি ভুলভাবে কনফিগার করা হয়েছে, vMotion নেটওয়ার্কে একটি IP ঠিকানা বিরোধ, ভুল vSwitch সেটিংস, ধীর নেটওয়ার্ক, প্যাকেট লস);
- কোন শেয়ার করা স্টোরেজ নেই (vSphere সংস্করণ 5.1 বা তার আগের জন্য)। vSphere 5.1 বা উচ্চতর Shared-Nothing VMotion পাওয়া যায়;
- টার্গেট হোস্টে একটি CD/DVD বা একটি ISO ইমেজ উপলব্ধ নেই;
- সক্রিয় অ্যান্টি-অ্যাফিনিটি নিয়ম;
- ভিএমওয়্যার টুল গেস্ট ওএসে ইনস্টল করা হচ্ছে;
- যদি গেস্ট OS সক্রিয়ভাবে তার RAM বিষয়বস্তু পরিবর্তন করে, vMotion নেটওয়ার্কের মাধ্যমে অন্য হোস্টে VM কপিতে পরিবর্তিত ডেটা সরাতে দেরি হতে পারে;
- যদি একটি টার্গেট হোস্টের একটি ছায়া VM তৈরি করার জন্য পর্যাপ্ত CPU বা RAM সংস্থান না থাকে, vMotion একটি ত্রুটির সাথে ব্যর্থ হবে৷
একটি VM দ্রুত স্থানান্তর করতে কীভাবে vMotion গতির উন্নতি/অপ্টিমাইজ করবেন?
আপনি বিভিন্ন উপায়ে আপনার ভার্চুয়াল মেশিন মাইগ্রেশনের গতি বাড়াতে পারেন।
- প্রথমত, দুটি ESXi হোস্টের মধ্যে সর্বোচ্চ পারফরম্যান্স সহ একটি নেটওয়ার্ক ব্যবহার করা ভাল। কমপক্ষে 10 জিবি নেটওয়ার্ক ব্যবহার করুন, 25 জিবি আরও ভাল (আপনার ESXi সার্ভারের একটি নেটওয়ার্ক অ্যাডাপ্টার এবং একটি শারীরিক সুইচ অবশ্যই এই মোড সমর্থন করবে);
- vMotion ট্রাফিকের জন্য বিভিন্ন শারীরিক ইন্টারফেস ব্যবহার করুন;
- vMotion মাইগ্রেশন থ্রেড (ওরফে স্ট্রীম) ব্যবহার করে। vMotion সক্ষম সহ প্রতিটি VMkernel-এর জন্য একটি থ্রেড তৈরি করা হয়েছে। যাইহোক, এই থ্রেডটি শুধুমাত্র একটি প্রসেসর কোর ব্যবহার করতে পারে।
vMotion প্রক্রিয়াগুলির জন্য একাধিক CPU কোর প্রদান করতে, একাধিক VMkernel ইন্টারফেস তৈরি করুন, তাদের জন্য vMotion সক্ষম করুন এবং একটি NIC ইন্টারফেসের সাথে লিঙ্ক করুন। একটি vMotion থ্রেডের গড় থ্রুপুট প্রায় 15 GbE, তাই 100 GbE লোড করতে আপনার 6 টি থ্রেড প্রয়োজন৷
এছাড়াও, আপনি Migrate.VMotionStreamHelpers ব্যবহার করে একটি VMkernel ইন্টারফেসের জন্য vMotion থ্রেডের সংখ্যা বাড়াতে পারেন উন্নত সিস্টেম সেটিংসে বিকল্প।