vMotion একটি চলমান VMware ভার্চুয়াল মেশিনকে একটি ফিজিক্যাল ESXi হোস্ট থেকে অন্য হোস্টে যেকোনো অপারেশন বাধা ডाले বা যেকোনো সার্ভিস বন্ধ না করে মাইগ্রেট করতে দেয়। এই নিবন্ধে আমরা VMware vMotion-এর বৈশিষ্ট্যগুলো আলোচনা করব: vMotion কীভাবে কাজ করে, vMotion-এর কী কী প্রকার আছে এবং কীভাবে একটি ভার্চুয়াল মেশিনকে ESXi হোস্ট বা স্টোরেজের মধ্যে ম্যানুয়ালি মাইগ্রেট করতে হয়। আমরা vMotion অপ্টিমাইজেশন এবং ট্রাবলশুটিং-এর সাধারণ পদ্ধতিও বিবেচনা করব।
vMotion আপনাকে ডাউনটাইম বা ব্যবহারকারীদের কাজ বাধা না দেইলেই লাইভ মাইগ্রেশন করতে দেয়। vMotion VM হাই আভেইলেবিলিটি প্রদানের উপায় হিসেবে পজিশন করা হয়নি। মূলত এটি একটি সহজ এবং সুবিধাজনক টুল যা প্রোডাক্টিভ VM সরানোর জন্য ব্যবহৃত হয়, যখন আপনাকে ইনস্টল করা ESXi হাইপারভাইজার বা স্টোরেজ অ্যারে সহ ফিজিক্যাল সার্ভার রক্ষণাবেক্ষণ/আপডেট/রিপ্লেস করতে হয়। এছাড়া, DRS (Dynamic Resource Scheduler), একটি টেকনোলজি যা ফিজিক্যাল সার্ভার লোড ব্যালেন্স (বিতরণ) করতে দেয়, vMotion-এর উপর ভিত্তি করে তৈরি।
Hyper-V হোস্টের মধ্যে VM মাইগ্রেট করার অনুরূপ Microsoft টেকনোলজিকে Hyper-V Live Migration বলা হয়।

VMware vMotion কীভাবে কাজ করে?
vMotion ব্যবহার করে একটি VM ফিজিক্যাল হোস্টের মধ্যে মাইগ্রেট করতে, নিচের VMware কম্পোনেন্টগুলো ব্যবহার করা হয়:
- একটি VMware vCenter ম্যানেজমেন্ট সার্ভার;
- একটি শেয়ার্ড স্টোরেজ (Fibre Channel, iSCSI বা NAS ব্যবহার করে সংযুক্ত), যা ভার্চুয়াল মেশিন ফাইলগুলো সংরক্ষণ করে। শেয়ার্ড স্টোরেজ একাধিক ফিজিক্যাল ESXi হোস্টকে একই VM-এর ফাইলগুলো SAN-এ অ্যাক্সেস করতে দেয়;
- সোর্স এবং টার্গেট ESXi হোস্টের মধ্যে একটি শেয়ার্ড দ্রুত নেটওয়ার্ক (কমপক্ষে ১GB ইথারনেট)। VM মাইগ্রেট করার সময় এটি তার মূল MAC ঠিকানা ধরে রাখে, এবং vMotion নেটওয়ার্ক সুইচকে জানায় যে ভার্চুয়াল মেশিনের MAC ঠিকানার অবস্থান পরিবর্তন হয়েছে। এটি সক্রিয় নেটওয়ার্ক কানেকশন ধরে রাখতে দেয়;
- হোস্টগুলোর CPU সुसঙ্গতা বা Enhanced vMotion Compatibility (EVC) অপশন সক্রিয়।
vMotion লাইভ মাইগ্রেশন কীভাবে সম্পাদন করে? প্রথমে, সোর্স VM-এর একটি শ্যাডো ক্লোন টার্গেট হোস্টে একই কনফিগারেশন (VMX ফাইল থেকে) নিয়ে তৈরি হয়। ক্লোন VM শেয়ার্ড স্টোরেজে সব VM ফাইল দেখে। চলমান VM-এর RAM কন্টেন্ট এবং স্টেট নেটওয়ার্কের মাধ্যমে সোর্স থেকে টার্গেট ESXi হোস্টে ট্রান্সফার হয়। vMotion VM মেমরির একটি স্ন্যাপশট বানায় এবং নেটওয়ার্কের মাধ্যমে টার্গেট সার্ভারে কপি করে। একই সময়ে, vMotion মেমরি পেজের পরিবর্তনগুলো ট্র্যাক করে এবং শুধু মডিফাইড মেমরি সেগমেন্টগুলো কপি করে (এটি একাধিক স্টেজে হতে পারে, প্রতিবার কম ডেটা কপি হয় এবং কম সময় লাগে)।
এক পর্যায়ে, সোর্স VM-এর স্টেট ফ্রিজ করা হয়, পরিবর্তন করা মেমরি সেগমেন্ট এবং CPU ইনস্ট্রাকশন কপি হয় এবং VM টার্গেট ESXi হোস্টে শুরু হয়। মাঝপথের আকারের একটি VM-এর জন্য ১/১০ GB ইথারনেট নেটওয়ার্কে সম্পূর্ণ প্রক্রিয়াটি কয়েক সেকেন্ড সময় নেয়।
VMware vMotion-এর প্রকারভেদ
vMotion-র মাধ্যমে VMware একটি সম্পূর্ণ স্ট্যাক বোঝায় যা বিভিন্ন টেকনোলজি নিয়ে গঠিত যা চলমান VM-কে হোস্ট, স্টোরেজ অ্যারে, শহর বা অন-প্রেমিস এবং ক্লাউড ইনফ্রাস্ট্রাকচারের মধ্যে অন-দ-ফ্লাই সরাতে দেয়।
vMotion-এর প্রকার:
- স্ট্যান্ডার্ড vMotion – ESXi হোস্টের মধ্যে একটি চলমান VM মাইগ্রেশন;
- Storage vMotion – ডেটাস্টোরের মধ্যে চলমান ভার্চুয়াল মেশিন ফাইল অন-লাইন সরানো (SAN স্টোরেজ অ্যারে, NAS, vVol, NFS, ইত্যাদি);
- Shared-Nothing vMotion – শেয়ার্ড স্টোরেজ ছাড়া নেটওয়ার্কে ESXi সার্ভারগুলির মধ্যে একটি VM মাইগ্রেশন (একটি L2 নেটওয়ার্ক প্রয়োজন);
- Long Distance vMotion – রিমোট সাইটের মধ্যে একটি VM মাইগ্রেশন (সর্বোচ্চ Round Trip Time ১৫০ ms পর্যন্ত, L3 নেটওয়ার্কও অন্তর্ভুক্ত)। এটি vSphere 6.0-এ অনবত صار شد।
- Encrypted vSphere vMotion – নেটওয়ার্কের মাধ্যমে VM ট্রান্সফার করার সময় এনক্রিপ্ট করার অনুমতি দেয় (vSphere 6.5-এ উপলব্ধ);
- Cross-Cloud Cold and Hot Migration – অন-প্রেম এবং ক্লাউড ইনফ্রাস্ট্রাকচারের মধ্যে অনলাইন বা অফলাইন মাইগ্রেশন।
VMware Storage vMotion-এর বৈশিষ্ট্য
আমরা বলেছি, Storage vMotion আপনাকে চলমান ভার্চুয়াল মেশিনের ফাইলগুলো (vmdk ভার্চুয়াল ডিস্ক এবং কনফিগারেশন ফাইল) VM বন্ধ না করে অন্য VMFS/NFS/vVol ডেটাস্টোরে (LUN, স্টোরেজ অ্যারে) সরাতে দেয়।
Storage vMotion সফলভাবে চালানোর জন্য প্রয়োজনীয় শর্তগুলো:
- VM ডিস্কের ধরন অবশ্যই persistent বা RDM হতে হবে;
- VMware Tools ইনস্টলেশন চলাকালীন VM মাইগ্রেশন সমর্থিত নয়;
- মাইগ্রেশনের জন্য ডেটাস্টোরের VMFS সংস্করণ গুরুত্বপূর্ণ। উদাহরণস্বরূপ, আপনি VMFS5 থেকে VMFS3-এ ২ TB-এর বেশি vmdk ফাইল সরাতে পারবেন না;
- ESXi হোস্টে লাইসেন্স;
- VM যে হোস্টে চলছে সেটির উভয় সোর্স এবং টার্গেট ডেটাস্টোরে অ্যাক্সেস থাকতে হবে;
- Changed Block Tracking (CBT) টেকনোলজি ভার্চুয়াল মেশিন ডিস্ক কপি করার সময় ব্যবহৃত হয়। এটি পরিবর্তিত ডেটা ব্লক ট্র্যাক করে এবং সেগুলো কপি করে।
VMware-এ Enhanced vMotion Compatibility (EVC)
VMware HA/DRS ক্লাস্টারের জন্য Enhanced vMotion Compatibility (EVC) মোড ব্যবহার করা হয় যদি ক্লাস্টার ভিন্ন জেনারেশনের CPU 가진 হোস্টের উপর ভিত্তি করে তৈরি হয় (কিন্তু ভিন্ন ম্যানুফ্যাকচারার নয়!!!)। আপনি যদি একটি ক্লাস্টারের জন্য EVC সক্রিয় করেন, তবে হাইপারভাইজার সেই CPU ইনস্ট্রাকশনগুলো মাস্ক করা শুরু করে যা সব হোস্টে সমর্থিত নয়। EVC সক্রিয় হলে, ESXi হোস্ট들의 সমস্ত CPU ফিচার একটি vSphere অ্যাডমিনিস্ট্রেটর ক্লাস্টার সেটিংসে সেট করা কিছু বেসিক মিনিমাম প্রসেসর ইনস্ট্রাকশন সেটের সাথে কম্প্যাটিবল হয়ে যায়।
এভাবে, EVC-এর فضلেই আপনি ভিন্ন প্রসেসর ইনস্ট্রাকশন সেট সমর্থনকারী হোস্টের মধ্যে একটি VM মাইগ্রেট করতে পারেন।
একই vSphere ক্লাস্টারে Intel বা AMD মতো ভিন্ন প্রসেসর ভেন্ডরের হোস্ট মিশ্রিত করবেন না। EVC একই ভেন্ডরের প্রসেসরগুলির মধ্যে কম্প্যাটিবিলিটি অর্জন করতে দেয়।
আপনি ক্লাস্টার লেভেলে VMware EVC সক্রিয় করতে পারেন। Configure → Configuration → VMware EVC-এ যান এবং Edit ক্লিক করুন।

আপনি যদি একটি ক্লাস্টারের জন্য EVC সক্রিয় করেন, তবে আপনাকে EVC মোড (AMD বা Intel হোস্টের জন্য) নির্বাচন করতে হবে এবং ড্রপডাউন লিস্ট থেকে আপনার VMware ক্লাস্টারে যে মিনিমাম CPU জেনারেশন আছে সেটি নির্বাচন করতে হবে।

VMware প্রস্তাব করে যে আপনার ক্লাস্টারে যে হোস্টগুলো আছে তার আরে কিছুই হোক, সবসময় EVC সক্রিয় রাখুন। আপনি যদি আপনার ক্লাস্টার বিস্তার করতে চান, তবে এটি আপনার জন্য সহজ হবে। এমনকি একটি পৃথক KB আর্টিকেল রয়েছে যা প্রমাণ করে যে আপনার VM যদি CPU ইনস্ট্রাকশনের পূর্ণ সেট ব্যবহার না করে, তবে হোস্ট পারফরম্যান্স প্রভাবিত হবে না।
VMware vSphere 6.7 ক্লাউড এবং অন-প্রেমিসের মধ্যে মাইগ্রেশন টেকনোলজি অনবত صار شد (Cross-Cloud Cold and Hot Migration)। একটি VM ক্লাউডে মাইগ্রেট করতে, আপনি এখন VM সেটিংসে Per-VM EVC সক্রিয় করতে পারেন (vSphere 6.7-এ Hardware Version 14-এ উপলব্ধ)।
আপনি 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 ব্যবহার করতে Essentials Plus VMware লাইসেন্স থাকলেই চলে।
vMotion ESXi হোস্টের ভার্চুয়াল সوییচের VMkernel লেভেলে সক্রিয় করা হয়। হোস্ট নির্বাচন করুন এবং Configure → Networking → VMkernel adapters-এ যান।
আপনার VMkernel অ্যাডাপ্টার নির্বাচন করুন এবং Edit ক্লিক করুন।

vmk পোর্ট প্রপার্টিজে Enabled Services বিভাগে vMotion সক্রিয় করুন.

আমার উদাহরণে, VMware HA ক্লাস্টার ইতিমধ্যে তৈরি করা হয়েছে এবং vSphere Distributed Switch (VDS) ব্যবহার করা হচ্ছে।
vMotion ব্যবহার করে হোস্টের মধ্যে একটি VM মাইগ্রেট করার পদ্ধতি?
vSphere Client-এ একটি চলমান VM দুটি ESXi হোস্টের মধ্যে মাইগ্রেট করতে, VM-তে রাইট ক্লিক করুন এবং Migrate নির্বাচন করুন।

আপনি যে মাইগ্রেশন টাইপ ব্যবহার করতে চান সেটি নির্বাচন করুন:
- Change compute resource only — VMকে অন্য একটি ESXi হোস্টে মাইগ্রেট করে;
- Change storage only — এর মানে Storage vMotion (VM ফাইলগুলোর অবস্থান করা ডেটাস্টোর পরিবর্তন);
- Change both compute resource and storage — শেয়ার্ড স্টোরেজ ছাড়া একটি মাইগ্রেশন মোড (vMotion without shared storage/Shared-Nothing), VM ফাইলগুলো নেটওয়ার্কের মাধ্যমে হোস্টের মধ্যে কপি হয়
আমি প্রথম অপশনটি নির্বাচন করেছি।
মাইগ্রেশন উইজার্ড আপনাকে একটি হোস্ট, একটি ক্লাস্টার, একটি রিসোর্স পুল বা একটি vApp নির্বাচন করতে বলবে যেখানে ভার্চুয়াল মেশিনটি সরানো হবে। একটি হোস্ট নির্বাচন করুন। যদি vMotion সঠিকভাবে কনফিগার করা থাকে এবং কোনো конфлиক্ট না থাকে, তবে আপনি Compatibility বিভাগে Compatibility checks succeeded বার্তাটি দেখবেন।
আপনি যদি কম্প্যাটিবিলিটি ট্যাবে কোনো ত্রুটি দেখেন, তবে সেগুলো গভীরে অধ্যয়ন করুন এবং সমাধান করুন।
Next ক্লিক করুন।

VM মাইগ্রেশন উইজার্ড আপনাকে টার্গেট হোস্টে VM-এর vNIC রাখার জন্য একটি নেটওয়ার্ক নির্বাচন করতে অনুরোধ করবে। আপনি যদি চান যে মাইগ্রেশনের পর VMটি অ্যাক্সেসযোগ্য থাকে, তবে এটি সোর্স হোস্টের মতো একই নেটওয়ার্ক সেগমেন্টে (VLAN) রাখুন। আপনি যদি স্ট্যান্ডার্ড vSphere Switch ব্যবহার করেন, তবে সব ESXi হোস্টে একই পোর্ট গ্রুপ তৈরি করুন। VDS ব্যবহার করলে, সব ক্লাস্টার হোস্টের পোর্ট গ্রুপ একই থাকে।

শেষ ধাপে, vMotion টাস্কের প্রায়োরিটি নির্বাচন করুন। ডিফল্টভাবে সর্বোচ্চ প্রায়োরিটি ব্যবহার করা হয় (Schedule vMotion with high priority)। আমি সবসময় এটি ব্যবহার করি।

তারপর Next → Finish ক্লিক করুন এবং VM অন্য হোস্টে মাইগ্রেশন শুরু হবে। আপনি Recent Tasks প্যানেলে ( Relocate virtual machine টাস্ক) মাইগ্রেশন স্ট্যাটাস ট্র্যাক করতে পারেন। আমার ক্ষেত্রে, ১০ GB ইথারনেটে vMotion ব্যবহার করে VM মাইগ্রেশন প্রায় ৩ সেকেন্ড সময় নিয়েছিল।
নিশ্চিত করুন যে আপনার VM এখন অন্য একটি ESXi হোস্টে চলছে।

আপনি PowerCLI-এ Move-VM PowerShell cmdlet ব্যবহার করে একটি চলমান VM অন্য হোস্টে মাইগ্রেট করতে পারেন। উদাহরণস্বরূপ, আমরা mun-esxi01 থেকে mun-esxi02-এ সব VM সরাতে চাই:
Get-VMHost mun-esxi01|Get-Vm| Move-VM –Destination (Get-VMHost mun-esxi02)
VMware vMotion কেন কাজ করে না?
vMotion ফেল হতে পারে বা VM মাইগ্রেশন খুব ধীর হতে পারে এমন কিছু সাধারণ কারণ নিচে দেওয়া হল:
- CPU অসঙ্গতি (EVC/Enhanced vMotion Compatibility মোড সক্রিয় করুন);
- VMkernel ইন্টারফেসে vMotion সক্রিয় নেই;
- ESXi হোস্ট বা ভার্চুয়াল সوییচ, পোর্ট গ্রুপের ভুল নেটওয়ার্ক সেটিংস (Jumbo Frames ভুল কনফিগার, vMotion নেটওয়ার্কে IP ঠিকানা দ্বন্দ্ব, ভুল vSwitch সেটিংস, ধীর নেটওয়ার্ক, প্যাকেট লস);
- শেয়ার্ড স্টোরেজ নেই (vSphere 5.1 বা পুরনো সংস্করণের জন্য)। vSphere 5.1 বা উচ্চতর সংস্করণে Shared-Nothing vMotion উপলব্ধ;
- CD/DVD বা একটি ISO ইমেজ টার্গেট হোস্টে উপলব্ধ নেই;
- সক্রিয় Anti-Affinity নিয়ম;
- VMware Tools গেস্ট OS-এ ইনস্টল হচ্ছে;
- যদি গেস্ট OS সক্রিয়ভাবে তার RAM কন্টেন্ট পরিবর্তন করে, তবে vMotion পরিবর্তিত ডেটা নেটওয়ার্কের মাধ্যমে অন্য হোস্টের VM কপিতে সরাতে দেরি করতে পারে;
- যদি টার্গেট হোস্টে একটি শ্যাডো VM তৈরি করার জন্য পর্যাপ্ত CPU বা RAM রিসোর্স না থাকে, তবে vMotion একটি ত্রুটির সাথে ব্যর্থ হবে।
যদি vMotion মাইগ্রেশন ত্রুটি ঘটে, আপনার VM শাট ডাউন হয় না এবং সোর্স হোস্টে চলতে থাকে।
vMotion স্পিড বাড়াতে/অপ্টিমাইজ করে দ্রুত VM মাইগ্রেট করার পদ্ধতি?
আপনি নিম্নলিখিত উপায়ে আপনার ভার্চুয়াল মেশিন মাইগ্রেশন দ্রুত করতে পারেন।
- প্রথমত, দুটি ESXi হোস্টের মধ্যে সর্বোচ্চ পারফরম্যান্স 가진 নেটওয়ার্ক ব্যবহার করা ভাল। কমপক্ষে ১০ GB নেটওয়ার্ক ব্যবহার করুন, ২৫ GB আরও ভাল (আপনার ESXi সার্ভারের নেটওয়ার্ক অ্যাডাপ্টার এবং ফিজিক্যাল সুইচ এই মোড সমর্থন করতে হবে);
- vMotion ট্রাফিকের জন্য আলাদা ফিজিক্যাল ইন্টারফেস ব্যবহার করুন;
- vMotion মাইগ্রেশন থ্রেড (aka streams) ব্যবহার করে। প্রতিটি VMkernel-এর জন্য যেটির vMotion সক্রিয় আছে, একটি থ্রেড তৈরি হয়। যাইহোক, এই থ্রেড শুধুমাত্র একটি প্রসেসর কোর ব্যবহার করতে পারে।
vMotion প্রসেসের জন্য একাধিক CPU কোর প্রদান করতে, একাধিক VMkernel ইন্টারফেস তৈরি করুন, সেগুলোর জন্য vMotion সক্রিয় করুন এবং সেগুলো একটি NIC ইন্টারফেসের সাথে লিঙ্ক করুন। একটি vMotion থ্রেডের গড় থ্রুপুট প্রায় ১৫ GbE, তাই ১০০ GbE লোড করার জন্য আপনাকে ৬টি থ্রেড প্রয়োজন।
Advanced System Settings-এ Migrate.VMotionStreamHelpers অপশন ব্যবহার করে একটি VMkernel ইন্টারফেসের জন্য vMotion থ্রেডের সংখ্যা বাড়ানো যাবে।