Xác định số lượng byte thay đổi giữa hai ảnh chụp nhanh ZFS của cùng một tệp


10

Giả sử tôi có một hệ thống tệp ZFS chứa hình ảnh đĩa máy ảo, vd

/tank/examplevm/examplevm-flat.vmdk

Chúng ta hãy giả sử thêm rằng tôi chụp ảnh nhanh hàng ngày của hệ thống tệp ZFS đó, vd

$ zfs snapshot tank@20120716
$ zfs snapshot tank@20120717

Rõ ràng, trong khoảng thời gian giữa mỗi ảnh chụp nhanh hàng ngày, các thay đổi được thực hiện cho examplevm-Flat.vmdk của tôi (trong hầu hết các trường hợp, kích thước của hình ảnh không đổi, nhưng các khối trong đĩa ảo được sửa đổi).

Theo đó, lệnh diff ZFS bây giờ sẽ báo cáo tệp đã được sửa đổi giữa hai ảnh chụp nhanh:

$ zfs diff tank/@20120716 tank@20120717
M       /tank/examplevm/examplevm-flat.vmdk

Mặc dù thật tốt khi biết rằng tệp đã được sửa đổi, tôi sẽ quan tâm nhiều hơn đến số lượng byte / khối đã được sửa đổi trong vmdk.

Do đó, tôi quan tâm đến bất kỳ gợi ý nào về các câu hỏi sau:

  • ZFS có tính năng nào để báo cáo số lượng khối thay đổi trong một tệp cụ thể giữa hai ảnh chụp nhanh không?
  • Có công cụ nào khác sẽ nhị phân hai hình ảnh hệ thống tệp và báo cáo số lượng khối hoặc byte thay đổi không? Tôi nhận ra điều cmp –l file1 file2 | wc –lđó, nhưng nó chậm khủng khiếp, chậm kinh khủng.

Câu trả lời:


7

ZFS không có tính năng nào để báo cáo, tuy nhiên, công cụ zdb không có tài liệu chắc chắn có thể được sử dụng để lấy các khối được sử dụng bởi một tệp trong một tập dữ liệu cụ thể (hệ thống tệp hoặc ảnh chụp nhanh) để có thể đạt được những gì bạn tìm kiếm với một chút kịch bản. có lẽ sẽ mất nhiều thời gian để xử lý đầu ra zdb.

Đây là một blog cho thấy cách sử dụng zdb để giải nén các khối của tệp.

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.