Cách tạo và khôi phục ảnh chụp nhanh tăng dần của đĩa cứng


13

Tôi sử dụng Virtual Box rất nhiều cho mục đích thử nghiệm distro / ứng dụng.

Một trong những tính năng tôi chỉ đơn giản là yêu thích nó là ảnh chụp nhanh máy ảo, nó lưu trạng thái của máy ảo và có thể khôi phục lại trạng thái trước đây nếu có sự cố xảy ra mà không gặp sự cố và không tốn hết dung lượng ổ cứng.

Trên các hệ thống trực tiếp của tôi, tôi biết cách tạo hình ảnh 1: 1 của hệ thống tệp nhưng tất cả các giải pháp tôi biết sẽ tạo ra một hình ảnh mới của hệ thống tệp hoàn chỉnh.

Có bất kỳ chương trình / hệ thống tệp nào có khả năng chụp ảnh nhanh hệ thống tệp hiện tại, lưu nó vào một vị trí khác nhưng thay vì tạo một hình ảnh hoàn chỉnh mới, nó tạo ra các bản sao lưu gia tăng?

Để dễ dàng mô tả những gì tôi muốn, nó phải là ddhình ảnh của một hệ thống tệp, nhưng thay vì chỉ là một bản sao lưu đầy đủ, nó cũng sẽ tạo ra gia tăng.


Tôi không tìm kiếm clonezilla, v.v. Nó nên chạy trong chính hệ thống mà không có sự can thiệp (hoặc gần như không có) từ người dùng, nhưng chứa tất cả dữ liệu của các hệ thống tệp. Tôi cũng không tìm kiếm một duplicitybản sao lưu tất cả hệ thống của bạn, ngoại trừ một số tập lệnh thư mục + ddđể lưu mbr của bạn. Tôi có thể tự làm điều đó, tìm kiếm thêm sự tinh tế.

Tôi đang tìm kiếm thứ gì đó tôi có thể làm trước khi thực hiện các thay đổi lớn đối với hệ thống và sau đó nếu có lỗi hoặc tôi đã ghi đĩa cứng sau khi làm đổ cà phê vào nó, tôi có thể khởi động từ một đĩa CD trực tiếp và khôi phục ảnh chụp nhanh vào đĩa cứng.

Nó không cần phải là hàng ngày, nó thậm chí không cần một lịch trình. Chỉ cần chạy một lần và để nó hoạt động và tốt nhất là dựa trên RAW không dựa trên bản sao tệp.



Vì vậy, bạn đang tìm kiếm một ứng dụng có thể tạo ra hình ảnh có thể cài đặt? Nếu không, tại sao bạn không thích Deja Dup? Nếu bạn đang yêu cầu một ứng dụng có thể tạo ra những hình ảnh có thể cài đặt, tôi cũng muốn biết câu trả lời đó. Thêm yêu thích.
đau khổ

chỉ đăng một câu trả lời cho câu hỏi như tiêu đề ... nhưng tôi thấy bạn đang tìm kiếm nhiều hơn một cách tiềm năng để khôi phục hệ thống kim loại trần của bạn thay vì ở cấp độ tệp.
cprofitt

1
Có vẻ như bạn muốn một cấp độ khối, không phải hệ thống tập tin, dựa trên sao lưu gia tăng. Ngoài việc sử dụng một hệ thống tập tin hỗ trợ ảnh chụp nhanh, tôi không chắc liệu những gì bạn đang hỏi có khả thi hay không. LVM, BTRFS có thể là một khả năng.
cprofitt

@cprofitt thx để sửa tiêu đề, nó đúng hơn.
Bruno Pereira

@Bruno - làm cho các tiêu đề tốt giúp làm cho điều này hữu ích cho những người đến sau để tìm câu trả lời.
cprofitt

Câu trả lời:


14

Để giải thích câu trả lời của cprofitt (vì câu trả lời của anh ấy tăng dần, như tôi sẽ giải thích) ...

Đầu tiên bạn cần biết về các liên kết cứng.

Liên kết cứng trỏ đến dữ liệu thực sự trên đĩa (vị trí thực) và bạn có thể truy cập dữ liệu bằng liên kết cứng. Mỗi tệp và thư mục là một liên kết cứng đến vị trí của dữ liệu trên đĩa vật lý. Do đó, nếu có hai tệp (liên kết cứng) trỏ đến cùng một vị trí thì dữ liệu chỉ được lưu trữ một lần .


Quá trình được đưa ra bởi cprofitt bao gồm:

  1. Xoay các bản sao lưu để tạo một vị trí cho một cái mới. ("Sao lưu hôm nay" từ ngày hôm qua trở thành "Sao lưu của ngày hôm qua", "Sao lưu của ngày hôm qua" từ hai ngày trước trở thành "Sao lưu của hai ngày trước", v.v.)

    • Danh sách tiếp tục phát triển miễn là bạn muốn, tuy nhiên trong kịch bản, nó chỉ có 4 ảnh chụp nhanh. (Nó thực hiện lại toàn bộ quá trình cho cấp độ tiếp theo (ví dụ: một tuần - "Sao lưu tuần này") và xoay vòng những thứ đó, vì vậy đó là lý do tại sao nó chỉ có 4).
    • Việc di chuyển được thực hiện ngược lại để ngăn việc ghi đè
  2. Sao chép ảnh chụp nhanh mới nhất bạn đã thực hiện (ví dụ: "Sao lưu của ngày hôm qua") vào vị trí cho ảnh mới (ví dụ: "Sao lưu hôm nay"), tạo liên kết cứng mới đến các tệp hiện có mà không sao chép tệp. Vì vậy, tất cả các tệp trong ảnh chụp nhanh mới được trỏ đến cùng một vị trí như trước đó .


Một ví dụ minh họa

Trong hình bên dưới, các tệp có cùng màu có cùng tên tệp là các liên kết cứng đến cùng một tệp trên đĩa. Ở đây chúng tôi chỉ xử lý hai ảnh chụp nhanh và một vài tệp, nhưng ví dụ tỷ lệ. (Ngoại trừ thực tế tôi đang chuyển các ảnh chụp nhanh theo cách ngược lại với các tập lệnh trong câu trả lời của cproffit)

nhập mô tả hình ảnh ở đây

Quá trình này là:

  1. Có một ảnh chụp nhanh của hệ thống.

  2. Ảnh chụp nhanh là bản sao (tạo liên kết cứng đến các tệp hiện có)

  3. Rsync được chạy để cập nhật ảnh chụp nhanh. Khi tệp được thay đổi, nó sẽ lưu tệp mới dưới dạng bản sao mới trên đĩa cứng (vì vậy ảnh chụp nhanh cũ hơn không bị thay đổi). Trong ví dụ này, Tệp B đã được thay đổi. Lưu ý: hiện tại chúng tôi chỉ có 1 bản sao của Tệp A và Tệp C và hai bản sao của Tệp B được lưu trữ trên đĩa cứng

  4. Xoay các ảnh chụp nhanh (trong trường hợp này là ảnh chụp nhanh 0 'rơi ra' và bị xóa và tôi đổi tên ảnh chụp nhanh 1 thành ảnh chụp nhanh 0)

  5. Sao chép agin snapshot (lặp lại bước 2)

  6. Lại một lần nữa. (Lặp lại bước 3). Bây giờ chúng tôi có 1 bản sao của Tệp A và 2 bản sao của cả Tệp B và Tệp C


Một phiên bản đơn giản hóa của tập lệnh [đầu tiên] (không được chạy, giống như một bước đệm) là:

#!/bin/bash

# Delete the snapshot we don't want (has 'fallen off')
rm -rf /root/snapshot/home/hourly.3 ;

# Rotate the snapshots by shuffling them back
mv /root/snapshot/home/hourly.2 /root/snapshot/home/hourly.3 ;
mv /root/snapshot/home/hourly.1 /root/snapshot/home/hourly.2 ;

# Copy the snapshot (creating hard links to the existing files)
cp -al /root/snapshot/home/hourly.0 /root/snapshot/home/hourly.1 ;

# Do the rsync ...
# step 4: rsync from the system into the latest snapshot (notice that
# rsync behaves like cp --remove-destination by default, so the destination
# is unlinked first.  If it were not so, this would copy over the other
# snapshot(s) too!
rsync -va --delete /home/ /root/snapshot/home/hourly.0 ;

Bây giờ (các) tập lệnh đầy đủ có giải thích đầy đủ ở đây (như cprofitt được liên kết với) và nó kỹ lưỡng hơn nhưng về cơ bản là như trên. Kịch bản khác là để nhóm các ảnh chụp nhanh và phần khác trong câu trả lời của cprofitt nói về việc làm cho quá trình tự động (sử dụng cron) và xác minh rằng bản sao lưu là thành công.

Bạn có thể thay đổi tên, vì vậy thay vì các thư mục được gọi là "hàng giờ ..." chúng được gọi là một cái gì đó khác và tập lệnh được chạy thủ công.


Để khôi phục toàn bộ lô, sao chép ảnh chụp nhanh mới nhất (hoặc ảnh chụp trước đó) trở lại thư mục bạn đang thực hiện sao lưu.

Để khôi phục một tệp duy nhất vẫn còn trong ảnh chụp nhanh, hãy đi đến ảnh chụp nhanh và sao chép nó trở lại vị trí của nó.

Phương tiện sao lưu có thể là ổ cứng ngoài (phải là ext2 / ext3 / ext4). Nếu bạn đã sao lưu /(chủ yếu là /boot, /home, /etc /root/usr) sau đó, nói ...

  1. Bạn gắn ổ đĩa ngoài, thực hiện sao lưu và tạo ảnh chụp nhanh mới nhất.

  2. Tháo ổ đĩa.

  3. Hãy nhớ rằng bạn đã xóa một tệp (thậm chí từ thùng rác) mà bạn muốn.

  4. Kết nối ổ đĩa ngoài và lấy tập tin.

  5. Làm một bản sao lưu (chỉ để chắc chắn)

  6. Ngắt kết nối ổ đĩa và đi du lịch ...

  7. Nhận ra rằng một máy tính xách tay và dung nham không trộn lẫn.

  8. Với máy tính xách tay mới của bạn chạy CD trực tiếp, định dạng ổ đĩa trong, gắn ổ đĩa ngoài của bạn và sau đó cp -a /media/external/snapshot-0/* /media/internal-drive(giả sử snapshot-0 là ảnh chụp nhanh mới nhất)

  9. Cài đặt grub vào MBR (vâng, nó phải tách ddrời ) - hoặc sử dụng để sao lưu mbr, như cprofitt đã nói ở cuối câu trả lời của anh ấy.

  10. Khởi động lại.

Kịch bản cần được tinh chỉnh (để chỉ lấy nội dung bạn muốn) và quy trình aove giả định rằng bạn không có /homephân vùng. Nếu bạn (hoặc đã) tạo một cái mới trên đĩa và gắn nó vào vị trí mount /dev/sdxy /media/external/hometrước khi sao chép.


Ảnh chụp nhanh 100 dd sẽ có giá 100 x <average size of snapshot> trị không gian đĩa. 100 trong số này sẽ có giá <size of snapshot> + <size of changed files>. Tôi đã sử dụng điều này để đặt một số ảnh chụp nhanh của / home (~ 400GB) vào đĩa 500 GB.
Portablejim

Bạn có thể gắn hình ảnh đĩa ảo trên hệ thống tập tin của mình, sau đó lấy bản sao lưu của nó. Xem superuser.com/questions/158908/ và liên kết
Portablejim

Giống như đã nói, đây là cho các máy tính đang chạy của tôi, không phải hộp ảo, vbox chỉ là một ví dụ.
Bruno Pereira

Câu hỏi cập nhật (ở cuối thay vì thêm một bình luận).
Portablejim

@Portablejim: Bạn đang viết rằng cp đang "bảo vệ các liên kết cứng". Tôi nghĩ rằng cụm từ này là khó hiểu. cp -alđang tạo liên kết cứng đến các tệp nguồn thay vì sao chép các tệp nguồn. Số liệu của bạn cũng sẽ phản ánh điều đó, ví dụ bằng cách hiển thị rằng các tệp A trong hình 2 là cùng một tệp.
daniel kullmann

7

Bạn có thể sử dụng rsync.

Listing one: make_snapshot.sh

#!/bin/bash
# ----------------------------------------------------------------------
# mikes handy rotating-filesystem-snapshot utility
# ----------------------------------------------------------------------
# this needs to be a lot more general, but the basic idea is it makes
# rotating backup-snapshots of /home whenever called
# ----------------------------------------------------------------------

unset PATH  # suggestion from H. Milz: avoid accidental use of $PATH

# ------------- system commands used by this script --------------------
ID=/usr/bin/id;
ECHO=/bin/echo;

MOUNT=/bin/mount;
RM=/bin/rm;
MV=/bin/mv;
CP=/bin/cp;
TOUCH=/bin/touch;

RSYNC=/usr/bin/rsync;


# ------------- file locations -----------------------------------------

MOUNT_DEVICE=/dev/hdb1;
SNAPSHOT_RW=/root/snapshot;
EXCLUDES=/usr/local/etc/backup_exclude;


# ------------- the script itself --------------------------------------

# make sure we're running as root
if (( `$ID -u` != 0 )); then { $ECHO "Sorry, must be root.  Exiting..."; exit; } fi

# attempt to remount the RW mount point as RW; else abort
$MOUNT -o remount,rw $MOUNT_DEVICE $SNAPSHOT_RW ;
if (( $? )); then
{
    $ECHO "snapshot: could not remount $SNAPSHOT_RW readwrite";
    exit;
}
fi;


# rotating snapshots of /home (fixme: this should be more general)

# step 1: delete the oldest snapshot, if it exists:
if [ -d $SNAPSHOT_RW/home/hourly.3 ] ; then         \
$RM -rf $SNAPSHOT_RW/home/hourly.3 ;                \
fi ;

# step 2: shift the middle snapshots(s) back by one, if they exist
if [ -d $SNAPSHOT_RW/home/hourly.2 ] ; then         \
$MV $SNAPSHOT_RW/home/hourly.2 $SNAPSHOT_RW/home/hourly.3 ; \
fi;
if [ -d $SNAPSHOT_RW/home/hourly.1 ] ; then         \
$MV $SNAPSHOT_RW/home/hourly.1 $SNAPSHOT_RW/home/hourly.2 ; \
fi;

# step 3: make a hard-link-only (except for dirs) copy of the latest snapshot,
# if that exists
if [ -d $SNAPSHOT_RW/home/hourly.0 ] ; then         \
$CP -al $SNAPSHOT_RW/home/hourly.0 $SNAPSHOT_RW/home/hourly.1 ; \
fi;

# step 4: rsync from the system into the latest snapshot (notice that
# rsync behaves like cp --remove-destination by default, so the destination
# is unlinked first.  If it were not so, this would copy over the other
# snapshot(s) too!
$RSYNC                              \
    -va --delete --delete-excluded              \
    --exclude-from="$EXCLUDES"              \
    /home/ $SNAPSHOT_RW/home/hourly.0 ;

# step 5: update the mtime of hourly.0 to reflect the snapshot time
$TOUCH $SNAPSHOT_RW/home/hourly.0 ;

# and thats it for home.

# now remount the RW snapshot mountpoint as readonly

$MOUNT -o remount,ro $MOUNT_DEVICE $SNAPSHOT_RW ;
if (( $? )); then
{
    $ECHO "snapshot: could not remount $SNAPSHOT_RW readonly";
    exit;
} fi;

va thu hai:

Listing two: daily_snapshot_rotate.sh

#!/bin/bash
# ----------------------------------------------------------------------
# mikes handy rotating-filesystem-snapshot utility: daily snapshots
# ----------------------------------------------------------------------
# intended to be run daily as a cron job when hourly.3 contains the
# midnight (or whenever you want) snapshot; say, 13:00 for 4-hour snapshots.
# ----------------------------------------------------------------------

unset PATH

# ------------- system commands used by this script --------------------
ID=/usr/bin/id;
ECHO=/bin/echo;

MOUNT=/bin/mount;
RM=/bin/rm;
MV=/bin/mv;
CP=/bin/cp;

# ------------- file locations -----------------------------------------

MOUNT_DEVICE=/dev/hdb1;
SNAPSHOT_RW=/root/snapshot;

# ------------- the script itself --------------------------------------

# make sure we're running as root
if (( `$ID -u` != 0 )); then { $ECHO "Sorry, must be root.  Exiting..."; exit; } fi

# attempt to remount the RW mount point as RW; else abort
$MOUNT -o remount,rw $MOUNT_DEVICE $SNAPSHOT_RW ;
if (( $? )); then
{
    $ECHO "snapshot: could not remount $SNAPSHOT_RW readwrite";
    exit;
}
fi;


# step 1: delete the oldest snapshot, if it exists:
if [ -d $SNAPSHOT_RW/home/daily.2 ] ; then          \
$RM -rf $SNAPSHOT_RW/home/daily.2 ;             \
fi ;

# step 2: shift the middle snapshots(s) back by one, if they exist
if [ -d $SNAPSHOT_RW/home/daily.1 ] ; then          \
$MV $SNAPSHOT_RW/home/daily.1 $SNAPSHOT_RW/home/daily.2 ;   \
fi;
if [ -d $SNAPSHOT_RW/home/daily.0 ] ; then          \
$MV $SNAPSHOT_RW/home/daily.0 $SNAPSHOT_RW/home/daily.1;    \
fi;

# step 3: make a hard-link-only (except for dirs) copy of
# hourly.3, assuming that exists, into daily.0
if [ -d $SNAPSHOT_RW/home/hourly.3 ] ; then         \
$CP -al $SNAPSHOT_RW/home/hourly.3 $SNAPSHOT_RW/home/daily.0 ;  \
fi;

# note: do *not* update the mtime of daily.0; it will reflect
# when hourly.3 was made, which should be correct.

# now remount the RW snapshot mountpoint as readonly

$MOUNT -o remount,ro $MOUNT_DEVICE $SNAPSHOT_RW ;
if (( $? )); then
{
    $ECHO "snapshot: could not remount $SNAPSHOT_RW readonly";
    exit;
} fi;

Sau khi tạo tập lệnh theo nhu cầu của bạn, hãy thêm nó vào công việc định kỳ.

crontab -e

thêm những điều sau:

0 * / 4 * * * /usr/local/bin/make_snapshot.sh

0 13 * * * /usr/local/bin/daily_snapshot_rotate.sh

Chúng khiến make_snapshot.sh được chạy cứ bốn giờ một giờ và Daily_snapshot_rotate.sh sẽ được chạy mỗi ngày vào lúc 13:00 (tức là 1:00 PM).

nguồn: http://www.mikerubel.org/computers/rsync_snapshots/

* * * * * command to be executed
- - - - -
| | | | |
| | | | ----- Day of week (0 - 7) (Sunday=0 or 7)
| | | ------- Month (1 - 12)
| | --------- Day of month (1 - 31)
| ----------- Hour (0 - 23)
------------- Minute (0 - 59)

Nếu bạn muốn nó chạy hàng giờ, bạn sẽ thêm một công việc định kỳ cho mỗi giờ.

Một tùy chọn khác có thể là sử dụng rsnapshot

  1. Cài đặt rsnapshot (có sẵn trong trung tâm phần mềm)

  2. Định cấu hình rsnapshot và Chỉ định thư mục nguồn sao lưu

Mở /etc/rsnapshot.conf và bỏ ghi chú các dòng sau.

# nano /etc/rsnapshot.conf

cmd_cp          /bin/cp
cmd_ssh /usr/bin/ssh
cmd_du          /usr/bin/du
cmd_rsnapshot_diff      /usr/local/bin/rsnapshot-diff
logfile /var/log/rsnapshot
  1. Xác định thư mục sao lưu đích của bạn trong /etc/rsnapshot.conf như dưới đây. Trong ví dụ này,

    / home - thư mục nguồn cần được sao lưu localhost / - thư mục đích nơi sao lưu sẽ được lưu trữ. Xin lưu ý rằng thư mục này sẽ được tạo trong thư mục /.snapshots/ đũaiternal.n xăng / như được hiển thị trong bước cuối cùng.

    nano /etc/rsnapshot.conf

    sao lưu / nhà / localhost /

  2. Kiểm tra cấu hình rsnapshot

Thực hiện kiểm tra cấu hình để đảm bảo rsnapshot được thiết lập đúng và sẵn sàng thực hiện sao lưu rsync linux.

# rsnapshot configtest
Syntax OK
  1. Xác minh cấu hình sao lưu hàng giờ rsnapshot

Bạn có thể sao lưu các thư mục hoặc tệp linux trong các khoảng thời gian khác nhau. Theo mặc định, các bản sao lưu hàng giờ và hàng ngày được cấu hình.

Xác nhận cấu hình sao lưu hàng giờ.

# rsnapshot -t hourly
echo 6490 > /var/run/rsnapshot.pid
mkdir -m 0700 -p /.snapshots/
mkdir -m 0755 -p /.snapshots/hourly.0/
/usr/bin/rsync -a --delete --numeric-ids --relative --delete-excluded /home \
/.snapshots/hourly.0/localhost/
mkdir -m 0755 -p /.snapshots/hourly.0/
/usr/bin/rsync -a --delete --numeric-ids --relative --delete-excluded /etc \
/.snapshots/hourly.0/localhost/
mkdir -m 0755 -p /.snapshots/hourly.0/
/usr/bin/rsync -a --delete --numeric-ids --relative --delete-excluded \
/usr/local /.snapshots/hourly.0/localhost/
touch /.snapshots/hourly.0/
  1. Xác minh cấu hình sao lưu hàng ngày rsnapshot

Xác minh quá trình sao lưu cwrsync rsnapshot hàng ngày được cấu hình đúng.

# rsnapshot -t daily
echo 6493 > /var/run/rsnapshot.pid
mkdir -m 0700 -p /.snapshots/
/.snapshots/hourly.5 not present (yet), nothing to copy
  1. Thêm mục Crontab cho rsnapshot

Khi bạn đã xác minh rằng các cấu hình sao lưu hàng ngày và hàng ngày của rsync được thiết lập đúng trong tiện ích cwrsync rsnapshot, đã đến lúc thiết lập chú chó con này trong crontab như dưới đây.

# crontab -e
0 */4 * * * /usr/local/bin/rsnapshot hourly
30 23 * * * /usr/local/bin/rsnapshot daily

nguồn: http : //www.thegeek ware.com/2009/08/tutorial-backup-linux-USE-rsnapshot-rsync-utility/

---- Phục hồi kim loại trần

Tôi sẽ sử dụng dd và tar để phục hồi baremetal.

Sao lưu siêu dữ liệu quan trọng:

# dd if-/dev/hda of=/backups/mbr bs=512 count=1

Sao lưu hệ điều hành:

# mkdir /backups
# mount nfsserver:/backups/<servername> /backups


# cd /
# tar cfz /backups/system.tar.gz --exclude /mnt --exclude /proc --exclude /backups

Cá nhân tôi có xu hướng tắt hệ thống của mình nếu tôi muốn tạo một tệp khôi phục từ xa.


2
Tất cả câu trả lời của bạn trông rất tốt, không có vấn đề gì và tất cả nhưng đó không phải là điều tôi đang hỏi, bất kỳ phương pháp nào sẽ không khôi phục MBR và ddkhông tăng thêm. Không ai trong số này là những gì tôi đang yêu cầu. 10% cuối cùng có thể thú vị để tìm kiếm nhưng tất cả phần còn lại của thông tin kết xuất thực sự là không.
Bruno Pereira

Các chi tiết ở trên xử lý hệ thống tệp (dưới dạng hệ thống tệp) và tôi đã thêm quy trình dd để xử lý MBR.
cprofitt

3

Có 2 cách để thực hiện sao lưu dựa trên khối

  • Ảnh chụp nhanh dựa trên hệ thống tập tin
  • Ảnh chụp nhanh dựa trên chương trình

Ảnh chụp nhanh dựa trên hệ thống tập tin

Cả ZFSBTRFS đều cung cấp ảnh chụp nhanh tăng dần dựa trên khối ( BTRFS , ZFS (trang 25) ). Bạn có thể có một ổ đĩa mà bạn đồng bộ hóa với đó là ZFS hoặc BTRFS và ảnh chụp nhanh.

Ngoài ra còn có ảnh chụp nhanh LVM (được đề cập bởi cprofitt) cung cấp các ảnh chụp nhanh gia tăng dựa trên khối tương tự.

Ảnh chụp nhanh dựa trên chương trình

Có một số chương trình sao lưu , tuy nhiên một số ít sử dụng cho mục đích:

Tôi biết bạn đặc biệt đề cập rằng bạn không tìm kiếm thứ gì đó giống như sự trùng lặp, tuy nhiên tôi nghĩ tôi có thể đề cập đến một số tính năng.

Tuy nhiên các chương trình này yêu cầu bạn cài đặt chúng để khôi phục. Cái hay của rsync là hầu như mọi cài đặt linux đều có rsync (ví dụ như lõi nhỏ (phân phối 10 MB) bị thiếu) theo mặc định.

Bản sao

Nó chỉ lưu trữ diff (mức khối) và sau đó nén và mã hóa chúng. Điều này dẫn đến việc lưu trữ thậm chí ít hơn so với phương thức rsync, tuy nhiên (ít nhất là theo cách tôi nhìn thấy) hệ thống tập tin sẽ cần phải được xây dựng lại, sẽ mất thời gian (nếu bạn đang sử dụng sao lưu gia tăng với nó, và nó phụ thuộc vào thời gian kể từ khi sao lưu đầy đủ cuối cùng)

Các trang người đàn ông giải thích cách nó hoạt động.

Sao lưu dự phòng

Một chương trình máy khách-máy chủ tạo ra, như trùng lặp, khác biệt ở cấp độ khối, tuy nhiên, nó lưu các thay đổi từ điểm khôi phục mới nhất, vì vậy ảnh chụp nhanh mới nhất là nhanh nhất để khôi phục. Quay ngược thời gian (không phải ảnh chụp nhanh nhất) đòi hỏi phải phân tích nhiều khác biệt hơn và do đó nó chậm hơn.

Một số người so sánh sao lưu dự phòng với rsnapshot (có vẻ như là một cách tự động hơn của rsync mentod). Hầu như tất cả các cách thực hiện tập trung vào việc sử dụng thông tin trên mạng, tuy nhiên tôi đã tìm thấy một trong đó đề cập đến cách thực hiện trên localhost .


ok tôi thích điều này, quan tâm để mô tả làm thế nào để làm việc đó với khôi phục phân vùng? tức là, nếu tôi phá vỡ một đĩa, làm thế nào tôi có thể khôi phục hệ thống hoàn chỉnh của mình từ một ảnh chụp nhanh mà không phải tự tạo các phân vùng, v.v. không phải là rất chi tiết hoặc bao gồm các tập lệnh, chỉ cần một số tên lệnh và chúng sẽ làm gì.
Bruno Pereira

Tôi chưa có kinh nghiệm với các hệ thống này, tôi chỉ tìm thấy những nghiên cứu này bằng cách sử dụng Google (do đó tại sao chúng chỉ là liên kết). ví dụ tôi đã học được những gì duplicitythực sự là.
Portablejim

3

Bạn nên xem ddar ( trang chủ ).

Nó là gia tăng theo nghĩa không chuyển các phần giống hệt nhau của ảnh chụp. Nó không phải là gia tăng trong ý nghĩa cổ điển của từ này, vì nó đang xử lý các ảnh chụp nhanh.

Lưu ý: Tôi chưa thử bản thân mình (nhưng tôi tin tưởng tác giả). Nó có thể không làm những gì bạn muốn đạt được, nhưng vẫn có nhiều giải pháp tương tự trên trang (ví dụ: ZFS ), vì vậy, như một điểm khởi đầu, nó có thể có thể hữu ích.


1
Tôi là tác giả của ddar (cảm ơn đã đề cập!). Nếu tôi hiểu chính xác câu hỏi, việc trao cho ddar một loạt ảnh chụp nhanh LVM sẽ thực hiện chính xác theo yêu cầu. Như bạn nói, nó xử lý các ảnh chụp nhanh hơn là gia tăng nhưng ảnh chụp nhanh sẽ có tác dụng tương tự với lợi thế là các ảnh chụp nhanh cũ có thể được loại bỏ theo ý muốn mà không ảnh hưởng đến các ảnh mới hơn.
Robie Basak

@robie Tôi sẽ rất vui khi thấy nó hoạt động như thế nào, bạn có thể làm một hướng dẫn rất nhỏ cho tôi hoặc bất kỳ người dùng nào có thể đang tìm kiếm loại giải pháp này không?
Bruno Pereira

1

Tôi nghĩ rằng bạn có thể làm điều này với LVM trên lý thuyết duy nhất của nó, và nó sẽ lãng phí một lượng lớn đĩa cứng. Lý thuyết của tôi là bạn có thể khiến hệ thống gốc của mình sống trên một khối hợp lý, sau đó nếu bạn muốn thực hiện kiểm tra, bạn có thể tạo ảnh chụp nhanh và khởi động lại máy bằng cách sử dụng âm lượng mới.

Ảnh chụp nhanh LVM cần âm lượng gốc để hoạt động. Điều này là do âm lượng mới giữ sự khác biệt giữa ảnh chụp nhanh và hệ thống tập tin thực.

Nếu bạn rời khỏi hệ thống ở trạng thái này, bạn sẽ bắt đầu lãng phí dung lượng đĩa khi hệ thống tệp mới thay đổi. Tôi không biết có cách nào để hợp nhất các tập tin được chụp nhanh và dứt khoát không. Chắc chắn bạn có thể chuyển sang một khối hợp lý khác, nhưng đối với điều này, bạn sẽ cần gấp đôi không gian của hệ thống tệp của mình cộng với sự khác biệt giữa "điểm khôi phục" của bạn và trạng thái hiện tại.

Và tất cả điều này đòi hỏi phải khởi động lại và không phải là tự động.

Nó cũng cho rằng một số hệ thống tập tin hiện đại đi theo cách này, như zfs trên hệ thống solaris hoặc btrfs thử nghiệm.


1

Cái này hơi quá đầu tôi, nhưng có vẻ như một phần của những gì bạn muốn làm là tạo bản sao lưu một phần của tệp nhị phân (như tệp hình ảnh phân vùng). Có một gói được thiết kế để làm điều đó (Tôi vừa đọc về nó - chưa thử.)

Hãy nhìn vào bup.

https://github.com/apenwarr/bup

Nó có thể cung cấp cho bạn một số ý tưởng.

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.