본문으로 바로가기

[RHEL7] Rear를 통한 backup 및 restore

category Linux/RHEL7 & 8 2021. 7. 20. 10:12
반응형

Rear는 (Relax & Recover)는 오픈소스로  Linux 시스템에 대한 부팅 가능한 이미지를 생성하며 필요한 경우에는 백업된 이미지를 사용하여 시스템을 복구 할 수 있다.
백업된 이미지를 사용하여 OS를 다른 하드웨어로 복원 할 수도 있어 ReaR를 마이그레이션 도구로 사용할 수도 있다.

 

아래 방법은 boot mode : BIOS (legacy)인 OpenStack DPDK 노드를 가지고 시험하였다.

 

1. ReaR Backup 용 NFS 서버 구성

Backup 되는 Boot ISO 및 Backup DATA 를 저장할 NFS 서버를 구성한다.

[root@rhosp-tb0-kvm ~]#yum install -y nfs-server

[root@rhosp-tb0-kvm ~]#mkdir rear

[root@rhosp-tb0-kvm ~]#vi /etc/exports
/root/rear *(rw,sync,no_root_squash,no_subtree_check)

[root@rhosp-tb0-kvm ~]#systemctl restart nfs-server

[root@rhosp-tb0-kvm ~]#systemctl stop firewalld && systemctl disable firewalld

 

 

2. ReaR 설치

백업할 Linux 대상 시스템에 Rear 및 관련 소프트웨어를 설치한다.

[root@rhosp-dpdk-comp-1 ~]# yum install -y rear syslinux genisoimage nfs-utils

[root@rhosp-dpdk-comp-1 ~]# vi /etc/rear/local.conf

OUTPUT=ISO
OUTPUT_URL=nfs://10.10.10.4/root/rear              <- 10.10.10.4 Rear 서버 (NFS-Server IP)
BACKUP=NETFS
BACKUP_URL=nfs://10.10.10.4/root/rear

 

 

2.1 그 외 옵션

## Boot Mode가 UEFI일 때 (아직 테스트는 못해봄)
USING_UEFI_BOOTLOADER=1

## 기존 파일 유지 여부
NETFS_KEEP_OLD_BACKUP_COPY=y

## 특정 폴더 제외
BACKUP_PROG_EXCLUDE=( '/data/folder1/*' '/data/folder2/*' )


## 특정 파일 시스템 제외
EXCLUDE_MOUNTPOINTS=( "/test01" "/test02" )
EXCLUDE_COMPONENTS=( "fs:/test01" "fs:/test02" )
EXCLUDE_RECREATE=( "fs:/test01" "fs:/test02" )

OS 복구 후 부팅 시 에러 발생 => mkfs, mount 과정 통해 fs를 재생성하거나, /etc/fstab에서 해당 fs를 제거해야 정상 부팅됨

 

 

3. Backup 진행

backup을 수행한다.

[root@rhosp-dpdk-comp-1 ~]# rear -d -v mkbackup

 

 

4. Backup 확인

정상적으로 데이터 백업 및 부팅 ISO 파일이 생성되었는지 Rear Server (NFS-server) 에서 확인한다.

백업 경로는 /root/rear 로 설정하였기 때문에 해당경로에서 확인한다.

[root@rhosp-tb0-kvm rhosp-dpdk-comp-1]#pwd
/root/rear/rhosp-dpdk-comp-1

[root@rhosp-tb0-kvm rhosp-dpdk-comp-1]#ls
README  VERSION  backup.log  backup.tar.gz  rear-rhosp-dpdk-comp-1.iso  rear-rhosp-dpdk-comp-1.log  selinux.autorelabel

 

 

5. Restore (복구)  방법

아래 그림은 Dell 서버에서 복구하는 방법이다.

/root/rear/rhosp-dpdk-comp-1에 존재하는 ISO를 다운받은 후 iLO에 접속하여 Virtual Media에 ISO를 Mapping 시킨다.

ISO Image File 연결

 

Virtual CD/DVD로 부팅 후 "Recover rhso-dpdk-comp-1" 선택한다.

CD BOOT 화면

 

CD BOOT 이 완료가 되면 위와 같이 복구를 위한 prompt 가 BOOT 된다.

Boot Prompt

 

rear -d -v recover 명령을 통해 복구를 시도한다.

해당 명령을 실행하면, NFS를 통해 백업 데이터를 가져간다. (tcpdump를 통해 확인이 가능하다.)

복구 실행

 

복구 수행 완료 후 확인해보면 /mnt/local 경로에 임시로 마운트 하여 복구를 수행하는 것을 확인할 수 있다.

df -h 조회시 /mnt/local 마운트

 

reboot 수행을 한다.

reboot

 

6. OpenStack 서비스 확인

openstack server list

(overcloud) [stack@rhosp-tb0-director ~]$openstack server list
+--------------------------------------+----------------+--------+---------------------------+---------+-------------------+
| ID                                   | Name           | Status | Networks                  | Image   | Flavor            |
+--------------------------------------+----------------+--------+---------------------------+---------+-------------------+
| 0a46c677-5077-487e-8031-25ea88efe3be | dpdk-numa1-vm1 | ACTIVE | Dpdk-Net=88.88.88.10      | rhel7.6 | dpdk-numa1-flavor |
| 511ce27b-744b-4f50-bad4-eb21f5918960 | dpdk-vm1       | ACTIVE | Dpdk-Net=88.88.88.5       | rhel7.6 | dpdk-flavor       |
| c3e3f498-36d0-407d-bc57-25ec353d4309 | TestVM2        | ACTIVE | Public-Net=100.100.100.23 | rhel7.6 | normal-flavor     |
| 58d64c7d-6137-436e-9edd-051dba72cff7 | TestVM1        | ACTIVE | Public-Net=100.100.100.21 | rhel7.6 | normal-flavor     |
+--------------------------------------+----------------+--------+---------------------------+---------+-------------------+

 

VM 접속 및 핑 테스트

[root@rhosp-dpdk-comp-1 ~]# virsh list
 Id    이름                         상태
----------------------------------------------------
 1     instance-0000008a              실행중
 2     instance-0000008d              실행중
 
 
 [root@rhosp-dpdk-comp-1 ~]# virsh console 1
도메인 instance-0000008a에 연결되었습니다
Escape character is ^]

[root@dpdk-vm1 ~]# ping 88.88.88.10
PING 88.88.88.10 (88.88.88.10) 56(84) bytes of data.
64 bytes from 88.88.88.10: icmp_seq=1 ttl=64 time=0.394 ms

 

 

728x90

'Linux > RHEL7 & 8' 카테고리의 다른 글

Git & Gitlab 설치 및 구성  (0) 2021.07.26
yum rpm download 방법  (1) 2021.07.25
RHEL7에서 RHEL8로 업그레이드 방법 (leapp)  (0) 2021.07.16
[Linux] journal user guide  (0) 2021.07.15
[Linux] net-tools vs iproute CLI  (0) 2021.07.08