इस लेख में हम VMware vSphere डेटास्टोर पर फ्री स्पेस की मात्रा जांचने और थिन प्रोविजनिंग डेटास्टोर का पता लगाने के लिए एक सरल PowerCLI स्क्रिप्ट दिखाएंगे जिनमें सभी VM थिन वर्चुअल डिस्क (डायनामिकली एक्सपैंडिंग) का कुल आकार डेटास्टोर के कुल आकार से अधिक है। यदि आपके इंफ्रास्ट्रक्चर में कई VMware डेटास्टोर हैं, तो इस पावरशेल स्क्रिप्ट का उपयोग करके फ्री स्पेस की मात्रा की निगरानी करना और स्टोरेज ओवरकमिटमेंट वाले डेटास्टोर का पता लगाना आसान है (सभी VMs के थिन डिस्क के लिए स्पेस आवश्यकताएं VMFS डेटास्टोर पर उपलब्ध स्थान से अधिक हैं)। आप VM बनाने से पहले उपयोग की गई स्पेस की वृद्धि का विश्लेषण करने, थिन प्रोविजन ओवरकमिटमेंट वाले डेटास्टोर खोजने आदि के लिए स्क्रिप्ट का उपयोग कर सकते हैं।
आपके vSphere इंफ्रास्ट्रक्चर को सही ढंग से काम करने के लिए, आपके VMware VMFS डेटास्टोर पर कम से कम 5-10% फ्री स्पेस रखने की सिफारिश की जाती है। यदि आप स्नैपशॉट उपयोग कर रहे हैं (बैकअप सिस्टम द्वारा बनाए गए सहित), तो कम से कम 10-15% फ्री स्पेस होना आवश्यक है।
VMware डेटास्टोर पर फ्री स्पेस की मात्रा जांचने और प्रदर्शित करने के लिए, आप नीचे दी गई पावरशेल स्क्रिप्ट का उपयोग कर सकते हैं (यह मान लिया गया है कि VMware vSphere PowerCLI मॉड्यूल पहले से ही आपके कंप्यूटर पर इंस्टॉल है):
# PowerCLI मॉड्यूल को अपने पावरशेल सत्र में इम्पोर्ट करें
Import-Module VMware.VimAutomation.Core -ErrorAction SilentlyContinue
# vCenter होस्ट से कनेक्ट करें
Connect-VIServer mun-vcsa1 -User admin
# vCenter डेटास्टोर की सूची प्राप्त करें
$datastores = Get-Datastore
$ErrorActionPreference = 'SilentlyContinue'
# सभी उपलब्ध डेटास्टोर के माध्यम से लूप
ForEach ($datastore in $datastores)
{
# डेटास्टोर में सभी थिन डिस्क के कमिटेड स्पेस का आकार ढूंढें (कितना स्पेस चाहिए अगर सभी vmdk फाइलें उनकी सेटिंग्स में निर्दिष्ट आकार तक बढ़ती हैं)
$Provision = ([Math]::Round(($datastore.ExtensionData.Summary.Capacity - $datastore.ExtensionData.Summary.FreeSpace + $datastore.ExtensionData.Summary.Uncommitted)/1GB,0))
# डेटास्टोर में फ्री स्पेस का प्रतिशत
$PerFree = ([math]::Round(($datastore.FreeSpaceGB)/($datastore.CapacityGB)*100,2))
# थिन डिस्क ओवरकमिटमेंट का प्रतिशत
$PerOvercommit = ([math]::Round($Provision/($datastore.CapacityGB)*100,2))
# डेटास्टोर ऑब्जेक्ट में अतिरिक्त प्रॉपर्टीज जोड़ें
$datastore | Add-Member -type NoteProperty -name PercentsFree -value $PerFree
$datastore | Add-Member -type NoteProperty -name CapacityGb_r -value ([Math]::Round(($datastore.ExtensionData.Summary.Capacity)/1GB,0))
$datastore | Add-Member -type NoteProperty -name FreeSpaceGb_r -value ([Math]::Round(($datastore.ExtensionData.Summary.FreeSpace)/1GB,0))
$datastore | Add-Member -type NoteProperty -name ProvisionedSpaceGb -value $Provision
$datastore | Add-Member -type NoteProperty -name PercentsOvercommit -value $PerOvercommit
}
# VMware डेटास्टोर पर परिणामी डेटा प्रदर्शित करें और आउटपुट को CSV फाइल में एक्सपोर्ट करें
$datastores|select-object Name, Type, Datacenter,CapacityGb_r,FreeSpaceGb_r,PercentsFree,ProvisionedSpaceGb,PercentsOvercommit|sort PercentsFree| Export-Csv C:\Reports\VMWareVMFSDatastores.csv -NoTypeInformation

यदि आप Connect-VIServer का उपयोग करके vCenter से कनेक्ट करने का प्रयास करते हैं और त्रुटि देखते हैं:
Could not resolve the requested VC server.Additional Information: There was no endpoint listening at https://mun-vcsa1/sdk that could accept the message. This is often caused by an incorrect address or SOAP action. See InnerException, if present, for more detailsतो संभव है कि PowerCLI प्रॉक्सी के माध्यम से VCSA से कनेक्ट करने का प्रयास कर रहा हो।PowerCLIConfigurationचलाएं और जांचें किUseSystemProxyरिटर्न करता है या नहीं। यदि हां, तो इस कमांड का उपयोग करके PowerCLI के लिए सिस्टम प्रॉक्सी अक्षम करें:
Set-PowerCliConfiguration -proxypolicy noproxy
मेरे उदाहरण में, आप देख सकते हैं कि पहले 5 VMFS डेटास्टोर में 5% से कम फ्री स्पेस बचा है (हरा बॉक्स)। कुछ डेटास्टोर पर स्टोरेज ओवरकमिटमेंट है (डेटास्टोर में सभी थिन वर्चुअल डिस्क का कुल आकार उनके आकार से अधिक है)। यदि आपके वर्चुअल VM डिस्क उनकी सेटिंग्स में निर्दिष्ट अधिकतम आकार तक बढ़ने लगते हैं, तो आप अपने VMFS/NFS/VVOL स्टोरेज पर स्पेस से बाहर हो सकते हैं। (थिक डिस्क वाली चल रही VMs हमेशा की तरह काम करेंगी, लेकिन आप नई VMs शुरू नहीं कर पाएंगे, क्योंकि VSWAP फाइल बनाने के लिए कोई स्पेस नहीं होगा।) जिन डेटास्टोर में कमिटेड स्पेस कुल LUN आकार से बड़ा है, वे पीले रंग में हाइलाइट किए गए हैं।

यह पावरशेल स्क्रिप्ट आपको फ्री स्पेस की कमी वाले VMware डेटास्टोर को जल्दी से ढूंढने में मदद करेगी (आप Storage vMotion का उपयोग करके VMs को डेटास्टोर से माइग्रेट कर सकते हैं)।