Xóa ảnh chụp nhanh libphirt


11

Tôi đang cố gắng chụp ảnh trực tiếp bằng KVM theo quy trình này .

Tôi đã phải rối tung lên một lúc nào đó bởi vì tôi đang ở trong tình trạng tôi không hiểu.

VM của tôi được gọi prod. Nó đã được tạo ra trong tập tin /srv/vm/prod.qcow2.

Rõ ràng, không có ảnh chụp nhanh đang chạy: Tôi đang làm việc trên tệp cơ sở. Tôi có thể đoán bởi vì ngày sửa đổi của tập tin /srv/vm/prod.qcow2thay đổi mỗi phút hoặc lâu hơn. Ngoài ra, lệnh này xác nhận nó:

# virsh domblklist prod
Target     Source
------------------------------------------------
vda        /srv/vm/prod.qcow2

Và không có gì để chặn:

# virsh blockcommit prod vda --active --pivot
error: invalid argument: top '/srv/vm/prod.qcow2' in chain for 'vda' has no backing file

Tuy nhiên, libvirt giữ dấu vết của một ảnh chụp nhanh cũ:

# virsh snapshot-list prod
 Name                 Creation Time             State
------------------------------------------------------------
 snap                 2015-06-09 12:11:33 +0200 disk-snapshot

Tập tin mô tả của nó là /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>
[...]

Các tập tin nguồn /srv/vm/snap.qcow2đã bị xóa.

Xem xét phương pháp tôi đang cố gắng thực hiện, rất có thể ảnh chụp nhanh này đã được tạo bằng lệnh sau:

virsh snapshot-create-as --domain prod snap --diskspec vda,file=/srv/vm/snap.qcow2 --disk-only --atomic

Tôi không thể xóa nó:

# virsh snapshot-delete prod snap
error: Failed to delete snapshot snap
error: unsupported configuration: deletion of 1 external disk snapshots not supported yet

Vì vậy, tôi đang ở trong trạng thái tạo ảnh chụp nhanh, dường như không còn được sử dụng và không thể xóa.

Có điều gì tôi có thể làm về nó?

Tôi nên quan tâm hay tôi có thể bỏ qua nó?

Biên tập

Tôi chỉ loại bỏ các mô tả tập tin chụp nhanh.

# systemctl stop libvirt
# mv /var/lib/libvirt/qemu/snapshot/prod/snap.xml /home/jerome
# systemctl start libvirt

VM của tôi hoạt động trở lại và tôi không thấy bất kỳ tham chiếu nào đến ảnh chụp nhanh nữa.

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

Không có gì trong virt-manager cả.

Tôi ổn hay vẫn còn một số việc phải làm?

Chỉnh sửa 2

Rõ ràng, đi qua -–no-metadatađể virsh snapshot-create-ascó thể tránh vấn đề này bằng cách không tạo ra các tập tin .xml, do đó giữ không có dấu vết của ảnh chụp.


1
Sau khi bạn xóa bộ mô tả tệp ảnh chụp nhanh, vẫn còn một số bằng chứng về một ảnh chụp nhanh hiện có trong hình ảnh VM có thể được kiểm tra qemu-img info /srv/vm/prod.qcow2. Nhưng tôi không chắc làm thế nào để tự xóa dấu vết đó ...
sdittmar

@sdittmar bạn có thể muốn liên hệ với danh sách gửi thư của người dùng libvirt (xem câu trả lời của tôi) để có câu trả lời chính xác cho vấn đề này.
Jérôme

Câu trả lời:


16

Phương pháp thích hợp là

virsh snapshot-delete prod --metadata snap

(Lệnh này có thể được tìm thấy trên wiki . Tôi đã thử nó trước khi hỏi ở đây nhưng nó đã thất bại do một lỗi đánh máy đã được sửa từ đó.)

Tôi không biết những gì nó không được bao gồm bằng cách xóa tệp .xml trong khi libvirtd không hoạt động. Có lẽ sự khác biệt duy nhất là việc dừng libvirtd là không cần thiết. Mặc dù vậy, có lẽ điều này có thể phát triển trong tương lai. Trong mọi trường hợp, nên sử dụng API của libvirt thay vì chơi trực tiếp với các tệp.

Cuộc gọi này thực sự không cần thiết nếu ảnh chụp nhanh được tạo bằng --no-metadatađối số.

Tôi đã có được sự làm rõ này trong chủ đề này của danh sách gửi thư của người dùng libvirt .

Bất cứ ai sẵn sàng thực hiện sao lưu thông qua ảnh chụp nhanh trực tiếp nên đọc trang wiki đã nói ở trên và có thể quan tâm đến chủ đề diễn đàn trả lời các câu hỏi của tôi, và chỉ ra các slide từ Eric Blake , cũng như bài đăng trên blog này và theo dõi các bình luận.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.