KVM वर्चुअल मशीन डिस्क छवि का आकार कैसे कम करें?


11

आप केवीएम वर्चुअल मशीन डिस्क के आकार को कैसे घटा या घटा सकते हैं?

मैंने 500GB की वर्चुअल डिस्क (/var/lib/libvirt/images/vm1.img पर संग्रहीत) आवंटित की है, और मुझे वह ओवरकिल मिल रहा है, इसलिए अब मैं वर्चुअल के साथ उपयोग के लिए उस स्थान को खाली करना चाहूंगा मशीनों। छवि संग्रहण बढ़ाने के बारे में बहुत से उत्तर दिए गए हैं, लेकिन इसे घटाएं नहीं। मुझे पुण्य-आकार का उपकरण मिला, लेकिन यह केवल कच्चे डिस्क विभाजन के साथ काम करता है, डिस्क छवियों के साथ नहीं।

संपादित करें: मैं एक ext4 स्वरूपित विभाजन के साथ LVM का उपयोग कर रहा हूं।

संपादित करें: GPVed स्क्रीनशॉट मेरे LVM पैशन लेआउट को दर्शाता है। मुझे और भी बहुत कुछ करने की जरूरत है, बस फाइलसिस्टम का आकार बदलो। मुझे पता है कि LVM का आकार बदलने का कोई सुरक्षित तरीका नहीं है। और कृपया मुझे उपयोग करने के लिए मत कहो pvresize। अपने नाम के बावजूद, यह LVM का आकार बदलने का समर्थन नहीं करता है।

GParted स्क्रीनशॉट

मैंने कोशिश की sudo pvresize /dev/vda5, लेकिन यह सिर्फ कहता है physical volume "/dev/vda5" changedलेकिन वास्तव में आकार को कम नहीं करता है।

मैंने partedमैन्युअल रूप से विभाजन आकार (बहुत खतरनाक) सेट करने के लिए शुरू करने की कोशिश की , लेकिन ऐसा करने print allसे मुझे त्रुटि "/ dev / sr0 अपरिचित डिस्क लेबल" मिलती है।

संपादित करें: इन निर्देशों का पालन ​​करके , मैं अपने तार्किक और भौतिक दोनों संस्करणों को सफलतापूर्वक सिकोड़ने में सक्षम था (हालांकि मुझे कुछ आदेशों से पहले और बाद में lvm को सक्रिय और निष्क्रिय करने के लिए याद रखना था, जो निर्देश छोड़ देते हैं।

अब GParted 250G असहित मुक्त स्थान दिखा रहा है। मैं केवीएम डिस्क छवि से इसे कैसे निकालूं और इसे अंतर्निहित हाइपरवाइज़र को वापस दे दूं?


क्या आपको वास्तव में वर्चुअल डिस्क को डाउनसाइज़ करने की आवश्यकता है, या यह पर्याप्त होगा? आप बाद में कुछ ऐसा कर सकते हैं qemu-img -O qcow2 vm1.img vm1-compact.qcow2
अंसार विचित्र

@AnsgarWiechers, हाँ, मुझे अभी भी डिस्क का उपयोग करने की आवश्यकता है, और मुझे जितनी आवश्यकता है, उससे कहीं अधिक जगह आवंटित की गई है।
सेरिन

जवाबों:


10

पोस्ट करने वालों के लिए धन्यवाद, लेकिन आपके जवाब किसी भी मदद के लिए बहुत अस्पष्ट थे।

Googling के घंटों के बाद, मैंने आखिरकार एक गाइड ( लिंक रिडक्टेड ) पाया, जो मेरे फाइलसिस्टम, लॉजिकल वॉल्यूम और भौतिक संस्करणों को सिकोड़ने के चरण-दर-चरण निर्देश प्रदान करता है। चाल जो सबसे अधिक याद आती है, वह वास्तव में भौतिक विभाजनों को हटाने की आवश्यकता है, और उन्हें सही आकार के साथ फिर से बनाना है, क्योंकि जुदा lvm विभाजन का आकार बदलने में असमर्थ है।

फिर मुझे यह दस्तावेज़ qemu-img पर मिला , जो बताता है कि कैसे चलाकर कच्चे-स्वरूपित वर्चुअल डिस्क छवि को सिकोड़ें:

sudo qemu-img resize /var/lib/libvirt/images/myvm.img 255G

qemu-img एक बेहतरीन उपकरण है जब यह kvm के लिए डिस्क छवियों के साथ काम करने की बात आती है। 3 साल बाद आपका लिंक टूटा हुआ लगता है, यहाँ die.net linux.die.net/man/1/qemu-img
Louis Loudog Trottier

और अगर कोई इस सुविधा को चाहता है, और .qcow2 VM के साथ अटका हुआ है (नहीं चाहता है), qemu-img convert -f qcow2 -O raw image.qcow2 image.imgतो इसे पहले रूपांतरित करें और फिर आप उपरोक्त कमांड चला सकते हैं।
oemb1905

4

आपको क्या करने की आवश्यकता है,

  • एक बैकअप लें
  • फ़ाइल सिस्टम को सिकोड़ें * एक लाइव सिस्टम पर ऐसा न करें, मैं एक लाइव सीडी का उपयोग करने की सलाह देता हूं।
  • वांछित आकार की एक नई डिस्क छवि बनाएं।
  • (वर्चुअल) हार्ड डिस्क (घुड़सवार नहीं) के रूप में संलग्न नई और पुरानी छवियों के साथ एक लाइव ओएस चलाएं
  • नया विभाजन (आकार) पुराने डिस्क पर रिसाइज्ड विभाजन के समान आकार बनाएँ
  • नए विभाजन में डेटा को मिरर करने के लिए dd का उपयोग करें।
  • संभवतः आपको सफलतापूर्वक बूट करने के लिए ग्रब (2) को शुद्ध / पुनर्जीवित करने की आवश्यकता होगी।

यह जीयूआई और सीएलआई दोनों के माध्यम से पूरा किया जा सकता है

साधन

उपकरण

  • gparted (लिंक स्पैम के कारण छोड़ा गया, पर्याप्त प्रतिनिधि नहीं)

कठिन हिस्सा है "फाइलसिंक को सिकोड़ें"। मैं एक LVM का उपयोग कर रहा हूँ, जिसका कोई भी उपकरण मुझे समर्थन के आकार का नहीं मिला है। GParted लाइव सीडी भी नहीं।
०१:३४ पर सेरिन

मुझे लगता है कि यह इसे कवर करता है, मैंने इसका उपयोग नहीं किया है इसलिए कृपया अच्छे या बुरे की रिपोर्ट करें tcpdump.com/kb/os/linux/lvm-resizing-guide/shrink.html
daxroc

1) क्या बातें क्रम में (: वहाँ 2 मुख्य बिंदु निरीक्षण करने के लिए कर रहे हैं पहले , फाइल सिस्टम हटना तो , विभाजन हटना तो डिस्क हटना)। 2) एक फाइलसिस्टम को आकार देने की प्रक्रिया / उपकरण वास्तविक फाइल सिस्टम पर बहुत निर्भर करते हैं (जिसे ओपी ने प्रकट नहीं करने के लिए चुना था)। लेख @daxroc पोस्ट किए गए फ़ाइल सिस्टम के अलावा अन्य के लिए काम नहीं करेगा [234]।
अंसार Wiechers

@daxroc, मुझे तार्किक और भौतिक दोनों संस्करणों को कम करने की आवश्यकता है। आपका लिंक केवल तार्किक आयतन को कम करता है।
सेरिन

माना। बैकअप, नई डिस्क, पुनर्स्थापना सबसे सुरक्षित और आसान है
dyasny

0

यह मेरे लिए बहुत अच्छा काम किया। यह डिस्क छवि में 0 ब्लॉक को संकुचित और सिकोड़ता है। जैसा कि यह फिर से लिखा गया है, समय के साथ छवि का विस्तार होगा।

qemu-img convert -c -O qcow2 vmdisk.qcow2 vmdisk-comp.qcow2

-4

मैं यह करने से पहले सलाह देता हूं कि आप डिस्क छवि की पूरी प्रतिलिपि लें जैसा कि यह है, तब जब यह सब टूट जाता है तो आप इसे शुरू करने के लिए इसे वापस कॉपी कर सकते हैं।

वहाँ 3 चीजें आप की जरूरत है:

1) डिस्क की छवि को बड़ा करें। आपके मेजबान में:

qemu-img का आकार foo.qcow2 + 32G है

अब आपका अतिथि एक बड़ी डिस्क देख सकता है, लेकिन अभी भी पुराने विभाजन और फाइल सिस्टम हैं।

2) डिस्क छवि के अंदर विभाजन को बड़ा करें। आपको इसके लिए अपने अतिथि में LiveCD से बूट करने की आवश्यकता है, क्योंकि आप एक माउंटेड विभाजन के साथ गड़बड़ नहीं कर पाएंगे। यह काफी शामिल है और शायद सबसे खतरनाक हिस्सा है। यहाँ नकल करना काफी है, इसलिए मैं अभी के लिए लिंक करूँगा। आप ऐसा कुछ करना चाहते हैं:

http://www.howtoforge.com/linux_resizing_ext3_partitions_p2

या 2 बी) यदि आप अधिक भंडारण स्थान चाहते हैं तो एक नया विभाजन बनाना सरल (और सुरक्षित) होगा। Fdisk या cfdisk का उपयोग करें, या जो कुछ भी आप सहज महसूस करते हैं - आपको अब अपने अतिथि डिस्क पर अनलॉक्ड स्थान का एक पूरा गुच्छा देखना चाहिए।

3) अंत में, यदि आपने अपने मौजूदा विभाजन का आकार बदल लिया है, तो नए बड़े विभाजन के अंदर फाइलसिस्टम को बड़ा बनाएं (यह वास्तव में वैसे भी जुड़े हुए गाइड में है)। अपने मेहमान के अंदर:


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