मैं इस प्रक्रिया के अनुसार KVM का उपयोग कर लाइव-स्नैपशॉट की कोशिश कर रहा हूं ।
मुझे कुछ बिंदु पर गड़बड़ करनी चाहिए क्योंकि मैं ऐसी स्थिति में हूं जो मुझे समझ में नहीं आता है।
मेरे वीएम कहा जाता है prod
। यह फ़ाइल में बनाया गया था /srv/vm/prod.qcow2
।
जाहिरा तौर पर, कोई स्नैपशॉट नहीं चल रहा है: मैं बेस फाइल पर काम कर रहा हूं। मैं अनुमान लगा सकता हूं क्योंकि फ़ाइल की संशोधन तिथि /srv/vm/prod.qcow2
हर मिनट या तो बदल जाती है। इसके अलावा, यह आदेश इसकी पुष्टि करता है:
# virsh domblklist prod
Target Source
------------------------------------------------
vda /srv/vm/prod.qcow2
और इसमें कुछ भी नहीं है:
# virsh blockcommit prod vda --active --pivot
error: invalid argument: top '/srv/vm/prod.qcow2' in chain for 'vda' has no backing file
हालाँकि, libvirt एक पुराने स्नैपशॉट का पता लगाता है:
# virsh snapshot-list prod
Name Creation Time State
------------------------------------------------------------
snap 2015-06-09 12:11:33 +0200 disk-snapshot
इसकी डिस्क्रिप्टर फाइल है /var/lib/libvirt/qemu/snapshot/prod/snap.xml
:
<domainsnapshot>
<name>snap</name>
<state>disk-snapshot</state>
<creationTime>1433844693</creationTime>
<memory snapshot='no'/>
<disks>
<disk name='vda' snapshot='external' type='file'>
<driver type='qcow2'/>
<source file='/srv/vm/snap.qcow2'/>
</disk>
</disks>
[...]
स्रोत फ़ाइल /srv/vm/snap.qcow2
हटा दी गई थी।
जिस विधि को मैं लागू करने की कोशिश कर रहा हूं, उसे देखते हुए, यह बहुत संभव है कि यह स्नैपशॉट निम्न कमांड के साथ बनाया गया था:
virsh snapshot-create-as --domain prod snap --diskspec vda,file=/srv/vm/snap.qcow2 --disk-only --atomic
मैं इसे नहीं हटा सकता:
# virsh snapshot-delete prod snap
error: Failed to delete snapshot snap
error: unsupported configuration: deletion of 1 external disk snapshots not supported yet
इसलिए मैं एक ऐसी स्थिति में हूं जहां एक स्नैपशॉट बनाया गया था, जाहिर तौर पर अब इसका उपयोग नहीं किया जाता है, और इसे हटाया नहीं जा सकता है।
क्या मैं इसके बारे में कुछ कर सकता हूं?
क्या मुझे ध्यान देना चाहिए या मैं इसे अनदेखा कर सकता हूं?
संपादित करें
मैंने अभी स्नैपशॉट फ़ाइल डिस्क्रिप्टर को हटा दिया है।
# systemctl stop libvirt
# mv /var/lib/libvirt/qemu/snapshot/prod/snap.xml /home/jerome
# systemctl start libvirt
मेरा VM फिर से ऊपर है और मुझे अब स्नैपशॉट का कोई संदर्भ नहीं दिखाई देता है।
# virsh snapshot-list prod
Name Creation Time State
------------------------------------------------------------
पुण्य-प्रबंधक में भी कुछ नहीं।
क्या मैं ठीक हूं या अभी भी कुछ हाउसकीपिंग करनी है?
संपादित करें २
जाहिर है, गुजर -–no-metadata
करने virsh snapshot-create-as
.xml फ़ाइल बनाने नहीं, इस प्रकार स्नैपशॉट का कोई निशान नहीं रख कर इस समस्या से बचने होगा।
qemu-img info /srv/vm/prod.qcow2
। लेकिन मुझे यकीन नहीं है कि उस ट्रेस को कैसे हटाया जाए ...