Có bất cứ điều gì tương tự như rsync để đồng bộ hóa các thiết bị khối không?


7

Tôi đã nhân bản một số ổ đĩa 32Gb với hệ thống linux được cài đặt bằng dd. Sau đó tôi đã thu nhỏ một phân vùng và tôi đã thực hiện một số thay đổi nhỏ hơn (trong "Master"). Có công cụ nào để chuyển chỉ các khối đã thay đổi để tránh việc sao chép lại toàn bộ chậm với dd không?

Tôi nghĩ rsync, nhưng nó dường như chỉ hoạt động với các tập tin.

Câu trả lời:


10

Theo mô tả: Bscp sao chép một tệp hoặc chặn thiết bị qua kết nối SSH, chỉ chuyển các phần đã thay đổi.


Điều này chỉ cứu tôi! Cảm ơn bạn. Tôi tự hỏi tại sao Rupync không thể làm điều đó, vì rõ ràng nó có thuật toán tương tự, trong đó nó chỉ sao chép các khối đã thay đổi trong một tệp lớn.
Tobia

@Tobia Bạn có thể làm điều đó rsyncmà không cần trực tiếp trên chính thiết bị khối. Nếu bạn có tệp hình ảnh được tạo từ thiết bị, tệp đó rõ ràng sẽ có thể chuyển được.
Kusalananda

2
@Kusalananda có, nhưng nếu tôi có không gian trống để tạo hình ảnh cho toàn bộ thiết bị khối, có lẽ tôi sẽ không cần đến công cụ sao chép thông minh.
Tobia

Bạn có thể cung cấp trợ giúp tốt hơn về cách thức này hoạt động. Tôi thật ngu ngốc khi hiểu "bscp SRC HOST: DEST" - đó là số tiền trợ giúp. SRC có phải là IP không? Làm thế nào là thiết bị khối được chỉ định?
davidgo

-2

Không, và không thể có. Rsync sử dụng dấu thời gian của tệp để xác định nội dung cần sao chép và nội dung cần bỏ qua. Không có gì tương tự ở mức thấp hơn các tập tin. Dữ liệu trên đĩa không nhớ rằng đã từng có sự sắp xếp phân vùng khác nhau.

Để đảm bảo hai đĩa giống hệt nhau, một công cụ hoạt động bên dưới hệ thống tập tin sẽ phải đọc mọi khối ở cả hai bên và sao chép khối nguồn vào khối đích nếu chúng khác nhau. Điều đó thường chậm hơn so với vô điều kiện làm bản sao. Có thể nhanh hơn nếu ghi vào đĩa đích chậm hơn rất nhiều so với đọc (nhưng vẫn khác xa so với những gì rsync đạt được bằng cách bỏ qua hoàn toàn các tệp không thay đổi); Tôi nghĩ rằng tôi đã thấy một công cụ đã làm điều này nhưng tôi không thể tìm thấy nó bây giờ.

Nếu bạn đã thực hiện thay đổi thiết lập phân vùng ở một bên, hãy thực hiện thay đổi tương tự ở phía bên kia, sau đó gọi rsynctrên các hệ thống tệp riêng lẻ.


Tôi nghĩ rằng tôi có thể tiết kiệm thời gian. Tôi phải thay đổi kích thước phân vùng, để thêm một số phân vùng (cho uefi và grub-bios), để định dạng, để khởi động mỗi Pendrive, cài đặt lại grub, cài đặt uefi và cài đặt một số bản vá nhỏ. Chỉ phần cuối cùng có thể được thực hiện bằng rsync: - /
Gea Planet

1
Phải mất 10 phút để đọc 32Gb, nhưng 3 giờ để viết toàn bộ ổ đĩa với dd. Tất cả các thay đổi sẽ không quá 10Mbs. Nó sẽ là một tiện ích tuyệt vời để đọc và so sánh trên thiết bị hai khối.
Hành tinh Gea

@GeaPlanet có thể nhanh hơn đáng kể nếu bạn sử dụng catthay vìdd
roaima

Cơ chế có thể lựa chọn. Bạn có thể nói với nó để sử dụng tổng kiểm tra. Đây là điều tốt về rsync và các tệp lớn, nó sẽ thực hiện kiểm tra cho từng đoạn của tệp để việc lật bit mạng không khiến toàn bộ nội dung được tải xuống lại. Tôi chưa thử, nhưng rsync có tùy chọn --device chỉ cho việc này!
Daniel Santos

Oh, --devices chỉ để sao chép tệp nút thiết bị.
Daniel Santos
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.