VMware डिस्क का आकार कैसे कम करें


15

मेरी उबंटू छवि VMware डिस्क 5GB भौतिक फ़ाइल आकार की हो गई है। यह 8GB की अधिकतम क्षमता के साथ एक गतिशील रूप से बढ़ती डिस्क है। मैंने लिनक्स डिस्ट्रो के अंदर कुछ सामान को साफ किया और अब उसके अंदर 3GB की जगह है। जाहिर है कि भौतिक फ़ाइल का आकार स्वचालित रूप से वापस सिकुड़ता नहीं था। वहाँ एक तरीका है (यदि संभव हो तो नि: शुल्क है) इस डिस्क को ~ 3GB पर वापस सिकोड़ें?

मुझे डीवीडी पर छवि को फिट करने के लिए इसकी आवश्यकता है।

जवाबों:


21

तीन चरण हैं:

  1. डीफ़्रैग्मेन्ट (किसी भी चीज़ को अन / रिमूव करने की आवश्यकता नहीं है)

    sudo e4defrag /

    किसी भी त्रुटि को अनदेखा करें। कुछ फाइलें जैसे कि सीमलिंक और डिवाइस फाइलें डीफ़्रैग्मेन्ट नहीं हो सकती हैं।

  2. सभी अप्रयुक्त स्थान को शून्य से भरें ताकि VMware जानता है कि यह वास्तव में अप्रयुक्त है:

    dd if=/dev/zero of=wipefile bs=1M; sync; rm wipefile

  3. हटना ऑपरेशन चलाएँ:

    sudo vmware-toolbox-cmd disk shrinkonly


यह VMWare वर्कस्टेशन के लिए सही उत्तर है। धन्यवाद आदमी, मेरी बहुत मदद की!
क्लोनेक्स

सही बात। VMWare वर्कस्टेशन 14, Centos 7 गेस्ट
odiszapc

1
सावधान रहें यदि आप इसे किसी भी आरोहित बाहरी वॉल्यूम जैसे कि S3 - जीरो फिल कमांड के साथ चलाते हैं और अपने S3 बकेट में 256TB की वाइफ़ाइफ़ाइल बनाएंगे ...
Paj

विंडोज 10 होस्ट और उबंटू 16 गेस्ट के लिए मेरे लिए काम किया। पहले मैंने सोचा था कि चरण 3 को होस्ट पर चलाया जाना चाहिए, लेकिन मैं गलत था। सभी चरणों के बाद मैं यहाँ वर्णित के रूप में फाइलसिस्टम जाँच भी चलाता हूँ: askubuntu.com/a/953750/590877
एलेक्स चे

1
+1, हालाँकि मुझे लगता है कि चरण 2 के लिए ज़ीरोफ्री का उपयोग करना अधिक तेज़ और बहुत अधिक साफ होगा: manpages.ubuntu.com/manpages/xenial/man8/zerofree.8.html
ennetienne

15

मैंने समाधान ढूंढ लिया है - आपको अपनी हार्ड ड्राइव को कॉम्पैक्ट करना होगा:

वर्चुअल मशीन - सेटिंग्स - जनरल - क्लीन मशीन वर्चुअल मशीन


वाह। अंत में मुझे यह उत्तर मिला। लेकिन ... वर्चुअल डिस्क को संकुचित करना वास्तव में मुक्त स्थान को पुनः प्राप्त क्यों नहीं करता है?
जादूगर

8
आपको अतिथि उबंटू ओएस (यह मानते हुए कि आपके पास VMware उपकरण स्थापित है) से ऐसा करने की आवश्यकता है: "vmware-toolbox-cmd डिस्क हटना /" जो काम करना चाहिए।
डीएच 4

यह ESXi पर लागू नहीं होता है। उसके लिए, मेरा जवाब नीचे देखें।
कोलिन चाफिन

3

अतिथि (रूट के रूप में) में VMware टूलबॉक्स खोलें और डिस्क को सिकोड़ें। (प्रलेखन)


यदि आपके पास VMware टूल नहीं है, तो आप डिस्क को दो चरणों में मैन्युअल रूप से सिकोड़ सकते हैं। सबसे पहले, ज़ीरोफ्री जैसे टूल का उपयोग करके वर्चुअल डिस्क पर खाली जगह को साफ़ करें । ज़ेरोफ्री उबंटू में उपलब्ध है , लेकिन चूंकि इसमें अतिथि ओएस फाइल सिस्टम को पढ़ने की आवश्यकता होती है, केवल आप इसे एक लाइव सीडी से चलाना चाहते हैं। कथित मैजिक में ज़ेरोफ्री शामिल है।

खाली स्थान को शून्य करने के बाद, वर्चुअल मशीन सेटिंग्स खोलें और वर्चुअल डिस्क को कॉम्पैक्ट करें।


3
Vmware टूलबॉक्स UI अधिक नहीं है, लेकिन आप अभी भी उपयोग कर सकते हैं: "vmware-toolbox-cmd डिस्क सिकुड़न /" जो काम करना चाहिए।
डीएच 4

3

उपयोग

sudo vmware-toolbox-cmd disk shrinkonly

अपने उबंटू अतिथि में कमांड प्रॉम्प्ट से।

(उबंटू 14.04 एलटीएस गेस्ट + विंडोज 10 होस्ट + वीमवेयर वर्कस्टेशन 12.1.1 पर परीक्षण किया गया)


1

VMWare हार्डडिस्क का आकार बदलना :

VMWare में गतिशील वर्चुअल हार्डडिस्क का विस्तार करना आसान है और इसमें vmware-vdiskmanager.exeडिफ़ॉल्ट रूप से स्थित कमांड लाइन टूल की आवश्यकता नहीं है C:\Program Files\VMware\VMware Workstation\

निम्नलिखित कमांड का उपयोग करने के लिए, (Win + R दबाकर कमांड प्रॉम्प्ट खोलें और cmd दर्ज करें): " C:\Program Files\VMware\VMware Workstation\vmware-vdiskmanager.exe" -x NEWSIZE "diskname.vmdk"

प्रक्रिया :

निम्नलिखित चरण हैं:

  • यहाँ डाउनलोड करें
  • इंस्टॉल
  • खुला हुआ
  • विभाजन चुनें, आकार बदलें / ले जाएँ, हैंडल को इसकी पूरी चौड़ाई तक खींचें
  • अप्लाई पर क्लिक करें
  • रिबूट करने के लिए सहमत
  • स्टार्टअप के दौरान, किसी भी कुंजी को दबाएं नहीं
  • बूट-अप मॉड्यूल को अपना कार्य करने दें
  • जांचें कि आपके विंडोज सिस्टम के विभाजन का आकार बढ़ गया है।

चरणों और अतिरिक्त जानकारी के एक दृश्य ठहरने के लिए, यहां देखें ।


1

इन चरणों ने मेरे लिए पूरी तरह से काम किया:

1) शून्य-भरा अप्रयुक्त स्थान

cat /dev/zero > zero.fill;sync;sleep 1;sync;rm -f zero.fill

2) vmware टूलबॉक्स के साथ डिस्क को सिकोड़ें

sudo vmware-toolbox-cmd disk shrink /

उबंटू 16.04, वीएमवेयर वर्कस्टेशन 12.1.0 प्लेयर, विंडोज 7 होस्ट पर परीक्षण किया गया


0

ESXi पर सिकुड़ डिस्क संभव है।

  1. बड़ी फ़ाइल ढूंढें और उन्हें हटा दें।

    /type f -size + 50M खोजें

  2. डीफ़्रैग्मेन्ट (किसी भी चीज़ को हटाने / हटाने की आवश्यकता नहीं)। किसी भी त्रुटि को अनदेखा करें। कुछ फाइलें जैसे कि सीमलिंक और डिवाइस फाइलें डीफ़्रैग्मेन्ट नहीं हो सकती हैं।

    सूदो e4defrag /

  3. सभी अप्रयुक्त स्थान को शून्य से भरें ताकि VMware जानता है कि यह वास्तव में अप्रयुक्त है:

    dd if = / dev / zero = wipefile bs = 1M; सिंक; rm wipefile

  4. हटना ऑपरेशन चलाएँ: यदि 4 विफल रहता है, तो 5 पर आगे बढ़ें।

    sudo vmware-toolbox-cmd डिस्क सिकुड़ती है

  5. कोशिश विकल्प के साथ लिनक्स सिस्टम को रिबूट करें और विभाजन तालिका को gparted के साथ संपादित करें। रूट फ़ाइल सिस्टम को सिकोड़ें और रूट विभाजन के पास स्वैप विभाजन को हटाएं और स्थानांतरित करें।

  6. SSH से ESXi, और यह आदेश जारी करें:

    vmkfstools -K /vmfs/volumes/volumename/vmname/vmname.vmdk

  7. हमें * .vmdk फाइल को एडिट करना होगा। RW अक्षरों के बाद, VMware वर्चुअल डिस्क (VMDK) के आकार को परिभाषित करता है

    * 40 जीबी = 40 * 1024 * 1024 * 1024/512 = 83886080 *

  8. नए आकार को प्रतिबिंबित करने के लिए इसे किसी अन्य डेटास्टोर में माइग्रेट करें।


(1) सवाल यह नहीं है कि फाइल सिस्टम का उपयोग कैसे किया जाए; यह कहता है कि ओपी पहले ही ऐसा कर चुका है। इसलिए आपकी findआज्ञा वास्तव में प्रासंगिक नहीं है। (२) क्या करता vmkfstools -Kहै? (३) फ़ाइल को मैन्युअल रूप से संपादित करें? वास्तव में? (4) मैं आपके निर्देशों को नहीं समझता कि उपयोगकर्ता को फ़ाइल में क्या परिवर्तन करने की आवश्यकता है। (५) दूसरे डेटस्टॉर की ओर पलायन के बारे में आप क्या कह रहे हैं? (०) आप जो कहते हैं, उसमें से अधिकांश को पहले ही कवर किया जा चुका है। ………………………………………… कृपया टिप्पणियों में प्रतिक्रिया न दें;  इसे स्पष्ट और अधिक पूर्ण बनाने के लिए अपना उत्तर संपादित करें।
स्कॉट

वैसे मैं एक VMware आदमी हूँ (मुझे लगता है कि किसी को भी इस प्रयास में से किसी को भी होना चाहिए) तो न केवल यह एक ही जवाब है कि यहां तक ​​कि ESXi पर भी लागू होता है (क्योंकि ESXi vmtools के माध्यम से linux मेहमानों का समर्थन नहीं करता है) - अंततः सही बना दिया मेरे लिए समझ। इसके साथ ही कहा गया, चरण 7 केवल अनावश्यक नहीं है, यह सिर्फ गलत है। चूँकि सिकुड़ने से वास्तविक VOLUME आकार में परिवर्तन नहीं होता है, आप बस चरण 6 के बाद रुक जाते हैं। चरण 8 (स्टोरेज माइग्रेटिंग) का उपयोग केवल तब किया जाता है जब आप vmkfstools को चलाए बिना डिस्क को सिकोड़ना चाहते हैं जो इसकी देखभाल जबरन करता है जिसके कारण उस समाधान के लिए भी कदम की आवश्यकता होती है 5a-SHUT नीचे अतिथि।
कोलिन चाफिन

मेरा जवाब ऊपर देखिए। चरण 5 में सूचीबद्ध vmtools- आधारित cmd भी गलत है क्योंकि यह किसी भी ESXi होस्ट-आधारित परिदृश्य पर समर्थित (या यहां तक ​​कि काम करता है) नहीं है।
कॉलिन चाफिन

0

ESXi / vSphere Linux मेहमान पर VMDK डिस्क को पतला (सिकोड़ना) करता है

नोट: "श्रिंकिंग" का उपयोग अक्सर पतले प्रकार की डिस्क फ़ाइल के आकार को कम करने की प्रक्रिया को संदर्भित करने के लिए किया जाता है। VMware "सिकुड़" शब्द का उपयोग अतिथि को उपलब्ध डिस्क के अंतर्निहित आकार को कम करने के लिए करता है, और "थिनिंग" प्रक्रिया के रूप में अंतर्निहित उपलब्ध आकार में फेरबदल किए बिना अप्रयुक्त स्थान का उपयोग करने के लिए सबसे अधिक होता है।

चूंकि ESXi लिनक्स मेहमानों पर vmtools- आधारित सिकुड़ने का समर्थन नहीं करता है, इसलिए निम्न चरणों का उपयोग किया जाना चाहिए। अधिक जानकारी के लिए नीचे संदर्भ लिंक देखें।

  1. (यदि संभव हो तो) सभी डिस्क लेखन-गहन अनुप्रयोगों और सेवाओं को रोकें क्योंकि निम्न चरण में लक्ष्य मात्रा भर जाएगी

  2. लक्ष्य VMDK पर डीफ़्रैग्मेंट वॉल्यूम (ओं) और किसी भी त्रुटि को सिमिलिंक / डिवाइस फ़ाइलों / आदि के रूप में अनदेखा करें। डीफ़्रैग्मेन्ट नहीं किया जा सकता।

    # USE sudo IF NECESSARY IN YOUR CONFIG!
    e4defrag /
    # or e4defrag /mnt/MOUNTVOLUME
  1. शून्य-सभी अप्रयुक्त स्थान भरें:
    dd if=/dev/zero of=/mnt/MOUNTVOLUME/zeroes bs=1M; sync; rm /mnt/MOUNTVOLUME/zeroes
  1. शट डाउन एंड पावर ऑफ गेस्ट

  2. ESXi होस्ट को SSH और ये आदेश जारी करें:

    # Check current vmdk allocation
    du -h /vmfs/volumes/volumename/vmname/vmname.vmdk

    # Shrink it
    vmkfstools -K /vmfs/volumes/volumename/vmname/vmname.vmdk

    # Check again to verify shrinkage
    du -h /vmfs/volumes/volumename/vmname/vmname.vmdk
  1. अतिथि पर शक्ति

स्रोत

https://kb.vmware.com/s/article/1002019

अधिकांश फ़ाइल सिस्टम में फ़ाइलों का विलोपन उन्हें पूरी तरह से हटा नहीं देगा; केवल फाइल टेबल में बदलाव किया जाएगा। फ्रीवेयर सुरक्षित फ़ाइल विलोपन उपयोगिताओं का उपयोग उपयोगी है, जैसे कि इरेज़र या एसडीएलेट को वॉल्यूम पर मुक्त स्थान को 'शून्य' करने के लिए रिक्त स्थान को प्रभावी ढंग से डेटा के मुक्त स्थान को खाली करना है। यह तब है, जब डिस्क को ठीक से पतला किया जा सकता है। तब आप vmkfstools -K कमांड (ESXi / ESX 4.1 और बाद में) का उपयोग ब्लॉक रिकॉल को पूरा करने के लिए कर सकते हैं या वर्चुअल मशीन को विभिन्न VMFS ब्लॉक आकार के साथ डेटास्टोर में माइग्रेट करने के लिए Storage vMotion का उपयोग कर सकते हैं।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.