Làm thế nào để phản chiếu các hệ thống tập tin với hàng triệu liên kết cứng?


11

Hiện tại chúng tôi có một vấn đề lớn: Chúng tôi cần phản ánh một hệ thống tập tin cho một trong những khách hàng của mình. Đó thường không phải là một vấn đề, nhưng đây là:

Trên hệ thống tập tin này có một thư mục với hàng triệu liên kết cứng (vâng! TRIỆU!). rsyncđòi hỏi nhiều hơn 4 ngày để xây dựng filelist.

Chúng tôi sử dụng các rsynctùy chọn sau :

rsync -Havz --progress serverA:/data/cms /data/

Có ai có ý tưởng làm thế nào để tăng tốc rsync này, hoặc sử dụng các lựa chọn thay thế không? Chúng tôi không thể sử dụng ddvì đĩa đích nhỏ hơn nguồn.

CẬP NHẬT: Là hệ thống tập tin ban đầu, ext3chúng tôi sẽ thử dumprestore. Tôi sẽ giữ cho bạn up2date


Khó khăn. Thu hẹp hệ thống tập tin nguồn trước, sau đó dd?
Bittrance

Câu trả lời:


3

Bạn cần nâng cấp cả hai mặt lên rsync 3. Từ thay đổi:

- A new incremental-recursion algorithm is now used when rsync is talking
  to another 3.x version.  This starts the transfer going more quickly
  (before all the files have been found), and requires much less memory.
  See the --recursive option in the manpage for some restrictions.

Đã hơn 2 năm kể từ khi rsync 3.0.0 được phát hành, nhưng thật không may, hầu hết các bản phân phối doanh nghiệp đều dựa trên mã cũ hơn, điều đó có nghĩa là bạn có thể đang sử dụng rsync 2.6.

Để tham khảo (nếu có ai khác gặp sự cố này), nếu bạn đang chạy rsync 3, thì bạn đang sử dụng các tùy chọn không tương thích với đệ quy gia tăng. Từ trang người đàn ông:

    Some options require rsync to know the full file list, so  these
    options  disable the incremental recursion mode.  These include:
    --delete-before,   --delete-after,    --prune-empty-dirs,    and
    --delay-updates.

Ngoài ra, một lần nữa, cả hai bên phải chạy rsync 3 để đệ quy tăng dần được hỗ trợ.


Pritchard cảm ơn bạn vì điều đó, nhưng các phần gia tăng không có vấn đề gì, cả hai bên đều sử dụng rsync> 3.0. Nếu chúng tôi sử dụng rsync mà không có -H, chúng tôi có một sự cải thiện tốc độ tuyệt vời, nhưng đó không phải là thứ chúng tôi cần.
Thomas Berger

Ôi. Vâng, trong trường hợp đó, bạn có thể muốn xem xét các tùy chọn để tăng tốc truy cập hệ thống tệp (như chuyển sang ext4 nếu bạn đang sử dụng ext3), chuyển sang đĩa nhanh hơn hoặc cấp RAID (nếu đó thậm chí là một tùy chọn), v.v. Thật không may, bạn có thể tại thời điểm mà hệ thống tập tin không thể đủ nhanh và sao lưu cấp khối có thể là lựa chọn duy nhất của bạn. Tôi gặp vấn đề này khi cố gắng đồng bộ hóa một nhóm BackupPC từ máy chủ này sang máy chủ khác.
Steven Pritchard

3

Chúng tôi đã sử dụng ext * dump ngay bây giờ. Hoạt động tốt và phía khôi phục thậm chí không phải mở rộng *.

Chúng tôi đã thực hiện sao lưu ngoại tuyến, bằng cách bỏ qua thiết bị và sử dụng dump vf - /dev/vg0/opt | gzip -c > /mnt/backup/ext3dump.gz.

Ở đây các dòng cuối cùng bạn có thể thấy kích thước, thời gian, tốc độ và các số inode cuối cùng:

DUMP: dumping regular inode 47169535
DUMP: dumping regular inode 47169536
DUMP: Volume 1 completed at: Wed Jun 29 05:42:57 2011
DUMP: Volume 1 54393520 blocks (53118.67MB)
DUMP: Volume 1 took 4:16:43
DUMP: Volume 1 transfer rate: 3531 kB/s
DUMP: 54393520 blocks (53118.67MB)
DUMP: finished in 15403 seconds, throughput 3531 kBytes/sec
DUMP: Date of this level  dump: Wed Jun 29 01:24:29 2011
DUMP: Date this dump completed:  Wed Jun 29 05:42:57 2011
DUMP: Average transfer rate: 3531 kB/s
DUMP: DUMP IS DONE

Tôi không biết nếu điều này vẫn đúng nhưng kết xuất được sử dụng để có một số vấn đề nếu hệ thống tệp được sử dụng tại thời điểm kết xuất. Vì mục tiêu của bạn là tốc độ, tôi cho rằng bạn đã vô hiệu hóa tất cả các quyền truy cập khác vào nó, nhưng chỉ trong trường hợp .. Hãy cho chúng tôi biết bạn đi như thế nào
SuperBOB

0

Bạn có thể sử dụng LVM và chụp ảnh nhanh của âm lượng, sau đó rsync ảnh chụp nhanh làm bản sao lưu.

Ngoài ra, bạn có thể kết hợp câu trả lời này với câu trả lời khác và sử dụng dump cho âm lượng ảnh chụp nhanh , để tránh phải lấy âm lượng gốc ngoại tuyến.


Bất cứ điều gì hoạt động ở cấp độ khối, không phải cấp độ hệ thống tệp có thể sẽ là một cải tiến lớn.
Marcin

Như bạn có thể thấy trong câu hỏi của mình, tôi phải phản chiếu trên Mạng chứ không phải cục bộ. Ngoài ra LVM KHÔNG phải là một tấm gương, như bạn đã nói, một ảnh chụp nhanh.
Thomas Berger

1
@Thomas Berger: Tôi nghĩ rằng sau đó bạn sẽ sao chép ảnh chụp nhanh (sử dụng rsync) qua mạng. Và làm thế nào để bạn xác định chính xác gương , nếu ảnh chụp nhanh LVM không phải là một?
Teddy

Điều đó vẫn có cùng một vấn đề: Sẽ mất nhiều ngày. Trong những ngày này sẽ có một dalta khổng lồ (không phải là chúng ta sẽ cần điều đó) vì vậy chúng ta phải lưu trữ đủ không gian và chúng ta không có không gian đó. Và một tấm gương là một bản sao độc lập của nguồn. Chúng tôi phải sao chép dữ liệu từ sản xuất đến phát triển cho khách hàng.
Thomas Berger

@Thomas Berger: Ban đầu tôi có nghĩa là bạn sẽ đồng bộ hóa khối lượng ảnh chụp thực tế chứ không phải hệ thống tệp trên ảnh chụp nhanh. Tuy nhiên, bây giờ tôi tin rằng giải pháp snapshot + dump sẽ tốt hơn.
Teddy
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.