Mặc dù tôi phải đồng ý với câu trả lời "gửi nó bằng ổ cứng" trong trường hợp này, đây là giải pháp sao chép tôi sử dụng khi tôi phải sao chép số lượng lớn tệp lần đầu tiên:
Mặc dù rsync
tốt để giữ hai kho lưu trữ dữ liệu đồng bộ, nhưng nó giới thiệu khá nhiều chi phí không cần thiết cho việc chuyển ban đầu. Tôi đoán rằng cách nhanh nhất là tar
vượt qua netcat
. Trên trang web của người nhận, bạn cũng có thể sử dụng netcat
trong chế độ nghe để chuyển dữ liệu đến trích xuất tar
. Lợi ích là tar
bắt đầu gửi ngay lập tức và netcat
gửi nó dưới dạng luồng TCP đơn giản mà không cần thêm giao thức cấp cao hơn. Điều này sẽ được nhanh như nó được. Tuy nhiên, không đơn giản để có thể khởi động lại việc chuyển bị gián đoạn ở vị trí cuối cùng.
Cũng có thể dễ dàng nén dữ liệu cho việc chuyển bằng cách sử dụng các tar
tùy chọn phù hợp hoặc thêm một công cụ nén trong các đường ống. Lưu ý rằng netcat
gửi ngày không được mã hóa. Trong trường hợp đây không phải là một tùy chọn, ssh
kết nối được mã hóa có thể được sử dụng thay thế ( tar <options> | ssh <target> -c 'tar -x <options>'
).
Nếu tất cả dữ liệu được truyền rsync
có thể được sử dụng để đảm bảo rằng tất cả các tệp đã được cập nhật trong thời gian đó được đồng bộ hóa. Ngoài ra, IIRC tar
không tạo ra các socket sẽ bị mất theo cách khác, nhưng dù sao chúng không thực sự được sử dụng cho dữ liệu trung tâm dữ liệu.