Công cụ sao lưu hoặc snaphot cho ext4


7

Tôi đang tìm kiếm một công cụ sao lưu cho ext4 có thể lấy một bản sao từ hệ thống tập tin đang chạy như / var mà không có sự va chạm nào trong hệ thống sau khi khôi phục hệ thống tập tin như vậy. Tôi biết BSD dump có tùy chọn '-L', cho biết anh ta làm việc trên một ảnh chụp nhanh. Nhưng cả dump và dumpe2fs từ kho lưu trữ đều không có tùy chọn như vậy. Tôi đã đọc về một bản cho ext4 cung cấp hỗ trợ chụp nhanh, nhưng trả lời về nó rất khác nhau, vì vậy tôi ở đây để hỏi về trải nghiệm của bạn với bản vá này.

Câu trả lời:


4

dumpkhông cần một công tắc để làm việc trên một ảnh chụp nhanh. Chỉ cần tạo ảnh chụp nhanh với LVM và kết xuất nó.

Tôi có một công việc cron hàng đêm chỉ làm điều đó, bằng cách sử dụng một tháp sao lưu hannoi 5 cấp. Điều này có nghĩa là tôi chỉ phải thực hiện sao lưu toàn bộ cứ sau vài tháng khi tôi cảm thấy như bãi rác cấp 1 đang trở nên quá lớn. Đổ cấp 1 được thực hiện vào ngày 1 và 17 của tháng.

#!/bin/bash
set -e
declare -a LEVELMAP=(1 5 4 5 3 5 4 5 2 5 4 5 3 5 4 5 1 5 4 5 3 5 4 5 2 5 4 5 3 5 4 5)
DATE=`date +%-d`
LEVEL=${LEVELMAP[$DATE-1]}
echo Performing a level $LEVEL dump
/etc/init.d/apache2 stop
sync
lvcreate -s -n snap vg0/root -L 400m
/etc/init.d/apache2 start
dump -$LEVEL -quz9 -b 1024 -f /backup/dump.$LEVEL /dev/mapper/vg0-snap
lvremove -f vg0/snap

Tôi không thể dừng apache hoặc bất kỳ trình nền nào khác để chụp ảnh nhanh.
tijagi

2
@ user685107, sau đó bản sao lưu của bạn sẽ chứa các tệp bị hỏng nếu chúng bị sửa đổi tại thời điểm ảnh chụp nhanh được thực hiện. Bạn cần đảm bảo rằng các tệp không được ghi vào để sao lưu chính xác; Mục đích của ảnh chụp nhanh là bạn chỉ cần làm như vậy trong thời điểm cần thiết để tạo ảnh chụp nhanh, thay vì toàn bộ thời gian cần thiết để tạo bản sao lưu.
psusi

Đó là cách LVM xấu xí. Các hệ thống tập tin hiện tại có sự hỗ trợ tốt hơn của ảnh chụp nhanh, nhưng chúng không đảm bảo sự ổn định mà tôi cần.
tijagi

2
@ user685107, nói chung là không, họ không hỗ trợ ảnh chụp nhanh. Btrfs và ZFS làm, nhưng không (chưa) được coi là ổn định và được hỗ trợ, và bạn đã hỏi cụ thể về ext4. Bất kể nó được thực hiện trong lớp khối hay hệ thống tập tin, không thể có được một ảnh chụp nhanh nhất quán trong khi các ứng dụng của bạn đang viết, do đó chúng phải được tắt hoặc đặt vào chế độ chỉ đọc tạm thời trong khi chụp ảnh nhanh. Hầu hết các công cụ cơ sở dữ liệu hỗ trợ chế độ chỉ đọc tạm thời cho mục đích này.
psusi

cập nhật: FreeNAS khuyến nghị ZFS, tôi nghĩ nó khá ổn định và đã được thử nghiệm ngày hôm nay.
Paolo

1

Hãy thử sao lưu amanda. Đây là một công cụ sao lưu hoàn chỉnh và hoạt động trên nhiều nền tảng / kiến ​​trúc khác nhau


0

Bạn đã xem xét RSync cho mục đích này chưa? Có một bài viết thực sự tuyệt vời ở đây về cách thiết lập sao lưu kiểu snapshot với rsync trong linux từ đầu. Một lựa chọn khác, cũng dựa trên rsync, nhưng nướng hơn một chút, là rsnapshot .


3
Bạn không thể tạo ảnh chụp nhanh với rsync. Ảnh chụp nhanh là một hoạt động nguyên tử tạo ra một bản sao trạng thái của toàn bộ tập tin tại một thời điểm chính xác. rsync tạo một bản sao của cây, nhưng nó đọc các phần khác nhau của cây vào các thời điểm khác nhau. Ví dụ: nếu một tệp được di chuyển trong khi rsync đi ngang qua cây, thì tệp có thể xuất hiện hai lần hoặc không bao giờ trong bản sao.
Gilles 'SO- ngừng trở nên xấu xa'

Tôi đồng ý với @Gilles, rsync không phù hợp trong trường hợp này. Tôi nghĩ về XFS, nó có hỗ trợ ảnh chụp nhanh.
tijagi
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.