Tôi đã từng làm điều này một vài năm trước đây. (chỉnh sửa: với VMWare chạy trên máy chủ CentOS, không phải ESXi thừa nhận)
Mỗi đêm tôi có một đoạn script sẽ tạm dừng VM, rsync các tệp từ đĩa vào máy chủ sao lưu và sau đó khởi động lại VM. Nó hoạt động khá tốt, ngoại trừ ...
Rsync không hoạt động tốt với tệp 2GB.
Không phải vì rsync không xuất sắc, hơn nữa, mỗi tệp vmdk 2GB thay đổi theo cách rất mờ đối với rsync, ngay cả những thay đổi nhỏ đối với hệ thống tệp đính kèm cũng tạo ra các thay đổi trong vmdk (hoặc tất cả vmdks vì một số lý do) mà tôi đổ lỗi Windows, tự động chống phân mảnh hoặc thực hiện tất cả những việc khác không thành vấn đề nếu bạn đang chạy một hệ thống thực sự, nhưng hiển thị khi bạn đang cố gắng đồng bộ hóa máy ảo!
Tôi nghĩ rằng cơ chế rsync để phát hiện các thay đổi không hoạt động tốt trên tệp 2GB, trong khi nó thường bỏ qua các đoạn bắt đầu của vmdk, một khi nó bắt đầu tìm thấy sự khác biệt, nó sẽ chỉ sao chép phần còn lại của tệp. Tôi không biết liệu đó có phải là vấn đề với rsync không thể phát hiện một đoạn dữ liệu nhị phân đã di chuyển hay thiếu bộ nhớ trên hộp nguồn hay không, liệu vmdk có được cập nhật hoàn toàn không. Nó không quan trọng vì kết quả là như nhau - phần lớn các vmdk đã được sao chép.
Cuối cùng, tôi chỉ cần sao chép bất kỳ tập tin thay đổi nào và ghi đè lên chúng, vẫn sử dụng rsync. Tôi cũng có hiệu suất tốt hơn chỉ đơn giản là ghi đè tệp sao lưu thay vì để rsync sao chép và thay thế những gì đã có.
Máy chủ dự phòng của chúng tôi cũng không phải là nhanh nhất và đến thời điểm qua đêm không đủ lâu để sao lưu tất cả các máy ảo đang chạy.
Tuy nhiên, khi chúng tôi cần khôi phục VM, nó thực sự dễ dàng và hoạt động rất đẹp.