들어가며
IT 인프라의 중심에 있는 리눅스 서버는 장애가 발생하면 단순한 파일 복사만으로는 복구가 어렵다. 시스템 구성, 부트로더, 네트워크 설정, 커널 파라미터 등 수많은 요소들이 얽혀 있기 때문이다. 이러한 상황에서 ‘시스템 전체’를 백업하고 ‘동일한 환경’으로 복원할 수 있는 솔루션이 필요하며, ReaR(Rescue and Recovery)는 이를 위한 강력한 오픈소스 툴이다.
이번 리포트에서는 ReaR 백업을 활용하여 어떻게 기업의 안전한 운영 환경을 구축할 수 있는지 소개하겠다.
ReaR(Rescue and Recovery)
1. 개념
ReaR은 “Relax-and-Recover”의 약자로, 리눅스 시스템을 완전히 백업하고 재해 발생 시 원래 상태로 복구할 수 있도록 돕는 도구다. 단순한 데이터 백업이 아니라 시스템 자체의 복제를 통해 OS, 디스크 파티션, 부트 정보, 설정 파일까지 포함한 ‘전체 백업’을 수행한다.
2. ReaR의 주요 기능
- 부팅 가능한 복구 ISO 이미지 생성
- 시스템 전체 백업 및 복원
- 다양한 백업 대상 지원(NFS, USB, ISO, PXE 등)
- 커스터마이징 가능한 구성 파일 기반
- 디스크 파티션, LVM, 부트로더까지 복원 가능
3. ReaR 가 지원하는 백업 미디어 종류
- ISO: 부팅 가능한 복구 이미지를 생성하여 로컬 또는 외부 저장소에 저장
- USB: USB 드라이브에 복구 이미지와 백업 데이터를 저장
- NFS: 네트워크 파일 시스템을 통해 원격 서버에 백업 저장
- PXE: 네트워크 부팅을 통해 복구 이미지 제공
- Tape: 테이프 장치에 백업 저장(레거시 환경)
4. ReaR의 장점
- 복구 ISO를 통한 빠른 부팅과 복원 가능
- OS, 디스크 레이아웃, 설정 파일까지 포함한 전체 시스템 복제 지원
- 다양한 출력 방식 지원(ISO, USB, PXE 등)
- 자동화 백업 및 복구에 적합한 구조
- 실무 적용 사례 다수, 커뮤니티 및 문서 지원 활발
5. ReaR의 단점
- GPT, UEFI, RAID 구성 환경에서는 복구 설정이 까다롭다
- 디스크 구조 변경 시 복구 실패 위험 존재
- 단순 파일 복구 용도로는 과도한 설정 필요
- ISO 이미지 보안 관리 필요 (민감 데이터 포함 가능성)
6. 결론
ReaR는 단순 백업 도구가 아닌, 전체 시스템을 통째로 복제하고 재해 발생 시 동일한 환경으로 복구할 수 있는 전략적 도구다. 운영 안정성과 빠른 장애 대응이 중요한 환경에서 ReaR는 효율적인 복구 수단이 될 수 있다.
아키텍쳐 구성도 (ReaR 백업 및 복구 흐름)
[그림 1] ReaR 백업 및 복구 구성도
설치 및 기본 사용법
RHEL 8 version의 EFI 환경에서 NFS를 통한 ReaR 백업을 수행 할 수 있는 방법에 대해 안내한다. NFS를 사용한 이유는 네트워크를 통해 중앙 집중식 백업 관리가 가능하고, 대규모 환경에서 여러 서버의 백업을 단일 저장소에 통합할 수 있기 때문이다. 또한, 로컬 디스크 공간 부족 문제를 해결하며, 빠른 데이터 전송과 접근성을 제공한다. Red Hat 문서에서도 NFS를 활용한 백업이 안정적이고 실무에서 널리 사용된다고 권장한다.
1. ReaR backup 을 위한 환경 설정
패키지 설치
# yum install nfs-utils rear syslinux genisoimage grub2-efi-x64-modules -y |
NFS 서버 공유 exports 등록
# vi /etc/exports
<공유할 디렉터리> <사용자 목록><권한> /rear *(rw,sync,no_root_squash) |
note)
/rear 디렉터리를 모든 클라이언트(*)에게 읽기/쓰기 권한(rw)으로 공유하며, 동기화(sync)를 적용하고 root 권한을 유지(no_root_squash) 하도록 설정하였다.
사용자 목록은 환경에 따라 특정 IP나 네트워크 대역을 지정하여 접근 제한이 가능하다. 보안을 위해서는 no_root_squash 를 root_squash로 설정하는 것이 보다 안전하다. |
서비스 설정 및 방화벽 설정
# systemctl enable –now nfs-client.target
# systemctl disable –now firewalld # sed -i ‘s/^SELINUX=enforcing/SELINUX=permissive/g’ /etc/selinux/config |
서버 재부팅
# reboot |
ReaR 설정
# vi /etc/rear/local.conf
OUTPUT=ISO # 백업 출력을 ISO 이미지로 생성 OUTPUT_URL=nfs://100.100.18.80/rear # 생성된 ISO 이미지를 NFS 경로에 저장 BACKUP=NETFS # 백업 방식으로 NETFS(NFS 기반) 사용 BACKUP_URL=nfs://100.100.18.80/rear # 백업 데이터를 NFS 경로에 저장 USE_RESOLV_CONF=no # 네트워크 이름 해석을 위한 reslov.conf 미사용 NETFS_KEEP_OLD_BACKUP_COPY=y # 이전 백업 사본 유지 USING_UEFI_BOOTLOADER=1 # UEFI 부트로더 사용 설정 (EFI 환경 지원) |
note)
이 설정은 ISO 이미지 생성과 NFS를 통한 백업 저장을 정의하며, UEFI 부트로더를 사용하는 EFI 환경에 맞춘다. OUTPUT_URL은 복구 ISO 저장 위치, BACKUP_URL은 백업 데이터 저장 위치를 지정한다. NETFS_KEEP_OLD_BACKUP_COPY는 이전 백업을 보존하여 롤백 가능성을 제공한다. |
2. ReaR 백업 진행 및 확인(수동절차)
수동 백업 진행
ReaR 백업은 수행하면 지정된 경로(예: /rear/server1)에 여러 파일이 생성됩니다. 아래는 백업 명령어와 생성된 파일 목록이다:
# rear -v mkbackup
# ls /rear/server1/ backup.log backup.tar.gz README rear-server1.iso rear-server1.log selinux.autorelabel VERSION |
생성된 파일들의 역할과 복구에서의 사용
ReaR 백업 과정에서 생성된 각 파일은 시스템 복구 시 특정 역할을 수행한다. 아래는 각 파일의 역할과 복구 과정에서의 활용 방법에 대한 설명이다.
1) backup.log
-
- 역할: mkbackup 명령 실행 시 백업 과정에서 수행된 작업을 상세히 기록한 로그 파일이다. tar 명령어가 시스템 파일과 디렉토리를 압축하여 tar.gz로 저장하는 과정을 블록 단위로 기록한다.
- 복구에서의 사용: 복구 시 직접 사용되지는 않지만, 백업 과정에서 문제가 발생했는지 확인하거나 디버깅에 활용된다. 예를 들어, 백업이 비정상적으로 종료된 경우 이 로그를 통해 원인을 분석 할 수 있다.
2) backup.tar.gz
-
- 역할: 시스템의 데이터와 설정 파일을 압축한 아카이브 파일이다. OS파일, 사용자 데이터, 설정(/etc, /var등)이 포함된다.
- 복구에서의 사용: rear recover 명령 실행 시 이 파일이 NFS 경로에서 로드 되어 시스템의 파일 시스템을 복원한다. 디스크 파티션 복구 후 데이터를 원래 상태로 되돌리는 핵심 요소이다.
3) README
-
- 역할: 백업 시 생성된 ISO 이미지(reae-server1.iso)의 사용법을 간략히 안내하는 텍스트 파일이다. 관리자가 복구 절차를 이해하고 올바르게 진행할 수 있도록 기본적인 가이드를 제공한다.
- 복구에서의 사용: 복구를 준비하는 관리자에게 ISO 이미지 사용법을 안내하여 초기 부팅 단계를 지원 한다.
4) rear-server1.iso
-
- 역할: 부팅 가능한 복구 ISO 이미지 이다. 시스템 레이아웃(파티션, LVM, 부트로더 등)과 복구 스크립트가 포함되어 있다.
- 복구에서의 사용: 이 ISO 이미지를 미디어에 매핑하여 부팅하면 “Relax-and-Recover” 환경이 시작된다. 이후 rear recover 명령으로 디스크 레이아웃을 재구성하고 tar.gz 를 적용해 시스템을 복원한다.
5) rear-server1.log
-
- 역할: ReaR 작업(백업 및 복구)의 전체 로그를 기록한 파일이다. backup.log 보다 더 포괄적인 정보를 포함한다.
- 복구에서의 사용: 복구 과정에서 발생한 문제를 추적하거나 작업 결과를 검토하는데 사용된다. 복구 성공 여부를 확인하는데도 유용하다.
6) selinux.autorelabel
-
- 역할: SELinux가 활성화된 시스템에서 복구 후 파일 시스템의 SELinux 라벨을 재성정하도록 트리거하는 파일이다.
- 복구에서의 사용: 복구 후 첫 부팅 시 SELinux 정책이 올바르게 적용되도록 보장한다. 이 파일이 없으면 SELinux 관련 오류가 발생 할 수 있다.
7) VERSION
-
- 역할: 백업에 사용된 ReaR 버전을 기록한 파일이다.
- 복구에서의 사용: 복구 시 ISO 이미지와 백업 데이터가 동일한 ReaR 버전에서 생성되었는지 확인하는데 사용된다. 버전 불일치로 인한 호환성 문제를 방지한다.
3. 자동 백업 설정
Cron 을 이용한 자동 백업
# cat /etc/cron.d/rear
30 1 * * * root test -f /var/lib/rear/layout/disklayout.conf && /usr/sbin/rear checklayout || /usr/sbin/rear mkrescue |
note)
rear 패키지에서 제공하는 “/etc/cron.d/rear” 는 매일 오전 1시 30분에 복구 시스템(rear mkrescue)을 생성한다. 이는 데이터 백업이 아닌 복구 시스템만 생성한다. |
추가 Cron 설정을 통해 자동 백업화
# vi /etc/crontab
0 3 * * * root /usr/sbin/rear mkrescue # 복구 시스템만 생성할 때 0 3 * * * root /usr/sbin/rear mkbackuponly # 백업만 생성할 때 0 3 * * * root /usr/sbin/rear mkbackup # 복구 시스템 및 백업을 생성할 때 |
note)
매일 새벽 3시에 실행하도록 설정. |
4. ReaR Recover 진행
복구 방법
백업된 ISO 이미지 rear-server1.iso를 Media 에 Mapping 후 부팅시킨다.
“Relax-and-Recover” 선택한다.
BOOT 가 완료되면 복구를 위한 BOOT Prompt를 확인 할 수 있다. 로그인 창에 “root” 를 입력하여 로그인 한 후 “rear recover” 명령어를 통해 복구를 진행한다. recover이 완료가 되면 “Running exit tasks” 가 출력된다. 서버 reboot 을 하여 복구를 완료한다.
서버에 접속하여 복구가 정상화 되었는지 세부 정보들을 확인한다.
“/var/log/rear/rear-server1.log” 를 참조하면 rear recover 수행시 진행된 작업 내용을 확인 할 수 있다.
마치며
ReaR는 단순한 파일 백업을 넘어 시스템 환경 전체를 안전하게 보존하고 복구하는 데 유용한 도구다. 정기적인 백업과 복구 테스트를 통해 장애 발생 시 빠르고 안정적으로 복원할 수 있는 체계를 구축할 수 있다.
# References
https://relax-and-recover.org/documentation/ https://docs.redhat.com/ko/documentation/red_hat_enterprise_linux/7/html/system_administrators_guide/ch-relax-and-recover_rear#sec-Perf_Syst_Rescue https://www.redhat.com/en/blog/rear-backup-and-recover https://access.redhat.com/solutions/7033694

천민솔 프로
오픈소스사업부 오픈소스솔루션사업팀
RHEL OS 기술지원을 하고 있으며, 그와 관련된 다양한 기술에 대하여 연구하고 있습니다.
-
다음 글다음 글이 없습니다.
Register for Download Contents
- 이메일 주소를 제출해 주시면 콘텐츠를 다운로드 받을 수 있으며, 자동으로 뉴스레터 신청 서비스에 가입됩니다.
- 뉴스레터 서비스 가입 거부 시 콘텐츠 다운로드 서비스가 제한될 수 있습니다.
- 파일 다운로드가 되지 않을 경우 s-core_mktg@samsung.com으로 문의해주십시오.