Trong linux, làm cách nào để tạo / khôi phục ảnh chụp nhanh của toàn bộ ổ đĩa của tôi?


14

Tôi quá hư hỏng bởi các tiện ích Windows chụp ảnh kỹ thuật số trên toàn bộ ổ đĩa của bạn, sau đó bạn có thể khôi phục lại trong trường hợp xảy ra sự cố ổ đĩa. (ví dụ như Time Machine cho Mac OS X).

Có một cách tương tự để làm điều này trong Linux?


1
Tôi cho rằng sự hư hỏng của bạn trong Windows giống như cách người dùng Linux bị làm hỏng bằng cách thực sự có các tiện ích hệ thống. :)

Câu trả lời:


13

Công cụ bạn muốn (gần giống với Time Machine nhất) được gọi là rsnapshot . Không giống như các công cụ sao lưu thông thường, nó chỉ sao chép những thứ đã thay đổi và cho phép bạn dễ dàng di chuyển đến nhiều điểm trong thời gian. Bạn có thể cho nó biết dung lượng đĩa được phép có là bao nhiêu và nó sẽ điều chỉnh số lượng ảnh chụp nhanh được giữ trong giới hạn đó. Một công cụ rất hay.


6

PartImage chạy từ dòng lệnh hoặc dưới dạng GUI văn bản. Nó có một lợi thế quan trọng so với dd:

Partimage sẽ chỉ sao chép dữ liệu từ các phần được sử dụng của phân vùng. Đối với tốc độ và hiệu quả, các khối miễn phí không được ghi vào tệp hình ảnh. Điều này không giống như lệnh 'dd', cũng sao chép các khối trống.


6

Bạn chỉ có thể làm " dd if=/dev/sda of=/path/to/target/backup" nếu bạn biết bạn có căn phòng nơi bạn đang cố gắng đặt nó. Bạn cũng có thể thực hiện " dd if=/dev/sda | bzip2 > /path/to/target/backup" để nén khi đang di chuyển. Điều này có thể mất một thời gian mặc dù.

Hoặc, bạn có thể thực hiện " tar --preserve-permissions -cjf backup.tar.bz2 /what/to/backup" với tư cách là người dùng có tất cả các quyền đọc cần thiết. Bạn chọn đi.

Phụ lục: Gần đây tôi đã mua một máy tính xách tay mới, được cài đặt sẵn Vista. Tôi hình dung rằng tôi muốn bảo quản vista ở một nơi nào đó, trong trường hợp tôi muốn dùng thử vào một lúc nào đó, vì vậy lần đầu tiên tôi khởi động máy tính (với một bản livecd linux), tôi đã làm điều này:

dd if=/dev/sda | ssh 10.0.0.1 "bzip2 > ~/vistadrive.bz2"

Điều này là trên một mạng cục bộ nhanh, tất nhiên. Nếu không, nó sẽ là khôn ngoan hơn để nén trước khi truyền:

dd if=/dev/sda | bzip2 | ssh 10.0.0.1 "cat > ~/vistadrive.bz2"

Hy vọng bạn tìm thấy một số hữu ích này.

Chỉnh sửa: Rất tiếc. Thay đổi bbthànhdd ...


1
Điều đó sẽ không bao gồm khu vực khởi động quá phải không? Điều đó luôn làm tôi bối rối khi sử dụng partimage để sao lưu ổ đĩa windows.

greg, nó sẽ bao gồm tất cả mọi thứ, bao gồm bất kỳ bảng phân vùng và mbr
Johannes Schaub - litb

4

Tôi sử dụng chiến lược hai lần: # 1 là ảnh chụp nhanh LVM và số hai là rsnapshot , tôi sử dụng để tạo bản sao lưu theo thời gian vào ổ đĩa cứng ngoài chuyên dụng. Ổ đĩa cứng gắn ngoài được đặt để tôi có thể dễ dàng kéo nó ra khỏi cửa nếu có chuyện không hay xảy ra. Tôi chưa (chưa) sử dụng cơ chế ngoài trang web ngoài việc định kỳ ghi ảnh chụp nhanh vào một loạt đĩa DVD được mã hóa và chuyển chúng đến địa điểm của một người bạn ở một thành phố khác để lưu trữ.

Tôi đặc biệt khuyên dùng rsnapshot vì cách thức chụp nhanh, sử dụng các liên kết cứng cho những thứ chưa thay đổi. Nếu thư mục nhà của bạn chuyển sang bonkers, bạn chỉ cần lấy một bản sao rsnapshot và tarpipe hoặc rsync nó trở lại phân vùng nhà mới của bạn sau khi cài đặt lại hoặc khôi phục từ lỗi ổ đĩa.


3

Một số. Có loại dd(1) , là loại phức tạp; có bãi chứa (8)khôi phục (8) ; có một số sản phẩm nguồn mở xung quanh, như Amanda ; và nếu bạn muốn, bạn có thể cài đặt ZFS và sử dụng tập lệnh cron để chụp ảnh nhanh định kỳ, mang lại cho bạn thứ gì đó giống hệt với Time Machine (xem weblog của Tim Foster.)

Wikipedia có một bài viết với một danh sách gồm nhiều lựa chọn .


2

Nếu bạn muốn sao lưu cấp độ tệp như cỗ máy thời gian, thì tôi khuyên bạn nên sử dụng rsnapshot như Norman đề xuất.

Nếu bạn muốn một giải pháp sao lưu và khôi phục hình ảnh đầy đủ, như ma norton, thì tôi đã tìm thấy CloneZilla hoạt động khá tốt. Tôi khởi động CD trực tiếp và sau đó sử dụng một máy khác làm máy chủ SSH để sao lưu / khôi phục (các) hình ảnh thành / từ.

(Tôi thậm chí đã quản lý để phiên bản trực tiếp hoạt động thông qua khởi động PXE cho một máy tính xách tay máy tính bảng cũ mà tôi không có ổ đĩa CD và không có khả năng khởi động USB, nhưng nó rất khó sử dụng.)

Và bạn có thể sử dụng nó cho các máy tính windows.


1

Tôi luôn lo lắng về việc sử dụng dd khi các ổ đĩa có kích thước khác nhau. Hoặc có số lượng khác nhau của người đứng đầu / ngành / bài hát / vv.

dd rất hữu ích khi chụp nhanh và phản xạ lại cùng một ổ đĩa. Đặc biệt là ổ USB hoặc phân vùng windows. Nhưng khi đi từ ổ 500Meg đến ổ 1500Meg, tôi cảm thấy lo ngại.

Ngoài ra, khi ổ đĩa của tôi bị lỗi, tôi muốn có thể sử dụng nó như một cái cớ để nâng cấp lên một hệ điều hành mới hơn.


Tất cả những gì đã nói, tar cũ tốt làm một công việc tốt! GNU-tar bao gồm các tùy chọn diff-tar-chống-tập tin , chỉ cập nhật-tập tin-đã thay đổichỉ lưu trữ tập tin-tập tin mới hơn so với ngày .

(Tôi nên đề cập: Tôi đã gặp phải một lỗi một vài năm trước đó yêu cầu tôi phải tải xuống và cài đặt phiên bản GNU-tar mới hơn (Một số việc phải làm với tên đường dẫn rất dài và nhiều tập.) Không có vấn đề gì lớn. đó luôn là một lựa chọn.)

Bạn có thể nên loại trừ / Proc , / sys và có lẽ / var / log / lastlog hoặc / mnt . (Tôi thường sao lưu vào ổ đĩa ngoài được gắn bên dưới / mnt . Sao lưu dự phòng - không tốt lắm!)

Bao gồm / dev có thể có giá trị. gnu-tar sẽ xử lý các thiết bị đúng cách ( mknod ). Mặc dù bạn có thể sẽ không sử dụng sao lưu / dev trong quá trình khôi phục. (Đôi khi thật tuyệt khi thấy những quyền hoặc liên kết bạn đã thiết lập trước đó.)

Ngoài ra, bạn có thể muốn xóa thông tin fdisk & vòng / phút trước khi sao lưu. Ví dụ

/sbin/sfdisk -l /dev/sda > /....../info_sda
rpm -qa | sort > /...../info_rpms
rpm -qa --qf "%{ARCH} \t %{NAME}-%{VERSION}-%{RELEASE}\n" | sort -k2,2 > /........./info_rpms_arch

Cũng như gắn kết bất kỳ hệ thống tập tin gắn kết người dùng "tùy chọn" .


1

Đây là các bước đầy đủ cho một phương pháp khác, hoạt động để chuyển từ ổ đĩa cứng này sang ổ đĩa khác và thậm chí nhân bản một máy nếu phần cứng tương tự.

Đầu tiên, tạo một hình ảnh của một hệ thống làm việc tốt. Làm điều này như root.

# cd / 
# tar cpzf hostname.tgz / --exclude=hostname.tgz --exclude=proc --exclude=lost+found --exclude=mnt --exclude=sys --exclude=home --exclude=usr/src

Sao lưu ảnh hạt nhân

# mount /boot
# cd /boot
# tar cpzf boot.tgz *

Khởi động máy bạn muốn hình ảnh được triển khai với một cd / gentoo cd trực tiếp. Gắn ổ đĩa cứng đó và phân vùng nó một cách thích hợp:

# fdisk /dev/hda
/dev/hda1  /boot
/dev/hda2  swap
/dev/hda3  /tmp
/dev/hda4  /

Thêm hệ thống tập tin

# mke2fs /dev/hda1
# mkswap /dev/hda2
# mke2fs -j /dev/hda3
# mke2fs -j /dev/hda4

Ổ đĩa gắn kết:

# mount /dev/hda4 /mnt/new_root
# mkdir /mnt/new_root/tmp
# mkdir /mnt/new_root/boot
# mkdir /mnt/new_root/proc
# mkdir /mnt/new_root/sys
# mount /dev/hda3 /mnt/new_root/tmp
# mount /dev/hda1 /mnt/new_root/boot
# swapon /dev/hda2
# mount -t proc proc /mnt/new_root/proc

Sao chép tập tin hostname.tgz vào máy này.

Giải nén nó vào thư mục gốc của máy mới / mnt / new_root

# tar -xzf hostname.tgz

Chroot vào môi trường mới.

# chroot /mnt/new_root /bin/bash
# env-update && source /etc/profile

Xác minh /boot/grub/grub.conf và / etc / fstab

Cài đặt grub trên ổ cứng:

# grep -v rootfs /proc/mounts > /etc/mtab
# grub-install /dev/hda

Thoát và ổ đĩa, khởi động lại máy.


0

Bạn có thể có ảnh chụp nhanh trên Linux bằng LVM, trình quản lý âm lượng hợp lý.


1
Nếu bạn đang sử dụng LVM, không nhất thiết phải như vậy. Nếu vậy thì có, đây sẽ là một lựa chọn tốt howtoforge.com/linux_lvm_snapshots
Gavin H
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.