Nhu cầu máy chủ rsync ở chế độ daemon là gì?


29

Tôi không hiểu sự cần thiết của một máy chủ rsync trong chế độ daemon. Lợi ích từ nó là gì nếu tôi có thể sử dụng rsync với SSH hoặc telnet?

Câu trả lời:


22

Nhiều, nhưng tôi sẽ trích dẫn một vài cái trên đỉnh đầu của tôi.

  1. Điều gì xảy ra nếu ssh / rsh không có sẵn trên máy chủ từ xa hoặc nếu chúng bị hỏng về mặt cấu hình hoặc quy tắc mạng chặt chẽ hơn? Sử dụng rsh / ssh vẫn sẽ yêu cầu máy khách (phụ thuộc vào vai trò của người gửi hoặc người nhận), phía từ xa sẽ phải chia rẽ nhị phân rsync cục bộ và thiết lập kết nối với quá trình rsync chạy ở phía cục bộ. rsh / ssh sẽ chỉ cung cấp một đường hầm kết nối; theo như rsync, rsync đang liên lạc với quá trình rsync khác qua (các) đường ống.

  2. Có một quy trình rsync chế độ daemon sẽ làm cho máy chủ trở thành một máy chủ giống hệt ftp thực sự nơi một số hệ thống tệp có thể được cung cấp thông qua các mô-đun rsync. Mọi thứ khác có thể tránh được. Nói rằng tôi muốn chỉ cung cấp / usr / local và / var để tải xuống và từ chối mọi yêu cầu của khách hàng rsync đối với các bản tải xuống khác. Tôi có thể sử dụng tùy ý ở cấp máy chủ hoặc ở cấp hệ thống tệp (mô-đun) để cho phép tải lên hoặc tải xuống (chỉ đọc).

  3. Có thể kiểm soát các mô-đun truy cập, xác thực, ủy quyền, ghi nhật ký và hệ thống tệp (cấu trúc) để tải xuống / tải lên cụ thể thông qua tệp cấu hình. Mỗi lần thay đổi được thực hiện đối với tệp cấu hình, rsyncd --daemonkhông cần phải khởi động lại hoặc HUPped. Cũng có thể kiểm soát số lượng khách hàng có thể kết nối với quy trình máy chủ rsync tại một thời điểm. Điều này là tốt, vì tôi không muốn quá trình máy chủ rsyncd của mình xử lý hoàn toàn máy chủ qua các hoạt động I / O dựa trên CPU hoặc đĩa.

  4. chức năng chroot có thể được cung cấp thông qua cấu hình cho rsyncd ở chế độ daemon. Tôi có thể sử dụng tính năng này như một tính năng bảo mật khá gọn gàng nếu tôi muốn tránh các máy khách kết nối với rsyncd của mình cho bất kỳ tệp / hệ thống tệp nào phải được bảo mật trên máy chủ và không nên có quyền truy cập bên ngoài.

  5. Tôi có thể từ chối hoàn toàn một số tùy chọn được sử dụng bởi ứng dụng khách rsync và không giải trí ở cuối máy chủ, chẳng hạn như không cho phép --deletetùy chọn.

  6. Có thể có một tùy chọn để chạy một số lệnh / tập lệnh trước và sau quá trình rsync. Một ví dụ sẽ là báo cáo và lưu trữ số liệu thống kê rsync ở chế độ sau chuyển.

Đây là một số trong số họ, nhưng tôi chắc chắn rằng những người dùng chuyên gia về rsync có thể làm sáng tỏ hơn về điều này.


8
  1. Tôi gặp sự cố khi cố gắng đồng bộ hóa một thư mục lớn giữa máy linux và máy windows bằng cygwin. Sau khi bỏ đường hầm SSH để sử dụng daemon rsync, các vấn đề của tôi đã biến mất.

  2. Khách hàng không cần biết cách bố trí hệ thống tập tin, v.v. của máy chủ mà anh ấy / cô ấy đang đẩy / kéo đến / từ


1
+1 cho # 2. Các tình huống như mạng gương tạo ra sự không chắc chắn do tính chất phân tán cao của chúng, vì vậy thật tuyệt khi có thể tách rời các quyết định địa phương không liên quan khỏi hoạt động của mạng.
Warren Young

@tim vấn đề bạn gặp phải với Cygwin và rsyncsử dụng SSH là gì?
Daniel Sokolowski

3

Một cách sử dụng phổ biến cho rsync là phản chiếu các tệp lưu trữ công khai. Nhà điều hành của bản sao chính không muốn cho phép truy cập shell từ xa vào kho lưu trữ, nhưng muốn các tình nguyện viên chạy các gương từ xa có thể có được một bản sao hoàn chỉnh của tài liệu lưu trữ. Rsync hoạt động rất tốt để tạo bản sao vì nó sẽ chỉ tải xuống các bit đã thay đổi và nếu có sự gián đoạn nhỏ trong mạng, nó sẽ không tải lại toàn bộ tệp lớn (hình ảnh cd / dvd).

Giao thức torrent bit thực sự có thể là một lựa chọn tốt hơn cho việc này bây giờ, nhưng rsync đã được phát hành nhiều năm trước đó.

Ngay cả bây giờ nhiều tài liệu lưu trữ lớn vẫn sử dụng rsync cho gương.

Xem: http://www.debian.org/mirror/ftpmirror

Giao thức phản chiếu mà chúng tôi khuyên dùng là rsync.


Xem thêm zsync cho loại ứng dụng này - nó giống như rsync nhưng thực hiện tất cả công việc khó khăn trên máy khách, không phải máy chủ. Máy chủ chỉ cần một danh sách băm được tính toán trước.
rjmunro

1

Bạn có thể cung cấp dịch vụ rsync cho extranet và cho phép đồng bộ hóa theo cách đó mà không phải lộ ssh.

Trong chế độ daemon, rsync sẽ dễ dàng tính toán tổng kiểm tra cục bộ nhanh hơn và do đó sẽ tốt hơn nếu bạn mong đợi nhiều máy khách song song. Với tổng kiểm tra độc lập cần phải được tính toán lại cho mỗi phiên.


0

SSH cung cấp chi phí do sử dụng mã hóa. Vì vậy, về lý thuyết, bạn sẽ nhận được thông lượng cao hơn với trình nền máy chủ rsync.


2
Tôi sẽ không đánh giá thấp bạn vì điều này, bởi vì, có tồn tại một mạng lý thuyết nơi vấn đề chi phí mã hóa. Tuy nhiên, tôi nghĩ rằng bạn sẽ tìm thấy nếu bạn đo nó, tuy nhiên, nó không đáng kể trên các mạng thực, ngoại trừ giai đoạn đàm phán quan trọng ban đầu. Khi các gói được truyền đi, thời gian mã hóa bị nuốt bởi độ trễ của mạng.
Warren Young

@WarrenYoung Máy cũ lưu trữ một máy chủ rsync công khai trên một đường ống lớn.
Gilles 'SO- ngừng trở nên xấu xa'

1
@Gilles - Một máy đủ chậm để nó không thể mã hóa đủ nhanh để giữ cho đường ống đầy có thể gặp vấn đề về băng thông đĩa trước tiên. Tóm lại, tôi muốn xem các phép đo. Và trước khi ai đó đăng các phép đo, hãy chắc chắn thử nhân đôi kích thước chuyển và đảm bảo bất kỳ hiệu ứng nào bạn đo được cũng tăng gấp đôi. Nếu không, bạn đang tính đàm phán quan trọng, mà tôi sẽ cấp trước mất thời gian có thể đo lường được.
Warren Young

Song song hóa rsync sẽ là lựa chọn tốt hơn với GNU song song trong trường hợp đó.
Nikhil Mulley
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.