Tạo ảnh chụp nhanh hệ thống linux


11

Tôi muốn làm như sau - Lưu trạng thái hiện tại của hệ điều hành linux của tôi (centOS6.5). Thực hiện một số thay đổi (cụ thể hơn là xử lý lỗi và kiểm tra một số dịch vụ để kiểm tra xem nó hoạt động như thế nào khi loại lỗi cụ thể đó xảy ra.) Sau đó khôi phục hệ thống trở lại trạng thái đã lưu. Tôi không thể tìm ra cách để làm điều này trên một hệ thống linux. Tôi có một máy có centOS 6.5 với hệ thống tập tin ext4. Ngoài ra đây là máy chủ vật lý chứ không phải máy ảo.

Bất kỳ ý tưởng hoặc đề xuất?


Máy chủ vật lý, hay máy ảo?
steve

1
Tôi khuyên bạn nên chạy HĐH của mình trên phần mềm ảo hóa như VirtualBox. Nó độc đáo hỗ trợ ảnh chụp nhanh.
yaegashi

Nó là một máy chủ vật lý. Tôi cần phải làm điều này trên nhiều máy (máy chủ vật lý) và không thể thay đổi cấu hình để chạy HĐH của tôi trên phần mềm ảo hóa.
bRuta

Nó thường cần một lớp meta bổ sung như ảo hóa để hỗ trợ ảnh chụp nhanh hệ thống. Sẽ rất khó để làm cho các máy chủ vật lý tự hành xử như thể chúng bị kiểm soát bởi cấp độ phần mềm và bộ nạp khởi động.
yaegashi

Câu trả lời:


8

Tôi sẽ giữ nó đơn giản và nhân bản nó. Khởi động hệ thống trực tiếp từ USB (đơn giản nhất là Ubuntu từ ổ USB, tôi tìm thấy), sau đó chuyển đĩa cứng của bạn sang một phân vùng khác (hoặc ổ cứng ngoài, v.v.), vd

dd if=/dev/sda1 bs=64M of=/mnt/my_mounted_backup_drive/backup-sda1

nơi bạn cần thay thế /dev/sda1bằng /phân vùng root ( ). Làm tương tự với các phân vùng khác (như một cho /boot, /boot/efi, /home) khi áp dụng.

Nếu bạn cần tiết kiệm không gian, bạn có thể làm

dd if=/dev/sda1 bs=64M | gzip --fast | dd bs=32M of=/mnt/my_mounted_backup_drive/backup-sda1.gz

hoặc, phức tạp hơn, chậm hơn nhiều nhưng tiết kiệm thêm một vài byte,

mkdir -p /mnt/linux
mount -o ro /dev/sda1 /mnt/linux
cd /mnt/linux
tar cvJf /mnt/my_mounted_backup_drive/linux-backup.tar.xz .??* *

Sau đó, bạn có thể khôi phục theo cách khác, ví dụ:

mkdir -p /mnt/linux
mount /dev/sda1 /mnt/linux
cd /mnt/linux
tar xvJf /mnt/my_mounted_backup_drive/linux-backup.tar.xz

hoặc là

dd /mnt/my_mounted_backup_drive/backup-sda1.gz bs=32M | gzip --decompress | dd bs=64M of=/dev/sda1

(cẩn thận nơi bạn đang ghi dữ liệu của mình, điều này sẽ xóa mọi thứ trên đó /dev/sda1, vì vậy hãy lấy nó ngay lần đầu tiên :-)


PS: Nếu bạn mong muốn một cái gì đó thực sự sai sao lưu bảng phân vùng, như thế dd if=/dev/sda bs=64M count=2 of=/mnt/my_mounted_backup_drive/backup-sda. Khi khôi phục bạn cần cẩn thận không ghi quá nhiều khối vào đĩa ở đây - không thể nói có bao nhiêu mà không nhìn vào bố cục phân vùng của bạn. Khôi phục tối đa (không bao gồm) khối nơi phân vùng đầu tiên của bạn bắt đầu theo gdiskhoặc fdisk.
Ned64

5

Bạn có thể sử dụng rsync để sao lưu toàn bộ hệ thống.

rsync -aAXv --exclude={"/dev/*","/proc/*","/sys/*","/tmp/*","/run/*","/mnt/*","/media/*","/lost+found"} /* /path/to/backup/folder

Có một bài viết tuyệt vời tại Arch Linux Wiki về nó


Đó là khá ngắn để là lựa chọn tốt nhất cho tôi. Tất nhiên, nếu bạn không có, rsyncbạn có thể sử dddụng để sử dụng để sao lưu ổ đĩa USB.
m3nda


1

Bạn có thể sử dụng FSArchiver , sẽ lưu nội dung của hệ thống tệp vào tệp nén và khôi phục hệ thống tệp khi trích xuất dữ liệu.

Đây là một ví dụ từ tài liệu :

fsarchiver savefs /mnt/backup/gentoo-rootfs.fsa /dev/sda1

Bạn cũng có thể sử dụng nén đa luồng và việc khôi phục rất đơn giản:

fsarchiver restfs /mnt/backup/gentoo-rootfs.fsa id=0,dest=/dev/sda1

-1

Để quay lại trạng thái trước đó, bạn có thể gắn hệ thống tệp hiện tại vào một thư mục mới. Điều này gắn kết hệ thống tệp vào một thư mục gốc mới được chỉ định bởi lệnh sau:

mount DIR DIR

Để khôi phục trạng thái này, thay đổi thư mục gốc của hệ thống tệp từ thư mục được chỉ định trong lệnh mount.

umount DIR

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.