리눅스 시스템의 스냅 샷 생성


11

다음을 수행하고 싶습니다-Linux OS (centOS6.5)의 현재 상태를 저장하십시오. 일부 변경을 수행하십시오 (보다 구체적으로 결함을 주입하고 서비스를 테스트하여 특정 유형의 결함이 발생할 때 작동 방식을 점검하십시오). 그런 다음 시스템을 다시 저장된 상태로 복원하십시오. 리눅스 시스템 에서이 작업을 수행하는 방법을 알 수 없습니다. ext4 파일 시스템이있는 centOS 6.5가있는 머신이 있습니다. 또한 가상 머신이 아닌 물리적 서버입니다.

어떤 아이디어 나 제안?


물리적 서버 또는 가상 머신?
steve

1
VirtualBox와 같은 가상화 소프트웨어에서 OS를 실행하는 것이 좋습니다. 스냅 샷을 훌륭하게 지원합니다.
yaegashi

실제 서버입니다. 여러 컴퓨터 (물리적 서버) 에서이 작업을 수행해야하며 가상화 소프트웨어에서 OS를 실행하도록 구성을 변경할 수 없습니다.
bRuta

일반적으로 시스템 스냅 샷을 지원하려면 가상화와 같은 추가 메타 레이어가 필요합니다. 실제 서버가 마치 펌웨어 및 부트 로더 수준에서 제어되는 것처럼 실제 서버를 작동시키는 것은 매우 어렵습니다.
yaegashi

답변:


8

나는 그것을 단순하게 유지하고 복제 할 것입니다. USB에서 라이브 시스템을 부팅하고 (USB 썸 드라이브에서 Ubuntu가 가장 쉽다) 하드 디스크를 다른 파티션 (또는 외장 하드 드라이브 등)에 덤프한다.

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

/dev/sda1루트 ( /) 파티션 으로 교체해야 합니다. 해당되는 경우 다른 파티션 (예 /boot: /boot/efi,, /home) 과 동일한 작업을 수행하십시오 .

공간을 절약해야 할 경우

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

더 복잡하고 느리지 만 몇 바이트를 더 절약 할 수 있습니다.

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 .??* *

그런 다음 다른 방법으로 복원 할 수 있습니다.

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

또는

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

(데이터를 쓰는 곳을 조심하십시오.이 모든 것을 삭제 /dev/sda1하므로 처음에 올바르게 가져 오십시오 :-)


추신 : 무언가가 정말로 잘못 될 것으로 예상되면 파티션 테이블을 백업하십시오 dd if=/dev/sda bs=64M count=2 of=/mnt/my_mounted_backup_drive/backup-sda. 복원 할 때 여기에 디스크에 너무 많은 블록을 쓰지 않도록주의해야합니다. 파티션 레이아웃을 보지 않으면 몇 개나 말할 수 없습니다. gdisk또는 에 따라 첫 번째 파티션이 시작되는 블록까지 (포함하지 않음) 복원합니다 fdisk.
Ned64

5

rsync를 사용하여 전체 시스템을 백업 할 수 있습니다.

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

Arch Linux Wiki 에는 멋진 기사 가 있습니다.


나에게 가장 적합한 옵션이 되기에는 너무 짧습니다. 물론 당신이 없다면 내가 내 USB 드라이브를 백업하는 데 사용할 rsync수 있습니다 dd.
m3nda 2016 년


1

FSArchiver 를 사용 하면 파일 시스템의 내용을 압축 파일에 저장하고 데이터를 추출 할 때 파일 시스템을 복원 할 수 있습니다.

다음은 설명서 의 예입니다 .

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

멀티 스레드 압축을 사용할 수도 있으며 복원은 간단합니다.

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

-1

이전 상태로 돌아가려면 현재 파일 시스템을 새 디렉토리에 마운트 할 수 있습니다. 파일 시스템을 다음 명령으로 지정된 새 루트 디렉토리에 마운트합니다.

mount DIR DIR

이 상태를 복원하려면 mount 명령에 지정된 디렉토리에서 파일 시스템의 루트를 변경하십시오.

umount DIR

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.