Hành vi / sự khác biệt của Rsync & newbie


1

Theo hiểu biết của tôi, rsync trên SMB cố gắng xây dựng danh sách tệp mỗi lần trên nguồn / đích để kiểm tra bất kỳ thay đổi nào đã được sửa đổi trước khi bản sao được yêu cầu.

Tôi đang cố gắng tìm hiểu sự khác biệt bằng cách sử dụng rsync trên OSX so với SMB khi gắn bộ lưu trữ mạng và sử dụng rsync trên OSX qua SSH sang bộ lưu trữ gắn NFS trên Linux. Trong quá trình kiểm tra khi kết nối với bộ lưu trữ được gắn trên Linux, nó đã xác định các tệp mới / bị xóa ngay lập tức! Khi rsyncing qua SMB xây dựng một danh sách tập tin hoàn chỉnh và tạo một danh sách của mỗi thư mục trước khi bất kỳ bản sao nào diễn ra.

Đối với nhận thức của người dùng, danh sách tệp xây dựng này (với điều kiện họ có hàng trăm / nghìn thư mục) phải mất một thời gian để chạy qua từng thư mục. Khi rsync hoàn thành bản sao ban đầu, ở lần chạy thứ hai, nó cung cấp cho tôi thông tin gửi và kích thước, cực kỳ nhanh chóng.

Vấn đề xảy ra khi chúng tôi ngắt kết nối chia sẻ SMB. Nếu chúng tôi chạy rsync một lần nữa, nó sẽ tạo danh sách tệp và chạy qua mọi thư mục ngay cả khi không có gì để sao chép. Liên kết với bộ lưu trữ thông qua ssh doesn không hiển thị danh sách tệp xây dựng và thông báo ngay cho chúng tôi nếu các tệp đang sao chép, v.v.

Các lệnh chúng ta đã chơi xung quanh là; -

Trên smb rsync -uvaz --delete / nguồn / đích rsync -aHEXAx -v --delete --proceed --stats --timeout = 999 / nguồn / đích

Trên ssh / nfs rsync -nuvaz --delete / nguồn / root@nfsServer.domain.co.uk:

Có ý kiến ​​gì không?

Câu trả lời:


1

rsync luôn luôn phải xây dựng danh sách các tập tin để đồng bộ hóa, nhưng "Qua SSH" là sự khác biệt chính ở đây.

  • Khi bạn trỏ rsync vào máy chủ SSH, nó có thể hỏi máy chủ để tạo một danh sách như vậy, bằng cách chạy một bản sao khác của rsync trên máy chủ.

    Bằng cách đó, cả máy khách & amp; máy chủ chỉ cần đọc / quét lại các bản sao cục bộ của riêng họ và chỉ trao đổi một danh sách ngắn các bản cập nhật.

  • Trong khi đó, khi bạn trỏ rsync trực tiếp tại một chia sẻ gắn kết, nó không thể chạy bất cứ thứ gì trên máy chủ, không qua SMB hay NFS hay bất cứ thứ gì khác. Nó thậm chí không thể phân biệt các chia sẻ mạng được gắn kết với các đĩa cục bộ được gắn - tất cả những gì nó thấy là các tệp.

    Điều này có nghĩa rằng của bạn rsync phải quét lại toàn bộ chia sẻ, bao gồm gửi khá nhiều lệnh "thư mục đọc" qua mạng (độ trễ) và tải xuống toàn bộ tệp chỉ để xác định các phần đã thay đổi (băng thông).

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.