"অনাথ" libvirt স্ন্যাপশট মুছুন


11

আমি এই পদ্ধতি অনুসারে কেভিএম ব্যবহার করে লাইভ-স্ন্যাপশট দেওয়ার চেষ্টা করছি ।

আমি নিশ্চয়ই কোনও সময়ে গণ্ডগোল করেছিলাম কারণ আমি এমন অবস্থায় রয়েছি যা আমি বুঝতে পারি না।

আমার ভিএম কল করা হয় 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

আমার ভিএম আবার উঠেছে এবং আমি স্ন্যাপশটের আর কোনও উল্লেখ দেখতে পাচ্ছি না।

# virsh snapshot-list prod
 Name                 Creation Time             State
------------------------------------------------------------

পুণ্য-পরিচালকের মধ্যে কিছুই নেই।

আমি কি ঠিক আছি বা এখনও কিছু গৃহকর্মী রাখার দরকার নেই?

সম্পাদনা 2

স্পষ্টতই, পাস -–no-metadataকরার virsh snapshot-create-asফলে .xML ফাইল তৈরি না করে এই সমস্যাটি এড়ানো হবে, সুতরাং স্ন্যাপশটের কোনও চিহ্ন রাখেনি।


1
আপনি স্ন্যাপশট ফাইল বর্ণনাকারী মোছার পরে, ভিএম ইমেজে নিজেই থাকা স্ন্যাপশটের কিছু প্রমাণ থাকা উচিত যা দিয়ে পরীক্ষা করা যেতে পারে qemu-img info /srv/vm/prod.qcow2। তবে কীভাবে আমি সেই ট্রেসটি সরিয়ে ফেলতে পারি তা আমি নিশ্চিত নই ...
sdittmar

@sdittmar আপনি এই বিষয়ে একটি সুনির্দিষ্ট উত্তর পেতে libvirt- ব্যবহারকারীদের মেইলিং-তালিকাতে (আমার উত্তর দেখুন) যোগাযোগ করতে পারেন।
জেরুমে

উত্তর:


16

সঠিক পদ্ধতি ছিল

virsh snapshot-delete prod --metadata snap

(এই কমান্ডটি উইকিতে পাওয়া যাবে here আমি এখানে জিজ্ঞাসা করার আগে এটি চেষ্টা করেছিলাম তবে এটি টাইপোর কারণে ব্যর্থ হয়েছিল যা পরে সংশোধন করা হয়েছে))

আমি জানি না যে এটি কী করে। Livvirtd ডাউন থাকাকালীন .xML ফাইলটি সরিয়ে আচ্ছাদিত নয়। সম্ভবত পার্থক্য কেবলমাত্র libvirtd বন্ধ করার প্রয়োজন নেই। তবুও, সম্ভবত এটি ভবিষ্যতে বিকশিত হতে পারে। যাই হোক না কেন, সরাসরি ফাইলের সাথে না খেলে libvirt এর API ব্যবহার করার পরামর্শ দেওয়া হয়।

--no-metadataযুক্তি দিয়ে স্ন্যাপশটটি তৈরি করা হলে এই কলটি সত্যই প্রয়োজন নেই ।

আমি এই শোধন প্রাপ্ত এই থ্রেড এর জন্য libvirt দ্বারা ব্যবহারকারীদের মেলিং তালিকাটি

লাইভ স্ন্যাপশটের মাধ্যমে ব্যাকআপ করতে ইচ্ছুক যে কেউ পূর্বোক্ত উইকি পৃষ্ঠাটি পড়তে হবে এবং ফোরামের থ্রেডে আগ্রহী হতে পারে যা আমার নুব প্রশ্নের উত্তর দেয় এবং এরিক ব্লেকের স্লাইডগুলি , পাশাপাশি এই ব্লগ পোস্ট এবং নীচের মন্তব্যে নির্দেশ করে।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.