समस्या यहाँ कि यद्यपि आप अपने CentOS वी एम छवि में फ़ाइलों को नष्ट कर दिया है, VMware जब तक आप स्पष्ट रूप से इसे करने के लिए चाहते हैं कि अंतरिक्ष को पुनः प्राप्त करने के लिए प्रयास नहीं करता है। फिर भी, यदि फ़ाइलों द्वारा उपयोग किए गए डिस्क ब्लॉक को शून्य नहीं किया गया है, तो वे vmdk फ़ाइल में स्थान लेना जारी रखेंगे। यदि आप विंडोज वीएम को कम करने के लिए उपयोग किया जाता है तो यह आपके लिए अपरिचित हो सकता है।
अंतरिक्ष सुधारने के लिए बुनियादी प्रक्रिया है:
- किसी भी अनावश्यक फ़ाइलों
- शून्य सभी रिक्त स्थान (विंडोज वीएमएस के लिए नहीं की जरूरत)
- उपयोग VMware प्लेयर या कार्य केंद्र आभासी डिस्क हटना निकालें।
विशिष्ट प्रक्रिया मैं मेरे CentOS छवि को कम करने के लिए इस्तेमाल निम्न करने के लिए किया गया था:
df -h
su
yum clean all
cd/; cat /dev/zero > zero.fill ; sync ; sleep 1 ; sync ; rm -f zero.fill
exit
मैं तो मेरे CentOS वी एम शट डाउन करें और के लिए हार्डवेयर पृष्ठ पर कॉम्पैक्ट उपयोगिता इस्तेमाल किया हार्ड डिस्क डिवाइस वर्चुअल मशीन सेटिंग्स में डिवाइस।
सिकुड़ने के बाद, रूट फ़ाइल सिस्टम के लिए vmdk रूट फ़ाइल सिस्टम के आकार के आकार के समान आकार के आसपास था, और vmdk ने यहां से आवश्यकतानुसार फिर से विस्तार करना शुरू कर दिया।
ध्यान दें कि मेरी वीएम केवल एक ही जड़ विभाजन था, अगर मैं किसी भी अन्य विभाजन या डिस्क था था, मैं बदल दिया है | की cd /
हिस्सा अन्य विभाजनों में से माउंट बिंदु के साथ लाइन भरें और फिर से चलाने के प्रत्येक वर्चुअल डिस्क पर सिकुड़ उपयोगिता।
अधिक विकल्पों के लिए, Shrinking VM Disk Images देखते हैं।
आप एक Debian आधारित Linux साथ भी ऐसा ही, या VMware जीयूआई के बजाय कमांड लाइन उपयोगिता vmware-vdiskmanager
उपयोग करने के लिए, डिस्क हटना लेख How To Shrink VMware Virtual Disk Files (.vmdk) पर एक नज़र ले जाना चाहते करने के लिए निर्देशों की जरूरत है।
यदि आप कुछ समय के लिए वीएम का उपयोग कर रहे हैं, तो आप स्वैप फ़ाइल को शून्य करने से भी लाभ उठा सकते हैं।
$ su
Password:
# cat /proc/swaps
Filename Type Size Used Priority
/dev/sda3 partition 2064376 0 -1
# swapoff -a
# cat /proc/swaps
Filename Type Size Used Priority
# dd if=/dev/zero of=/dev/sda3 bs=1M
dd: writing `/dev/sda3': No space left on device
2017+0 records in
2016+0 records out
2113929216 bytes (2.1 GB) copied, 24.6894 s, 85.6 MB/s
- नोट:: हम यहाँ एक पूरी विभाजन पोंछते रहे हैं के बाद से, यह सुनिश्चित करें कि आप जिस उपकरण
dd
आदेश के लिए निर्दिष्ट वही cat /proc/swaps
आदेश द्वारा दिखाया गया है मेरे CentOS प्रणाली पर, मैं निम्नलिखित किया । सुरक्षित पक्ष पर रहने के लिए, इसे करने से पहले अपने वीएम का बैकअप लें।
वर्चुअल डिस्क को कम करने के बाद, आपको स्वैप फ़ाइल को पुन: सक्षम करने की आवश्यकता होगी। उदाहरण के लिए:
$ su
Password:
# free -o
total used free shared buffers cached
Mem: 1030684 344552 686132 0 20956 175912
Swap: 0 0 0
# mkswap /dev/sda3
Setting up swapspace version 1, size = 2064380 KiB
no label, UUID=80276a48-3581-4f7a-8b05-1f2a97169e22
# gedit /etc/fstab
# swapon -a
# free -o
total used free shared buffers cached
Mem: 1030684 346132 684552 0 20968 175912
Swap: 2064376 0 2064376
gedit/etc/fstab
mkswap
द्वारा बनाई नए के साथ पुराने स्वैप UUID को बदलने के लिए किया गया था।
ध्यान दें कि यह प्रश्न वास्तव में Superuser या Serverfault पर स्टैक ओवरफ़्लो पर अधिक उपयुक्त होगा, जिसका उद्देश्य प्रोग्रामिंग प्रश्नों के लिए होना है।
सहायता के लिए धन्यवाद। वर्चुअल बॉक्स पर भी एक नज़र डालेंगे – Thomas