এই নিবন্ধে আমরা দেখাবো কিভাবে VMware ESXi-এ চলমান একটি ভার্চুয়াল মেশিনের ভার্চুয়াল ডিস্ক (vmdk) ফাইলের আকার কমানো যায়। VMware ভার্চুয়াল মেশিনের ডিস্ক বাড়ানো যেকোনো সময় vSphere Web Client গ্রাফিক্যাল ইন্টারফেসের মাধ্যমে VM বন্ধ না করেই অন-দ-ফ্লাই করা যায়, কিন্তু VMware ESXi হাইপারভাইজারে vmdk ফাইলের আকার কমানো আরও জটিল এবং এটা vSphere Web Client গ্রাফিক্যাল ইন্টারফেসের মাধ্যমে করা যায় না। vSphere Client আপনাকে ছোট ভার্চুয়াল ডিস্ক আকার নির্দিষ্ট করার অনুমতি দেয় না।
গুরুত্বপূর্ণ। এই গাইড VMware-এ vmdk ডিস্কের আকার কমানোর অফিসিয়ালি সমর্থিত সমাধান নয়। যাইহোক, আমি এই পদ্ধতিটি দশাধিকবার ব্যবহার করেছি। এই নিবন্ধে VMware ESXi 6.7 ব্যবহার করা হয়েছে।
ভার্চুয়াল ডিস্কের আকার কমানোর আগে আপনার VMware ESXi হোস্টে নিম্নলিখিত কাজগুলো করুন:
- ভার্চুয়াল মেশিনের সকল স্ন্যাপশট ডিলিট করুন (অন্যথায় আপনি ভার্চুয়াল ডিস্ক ক্ষতিগ্রস্ত করতে পারেন);
- ভার্চুয়াল মেশিনের একটি পূর্ণ ব্যাকআপ নিন, বা আপনি যে vmdk এবং flat ফাইলগুলো ছোট করতে চান তাদের একটি কপি তৈরি করুন। এই কমান্ডগুলো ব্যবহার করুন:
cp vmname.vmdk backup_vmname.vmdk
cp vmname-flat.vmdk backup_vmname-flat.vmdk
ভার্চুয়াল ডিস্কের আকার কমানোর প্রক্রিয়াটি দুটি ধাপে সম্পন্ন হয়:
- গেস্ট OS-এ পার্টিশনের আকার ছোট করা;
- VMFS (NFS) ডেটাস্টোরে VMware ভার্চুয়াল মেশিনের VMDK ফাইলের আকার কমানো।
গেস্ট OS-এ পার্টিশন আকার কমানোর পদ্ধতি?
প্রথমে গেস্ট অপারেটিং সিস্টেমে ডিস্ক পার্টিশনের আকার কমানো। আপনার ভার্চুয়াল মেশিন যদি Windows OS চলে, তবে Disk Manager diskmgmt.msc ব্যবহার করুন (Shrink Volume অপারেশন সমস্ত সমর্থিত Windows সংস্করণে উপলব্ধ; পুরানো Windows সংস্করণে পার্টিশন আকার কমানোর জন্য sdelete টুল ব্যবহার করা হয়) বা থার্ড-পার্টি টুল (যেমন Acronis Disk Director)। আপনি যদি এটি না করেন, তবে ভার্চুয়াল ডিস্কের আকার কমানোর পর আপনার ফাইল সিস্টেম ক্র্যাশ হতে পারে।

মান लीজিয়ে, আপনি ডিস্কের আকার ৪০ GB কমানো চান। সুতরাং ভলিউমের আকার ৪০৯৬০ MB (40 GB x 1024) কমানো হবে। Shrink Volume উইজার্ডের সংশ্লিষ্ট ফিল্ডে এই মানটি লিখুন। পার্টিশনের আকার কমানোর পর, আপনার পার্টিশনের ডানে কিছু unallocated স্পেস (আমাদের উদাহরণে ৪০ GB) থাকবে।

লক্ষ্য করুন যে OEM বা Windows Recovery পার্টিশন কখনো কখনো ডিস্ক বাড়ানো বা কমানো বাধা দিতে পারে।

Linux-এ, আপনি parted ব্যবহার করে পার্টিশনের আকার কমানো পারেন। LVM লজিক্যাল ভলিউম ব্যবহার করলে পরিস্থিতি ভিন্ন হয়।
VMware ভার্চুয়াল মেশিনের VMDK ফাইলের আকার কমানো
তারপর VMware VMFS ফাইল সিস্টেমে VMDK ফাইলের আকার কমানো।
- আপনি যে ভার্চুয়াল মেশিনের ডিস্ক আকার কমানো চান সেটি শাট ডাউন করুন;
- SSH ব্যবহার করে ESXi হোস্টের কনসোলে সংযুক্ত হন যেখানে VMটি রেজিস্টার্ড (আপনি putty বা বিল্ট-ইন Windows SSH ক্লায়েন্ট ব্যবহার করতে পারেন);
- আপনার VM-এর VMDK ফাইল যে ডিরেক্টরিতে অবস্থিত সেখানে যান (আপনি vSphere ক্লায়েন্টের ভার্চুয়াল ডিস্ক প্রপার্টিতে এর পাথ পেতে পারেন):
cd /vmfs/volumes/datastore/test-VM
- cat কমান্ড ব্যবহার করে ভার্চুয়াল ডিস্ক কনফিগারেশন ফাইল (*.vmdk) এর বিষয়বস্তু প্রদর্শন করুন:
# cat test_vm_3.vmdk
vmdk ডিস্কের আকার #Extent description বিভাগে দেখানো হয়েছে (RW ক্যারেক্টারের পরে)। এই ক্ষেত্রে এটি 167772160 (80 GB *1024*1024*1024 / 512);
- আমি আমার VMDK ডিস্ক ৮০ GB থেকে ৪০ GB-এ কমানো চাই। এর মানে আমাকে Extent description বিভাগে 83886080 (
40 GB*1024*1024*1024 / 512) নির্দিষ্ট করতে হবে। একটি টেক্সট এডিটর (vi বা nano) ব্যবহার করে আপনার ভার্চুয়াল ডিস্কের নতুন আকার সেট করুন; - আমি vi ব্যবহার করছি:
# vi test_vm_3.vmdk - নিচের তীর কী ব্যবহার করে ডিস্ক আকার ধারণকারী লাইনটিতে যান এবং
iচাপুন (সম্পাদনার জন্য)। ভার্চুয়াল ডিস্কের নতুন আকার নির্দিষ্ট করুন। ESC চাপুন সম্পাদনা মোড থেকে বের होने के लिए এবং তারপর:wqটাইপ করুন → Enter দিন পরিবর্তনগুলো সংরক্ষণ করতে;
- তারপর ভার্চুয়াল মেশিনটি অন্য একটি ডেটাস্টোরে ক্লোন বা মাইগ্রেট করুন (Storage vMotion ব্যবহার করে)। ভার্চুয়াল মেশিন ফাইলগুলিকে সরানোর পর, এর ভার্চুয়াল ডিস্কের নতুন আকার এর প্রপার্টিজে প্রদর্শিত হবে। টিপ। আপনার যদি শুধুমাত্র একটি ESXi হোস্ট, একটি VMFS ডেটাস্টোর থাকে, তবে আপনি Storage vMotion ব্যবহার করতে পারবেন না। তখন আপনি এই কমান্ড ব্যবহার করে vmdk ক্লোন করতে পারেন:
vmkfstools -i test_vm_3.vmdk test_vm_3_newsize.vmdk
সোর্স VMDK ডিস্কটি সরান, অবশিষ্ট VMDK ডিস্কটি আবার ক্লোন করুন এবং এর মূল নাম নির্দিষ্ট করে পুনরায় নাম দিন:rm test_vm_3.vmdk
rm test_vm_3-flat.vmdk
vmkfstools -i test_vm_3_newsize.vmdk test_vm_3.vmdk - নিশ্চিত করুন যে VM প্রপার্টিজে এখন ভার্চুয়াল ডিস্কের নতুন আকার প্রদর্শিত হচ্ছে।

- তারপর VM চালু করুন, গেস্ট OS-এ লগইন করুন এবং নিশ্চিত করুন যে unallocated এলাকা গিয়েছে এবং ডিস্কের আকার কমেছে।

টিপ। আপনি যদি আগের ধাপে vmkfstools ব্যবহার করেছেন, তবে VM সেটিংসে ভার্চুয়াল ডিস্কটি পুনরায় সংযুক্ত করুন, কারণ এর নতুন আকার সঠিকভাবে প্রদর্শিত নাও হতে পারে। নোট। VMDK ডিস্কের আকার কমানোর জন্য নিচের পদ্ধতিগুলো প্রায়শই ব্যবহৃত হয়:
- VMware vCenter Converter ব্যবহার করে ভার্চুয়াল মেশিন কনভার্ট করে ভার্চুয়াল ডিস্কের আকার কমানো। সোর্সের চেয়ে ছোট ডিস্ক আকার নির্দিষ্ট করে কনভার্ট করুন (এটি আমরা পরবর্তী বিভাগে দেখাব);
- থার্ড-পার্টি সফটওয়্যার (যেমন Acronis True Image বা Symantec Ghost32) ব্যবহার করে ভার্চুয়াল ডিস্কের কন্টেন্ট ক্লোন করা। এই কাজটি ভার্চুয়াল মেশিনে একটি নতুন ছোট ডিস্ক যোগ করে এবং বড় ডিস্কের কন্টেন্ট সেটিতে ক্লোন করে করা হয়। তারপর বড় ডিস্কটি সরানো যায়।
VMware vCenter Converter Standalone ব্যবহার করে VMDK ছোট করা
VMware ভার্চুয়াল মেশিনের ভার্চুয়াল ডিস্ক আকার কমানোর আরেকটি উপায় হল ফ্রি GUI টুল VMware vCenter Converter Standalone ব্যবহার করা।
বিপক্ষে:
- V2V কনভার্সন ধীর;
- নতুন VM সংরক্ষণ করার জন্য ডেটাস্টোরে পর্যাপ্ত স্পেস থাকতে হবে;
- নতুন ভার্চুয়াল মেশিনের একটি নতুন MAC ঠিকানা হবে।
পক্ষে:
- vCenter বা ESXi হোস্ট কনসোল খোলার প্রয়োজন নেই;
- VM-এর একটি সঠিক কপি তৈরি হয়;
- কনভার্সন টাস্ক সেটিংসে কোনো ত্রুটি হলে সোর্স ডিস্ক ক্ষতিগ্রস্ত হয় না।
নোট। আপনি যে ভার্চুয়াল মেশিন কনভার্ট করতে চান (ডিস্ক আকার পরিবর্তন ইত্যাদি) সেটি অবশ্যই শাট ডাউন করা থাকতে হবে (Shut down বা Power Off ব্যবহার করে, Suspend নয়)।
ESXi হোস্টের ঠিকানা নির্দিষ্ট করুন।

সোর্স VM নির্বাচন করুন।

আপনার নতুন VM-এর প্যারামিটার সেট করুন।

ডিস্ক এডিট মোডে যান (Data to copy → Edit)।

কপি মোড নির্বাচন করুন: Select volumes to copy।

আপনার নতুন VM-এর জন্য নতুন ডিস্ক আকার নির্দিষ্ট করুন। আপনি দেখতে পাচ্ছেন, গেস্ট OS-এ ৪৮ GB ব্যবহৃত, এবং ডিস্ক আকার ১৫০ GB। আমরা ভার্চুয়াল ডিস্কের আকার ৬০ GB-এ কমানো।

VM কনভার্সন প্রক্রিয়া শুরু করুন। তারপর সোর্স VM পাওয়ার অফ করুন এবং নতুনটি পাওয়ার অন করুন। নিশ্চিত করুন যে ডিস্কের আকার কমেছে। তারপর মূল VM সরানো যেতে পারে।
নোট। Microsoft Hyper-V-এর সর্বশেষ সংস্করণে, আপনি Hyper–V Online VHDX Resize টুল ব্যবহার করে ভার্চুয়াল ডিস্ক ডাইনামিক্যালি রিসাইজ (বাড়ানো এবং কমানো উভয়ই) করতে পারেন।