পুরানো HP MSA 2000 স্টোরেজ থেকে নতুন স্টোরেজ সিস্টেম Dell EMC Unity-এ ভার্চুয়াল মেশিন ফাইল মাইগ্রেট করার সময় (উভয়ই ESXi হোস্টের সাথে SAN-এর মাধ্যমে সংযুক্ত) আমি VMWare vSphere-এ একটি খালি VMFS Datastore সরানোর চেষ্টা করার সময় একটি সমস্যা সম্মুখীন হয়েছি। VMFS Datastore-কে ESXi হোস্ট থেকে আনমাউন্ট করার চেষ্টা করলে, একটি ত্রুটি বার্তা প্রদর্শিত হয় যে ডেটাস্টোরটি এখনও ব্যবহৃত/ব্যস্ত:
Unmount VMFS volume vmesxi2.woshub.com. The resource 'Datastore Name: MSA2000_LUN1 VMFS uuid: xxxxx--xxxxx-x-xxxxx-xxxx' is in use. Cannot unmount volume Datastore Name VMFS “file system is busy”.

ত্রুটির ভিত্তিতে, এটি স্পষ্ট যে VMFS ডেটাস্টোর সরানো যাচ্ছে না কারণ ESXi হোস্ট বা vSphere এখনও কিছু ডেটা লিখতে এটি ব্যবহার করছে। VMWare ডকুমেন্টেশনের অনুযায়ী, vSphere থেকে LUN সরানোর সময় আপনাকে নিচের পয়েন্টগুলো চেক করা উচিত:
- VMFS ডেটাস্টোরে কোনো ভার্চুয়াল মেশিন, টেমপ্লেট, স্ন্যাপশট বা ISO ইমেজ ফাইল নেই (আপনাকে আপনার VM-গুলো অন্য VMFS ডেটাস্টোরে মাইগ্রেট করতে হবে, পাওয়ার অফ এবং মুছে ফেলতে হবে, অথবা vSphere-এ VM-গুলো আনরেজিস্টার করতে হবে);
- Storage I/O Control ডেটাস্টোরের জন্য নিষ্ক্রিয়;
- ডেটাস্টোর Datastore Cluster-এর অংশ নয়;
- LUN RDM ডিভাইস হিসেবে ব্যবহার করা হচ্ছে না;
- VMFS ডেটাস্টোর vSphere HA ডেটা, Storage DRS, লগ, ডাম্প (/vmkdump/), vSAN ডেটা (/vsantraced/), টেকনিক্যাল সাপোর্ট ডেটা (স্ক্র্যাচ পার্টিশন), বা ভার্চুয়াল মেশিন スワップ ফাইল সংরক্ষণের জন্য ব্যবহার করা হচ্ছে না।
ভার্চুয়াল মেশিনগুলো ইতিমধ্যে Storage vMotion ব্যবহার করে নতুন ডেটাস্টোরে সরানো হয়েছে। চলুন দেখি VMFS ডেটাস্টোরেজে অন্যান্য কী ফাইল এবং ফোল্ডার আছে:
আপনি দেখতে পাচ্ছেন, logdir (লগের ডিরেক্টরি), sdd.sf (SCSI ডিভাইসের বর্ণনার ডিরেক্টরি), dbsData (ডিস্ট্রিবিউটেড ভার্চুয়াল সুইচের ডেটার ডিরেক্টরি) এবং naa… (VMFS মেটাডেটা) ফোল্ডারগুলো বাকি আছে।
আমার কেসে, ESXi হোস্ট লগগুলো এখনও VMFS ডেটাস্টোরে অবস্থিত (Scratch Location)। চেক করুন ডেটাস্টোরটি ESXi হোস্ট সেটিংসে লগ লোকেশন হিসেবে নির্দিষ্ট করা আছে কিনা। Manage → Settings → Advanced System Settings-এ যান। ScratchConfig.CurrentScratchLocation এবং Syslog.global.logDir খুঁজুন এবং আপনার VMFS ডেটাস্টোরটি সেটিতে নির্দিষ্ট থাকলে, লগ ডিরেক্টরির পথটি পরিবর্তন করুন।

ESXi হোস্ট রিস্টার্ট করুন বা হোস্টে Syslog Server সার্ভিসটি রিস্টার্ট করুন।

চলুন আবার ESXi হোস্ট থেকে ডেটাস্টোর আনমাউন্ট করার চেষ্টা করি। Manage → Storage → Storage Device-এ যান। তালিকায় আপনার LUN খুঁজুন, সেটি সিলেক্ট করুন এবং Detaches the selected device from the host ক্লিক করুন।
আমার কেসে আবার ত্রুটি ঘটল:
Detach SCSI LUN The resource is in use.
খুব দিন ধরে আমি খুঁজতে পারিনি কে এই ডেটাস্টোরটি ব্যবহার করছে এবং আমার কেসে সবচেয়ে সহজ উপায় ছিল VMFS ডেটাস্টোরের পার্টিশন টেবিল মুছে ফেলা (বেশি সাবধানতার সাথে করা উচিত এবং নিশ্চিত করুন যে আপনি সঠিক ডেটাস্টোরটি মুছে ফেলছেন)।
- যেকোনো ESXi হোস্টে SSH-এ সংযোগ করুন যাতে VMFS স্টোর মাউন্ট করা আছে;
- vSphere ইন্টারফেসে আপনার ডেটাস্টোরের ID কপি করুন, এবং ESXi হোস্টে চেক করুন যে কোন ডিভাইস এবং VMFS স্টোরের পথ उससे মেলে:
esxcfg-scsidevs -c | grep naa.6001438005df0dee0000700004be0000naa.6001438005df0dee0000700004be0000 Direct-Access /vmfs/devices/disks/naa. 6001438005df0dee0000700004be0000 512000MB NMP HP Fibre Channel Disk (naa.6001438005df0dee0000700004be0000)
esxcfg-scsidevs -m | grep naa.6001438005df0dee0000700004be0000naa.6001438005df0dee0000700004be0000:1 /vmfs/devices/disks/naa.6001438005df0dee0000700004be0000:1 570e5298-08f4c74e-ca3a-b4b52f5e2b38 0 MSA2000_LUN1
- VMFS ডেটাস্টোরে কতটুকু স্পেস বেজি তা দেখুন (এটি প্রায় খালি):
df -h | grep MSA2000_LUN1VMFS-5 499.8G 1.4G 498.3G 0% /vmfs/volumes/MSA2000_LUN1

- তাহলে আমরা নিশ্চিত করেছি যে ডেটাস্টোরের নাম এবং স্টোর ID LUN-টির সাথে মেলে যা আমরা সরাতে চাই;
- এখন আপনার ডেটাস্টোরের পার্টিশন টেবিল সম্পর্কে তথ্য পান:
partedUtil getptbl /vmfs/devices/disks/naa.6001438005df0dee0000700004be0000gpt 65270 255 63 1048576000 1 2048 1048575966 AA31E02A400F11DB9590000C2911D1B8 vmfs 0
- এই কেসে, LUN-এ VMFS ফাইল সিস্টেম সহ একটি একক পার্টিশন আছে;
- এই ডিস্ক (LUN) থেকে ID 1 ওয়ালা VMFS পার্টিশনটি মুছে ফেলুন। খুব সতর্ক থাকুন!!!
partedUtil delete /vmfs/devices/disks/naa.6001438005df0dee0000700004be0000 1
পার্টিশন মুছে ফেলার পর, আপনি vSphere-এ LUN-কে আনমাউন্ট করতে পারেন – Unmount Datastore। 'datastore is in use' ত্রুটি আর প্রদর্শিত হবে না।

ESXi হোস্টগুলো সিলেক্ট করুন যেগুলো থেকে ডেটাস্টোর আনমাউন্ট করতে চান।
অথবা আপনি ESXi হোস্টের সংযুক্ত স্টোরেজ ডিভাইসের তালিকায় Detach করতে পারেন। সংযোগের অবস্থা তখন Detached-এ পরিবর্তন হবে।

এরপর আপনি VMFS স্টোরটি সরাতে পারেন (Delete Datastore) এবং এটি vSphere থেকে গায়েব হয়ে যাবে।
