Tại sao mọi người không sử dụng rsync để sao lưu khách vmware?


12

Nếu tôi đang chạy một hệ thống ESXi vmware hiện đại, tôi có thể thả các tệp nhị phân và rsync được liên kết tĩnh đến bất kỳ đích nào qua SSH.

Tôi đang cố gắng để hiểu tại sao hầu hết (tất cả?) Sao lưu của khách vmware không được thực hiện theo cách này.

Nếu VM đang chạy, bạn chỉ cần sử dụng 'vim-cmd vmsvc / snapshot.create' để tạo ảnh chụp nhanh và sau đó rsync ảnh chụp nhanh đó đến máy chủ từ xa. (thậm chí còn có một tùy chọn để "dập tắt" ảnh chụp nhanh)

HOẶC, nếu bạn muốn sao lưu mạnh mẽ hơn, bạn có thể tạm dừng VM và rsync trên (các) tệp vmdk.

Vì vậy, ... có vẻ như tôi là một tập lệnh shell đơn giản khỏi tất cả các bản sao lưu mà tôi muốn làm, đơn giản và dễ dàng, sử dụng rsync cũ đơn giản.

Tôi đang thiếu gì ở đây?


1
Bởi vì nếu một tệp duy nhất thay đổi trong VM, bạn sẽ phải sao lưu toàn bộ vmdk?
mạo

Không, rsync sẽ cập nhật một tệp duy nhất một cách hiệu quả chỉ với những thay đổi kể từ lần chuyển cuối cùng. Chắc chắn các hoạt động của VM có thể tạo ra nhiều thay đổi hơn bạn mong đợi, nhưng sẽ không khiến bạn phải gửi lại toàn bộ vmdk ...
user227963

Khác với thực tế bạn không nên sử dụng trình bao esxi cho bất cứ điều gì ngoài bảo trì, hệ điều hành esxi không được tạo ra để hoạt động theo cách đó và bạn sẽ không được hỗ trợ, tôi nghĩ rằng bạn đang hiểu nhầm khái niệm ảnh chụp nhanh. Ảnh chụp trong trường hợp này là một delta. Vì vậy, nếu bạn chụp nhanh và sao chép nó ngay lập tức, nó sẽ rất nhỏ và hầu như không có thông tin. Bạn đang nghĩ đến một ảnh chụp lưu trữ phụ trợ và có người sao lưu VM theo cách này
Rqomey

1
@Rqomey - có nhiều loại "ảnh chụp nhanh" khác nhau trong ESXi. Bạn đang nói về một loại có thể nhìn thấy qua vSphere Client - nhưng sử dụng API bạn có các tùy chọn khác, ví dụ: bản sao đầy đủ.
Masi

@MASI Bạn có nghĩa là một bản sao sau đó trái ngược với một ảnh chụp nhanh? ;)
Rqomey

Câu trả lời:


32
  • Bởi vì tốc độ truyền ra khỏi bảng điều khiển ESXi bị hạn chế một cách có chủ đích.
  • Bởi vì điều này không thể mở rộng theo bất kỳ cách nào.
  • Bởi vì bạn phải thả một nhị phân rsync được biên dịch tĩnh vào máy chủ ESXi.
  • Bởi vì VM, VMDK, tệp ramdisk của chúng và các thành phần khác có thể thay đổi đủ để biến rsync thành một đề xuất bị mất ... bạn có thực sự muốn đồng bộ hóa lại một VM 200 GB đã được khởi động lại và có một số lượng nhỏ tệp thay đổi không?
  • Do yêu cầu tài nguyên CPU / bộ nhớ trên nguồn hoặc đích. Rsync không miễn phí.
  • Bởi vì có các sản phẩm khác trên thị trường, cả bên thứ ba và VMware cung cấp. Tra cứu thay đổi khối theo dõi .
  • Bởi vì ESXi KHÔNG phải là một hệ điều hành có mục đích chung.

Xem thêm: Cài đặt rsync trên máy chủ VMware ESX 4.1


1
Câu trả lời nổi bật.
EEAA

3
Họ không ... Ý tôi là, nó có tên: ghettoVCB . Có những giải pháp tốt hơn ngoài kia. Veeam, Bảo vệ dữ liệu vSphere, v.v.
ewwhite

2
Bạn chắc chắn có thể sử dụng phương thức rsync nếu bạn chuyển sang xen / kvm.
Zoredache

9
@ user227963 Rsync cũng không hiệu quả trên cả hai - số lượng lớn tệp cũng như tệp lớn. Và trong khi nó có thể không phải gửi lại toàn bộ tệp qua dây, nó sẽ phải đọc lại nó trên nguồn và đích như nhau. CBT sẽ giúp bạn ở đây, nhưng rsync không biết gì về CBT.
the-wợi

2
@ user227963 sao chép tập tin rất đơn giản. Bây giờ làm cho nó nhanh và không phải là một tài nguyên trên các tệp lớn với các thay đổi nhỏ liên tục. rsync là tốt nhưng không nơi nào gần hiệu suất của bất cứ điều gì với thông tin nội bộ về các khối đã thay đổi.
JamesRyan

4

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.


Ok, điều đó rất hữu ích. Tôi biết một chút về cách rsync hoạt động và tôi có thể nói với bạn rằng nó không liên quan gì đến kích thước của tệp - nhưng những gì bạn đang mô tả là nhiều thay đổi của tệp hơn bạn mong đợi ... đó là giả sử, bạn chạy VM trong một ngày và bạn chỉ làm một vài điều với nó, và sau đó bạn dừng nó ... nhưng tệp vmdk đã thay đổi 30-40% (mặc dù bạn đã làm rất ít). Vì vậy, rsync sẽ làm tốt, nó chỉ có rất nhiều việc phải làm ... nhiều hơn bạn mong đợi. Cảm ơn!
dùng227963

1
Nhưng sau đó ... câu hỏi này đặt ra ... làm thế nào để các công cụ "chuyên nghiệp" làm điều đó? Những loại phép thuật nào họ đang làm mà bằng cách nào đó tối ưu hơn so với những gì rsync (hoặc scp, hoặc thậm chí cp) sẽ làm gì? Vào cuối ngày, bạn có một môi trường unix (bảng điều khiển ESXi) và bạn muốn di chuyển một tệp vào hoặc ra khỏi nó ... những bí mật nào có thể liên quan đến điều đó?
dùng227963

@ user227963 Các công cụ chuyên nghiệp tận dụng các tính năng như theo dõi khối thay đổi hoặc có quyền truy cập vào các API vSphere hoặc ESXi khác.
ewwhite

2

Xác nhận một tập tin không phải là một giải pháp sao lưu,

Bạn sẽ làm gì khi một cái gì đó xảy ra với vm và các tệp đã bị xóa, nhưng bạn chỉ nhận thấy điều này sau khi rsync của bạn chạy lại? Bây giờ bạn sẽ ghi đè lên 'bản sao lưu' tốt của các tệp của bạn bằng hình ảnh xấu.

Nếu bạn muốn sao lưu, bạn cần giữ các phiên bản cũ ở đâu đó hoặc khác. Rsync sẽ chỉ sao chép các khác biệt cho bạn, nhưng nó sẽ không chỉ lưu trữ các khác biệt, mà ghi đè lên tệp trước đó.

Có thể có các tùy chọn cho bạn ở đây, với rsync và hệ thống tệp sao chép khi ghi với thông tin phiên bản, sẽ có hiệu lực lưu trữ các khác biệt mỗi khi tập lệnh rsync của bạn chạy. Giải pháp này bắt đầu trở nên phức tạp hơn một chút, vì vậy đây là lý do tại sao mọi người dùng đến giải pháp làm việc đã biết imho.


Chắc chắn có nhiều sự phức tạp liên quan ở đây hơn tôi nghĩ ban đầu, nhưng những gì bạn đề cập không phải là vấn đề. Chắc chắn nếu bạn mù quáng chạy rsync, bạn sẽ gặp rắc rối, như bạn đề xuất, nhưng có rất nhiều cách đơn giản để sao chép / xoay các bản sao lưu được tạo bởi rsync (ngay cả những tệp đơn lẻ) ... vấn đề đó đã được giải quyết lâu thời gian trước, rất may.
dùng227963

0

Không có bất kỳ lý do nào khiến bạn không thể sử dụng Rsync trong máy chủ ESXi. Chúng tôi cung cấp một phiên bản được biên dịch tĩnh tại đây https://33hops.com/rsync-for-vmware-vsphere-esxi.html hoạt động rất tốt. Có thông tin về cách biên dịch của riêng bạn quá.

Tuy nhiên, bất kỳ ai sẵn sàng sử dụng đều phải tính đến việc Rupync và thuật toán Delta của nó không nghĩ sẽ sao lưu các tệp thưa thớt cố định lớn, như đĩa cứng VM, nhưng để đồng bộ hóa các tệp nhỏ hơn có chiều dài thay đổi. Vì vậy, nó hoạt động, nhưng phải mất rất nhiều thời gian và CPU để tính toán dữ liệu khác. Trên thực tế, đó chỉ là một cách để trao đổi băng thông bằng CPU. Trong mọi trường hợp, nó vẫn hoàn toàn khả thi, đặc biệt nếu các đĩa ảo của bạn theo thứ tự vài chục gigabyte.

Tôi đã xuất bản một bài viết đầy đủ về chủ đề ở đây, chi tiết tất cả ưu và nhược điểm https://33hops.com/blog_xsibackup-rsync-considerations.html

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.