fsarchiver (partition backup and restore)

fsarchiver는 파일시스템을 압축파일로 만들어 저장할 수 있도록 하는 파티션 백업/복구 툴입니다.

partimage 와 같은 기존의 오픈소스 파일시스템 백업 툴들은 파일시스템 블록 레벨에서 작동하기 때문에 생성한 백업을 보다 작은 파티션에 복구할 수 없고, 보다 큰 파티션에 복구하기 위해서는 파일시스템의 사이즈를 직접 조정해야 합니다.

반면, fsarchiver는 데이터 공간만 충분하다면 생성한 백업 압축본을 보다 작은 파티션에 복구할 수 있고, 파일시스템 종류 (ReiserFS, ext3 등) 또한 지정할 수 있습니다.

터미널 창에 fsarchiver --help 를 입력해 간단한 사용법과 프로그램 옵션을 확인할 수 있습니다.

commands 항목을 보면 fsarchiver의 기능에는 크게 4가지가 있는 것을 알 수 있습니다.

디스크의 파일시스템 정보 확인, 파일시스템 백업과 복구, 디렉토리 백업과 복구, 그리고 압축파일 정보 확인입니다.

다음 목차에서 각 기능들의 사용법을 확인하세요.

파일시스템 정보 확인하기

파일시스템 백업, 복구 작업을 진행하기에 앞서, 디스크의 파일시스템 정보를 확인해야 합니다.

fsarchiver의 다음 두 명령어를 통해 해당 정보를 확인할 수 있습니다.

fsarchiver probe‌ - 디스크의 파일시스템 형식, 사이즈 등 확인

fsarchiver probe detailed - 각 파티션의 UUID 정보와 함께 확인

파일시스템 백업, 복구하기

파일시스템 압축하기

fsarchiverfsarchiver savefs 명령어를 통해 파일시스템 전체를 하나의 파일로 압축해 백업할 수 있도록 합니다.

fsarchiverhelp 페이지 하단에서 제공하는 사용 예제는 아래와 같습니다.

위 예시와 같이 sdb2 파티션의 백업을 시도하면 아래와 같은 메시지가 출력됩니다.

백업하고자 하는 파티션이 read/write 에 마운트 된 상태라면 -A 옵션을 통해 라이브 백업을 생성하거나, mount -o remount,ro /dev/sda1 와 같은 명령을 통해 해당 파티션을 read-only에 마운트 한 후 백업을 진행해야 함을 의미합니다.

read/write 상태인 sdb2read-only 에 리마운트 한 후, 파일시스템 압축을 진행한 모습입니다.

라이브 백업 생성하기

read/write 에 마운트 된 상태인 sda2 파티션의 라이브백업을 생성하기 위해 -A 옵션을 사용하고, 진행상태를 출력하기 위해 -v 옵션과 함께 수행한 모습입니다.

파일시스템 압축 풀기

위에서 생성한 파일시스템 백업을 fsarchiver restfs 명령어로 복구합니다.

디렉토리 백업, 복구하기

fsarchiverfsarchiver savedir 명령어를 통해 디렉토리를 하나의 파일로 압축할 수 있도록 합니다.

아래 이미지는 git 폴더를 zstd 형식으로 압축한 모습입니다.

다음과 같이 현재 위치에 해당 압축 파일이 생성된 것을 확인할 수 있습니다.

fsarchiver restdir 명령어를 통해 위에서 생성한 압축 파일을 다른 위치에 푼 모습입니다.

다음과 같이 해당 위치에 압축이 풀린 디렉토리가 생성된 것을 확인할 수 있습니다.

압축파일 정보 확인하기

fsarchiver archinfo 명령어를 통해 fsarchiver로 생성한 압축파일의 파일시스템 정보를 확인할 수 있습니다.

Last updated