리눅스/설치

[리눅스] ReaR(Relax-and-Recover) 백업

ㅎㄷㄹㅁㅇ 2022. 2. 3. 23:21
반응형

ReaR

ReaR란?

재해 복구 솔루션 ReaR OSOS 영역의 데이터를 백업하고 복구하는 것에 목적을 두고 있습니다.
PXE, ISO 이미지, USB, Tape 등으로 백업 데이터를 생성하고 복구할 수 있습니.

 

 

구성 환경

[가상머신_CentOS7.8]
Processor : 1
RAM : 2G
Network : 
Server - 192.168.99.11
Client - 192.168.99.12
 
[OS Version_]
CentOS 7.8
  • PXE Server :PXE 방식으로 서버를 복구 할 때 필요한 서버입니다.
    ReaR를 사용해서 생성된 PXE boot 이미지를 사용해서 대상 서버에 복구 및 백업이 가능합니다.
  • 복구(백업) 대상 :ReaR를 이용하여 백업하는 서버이다. 장애 시 복구 대상이 됩니다.
  • Storage Server (또는 Storage) :ReaR를 사용해 백업된 데이터가 있는 서버 또는 저장소입니다. NAS, NFS, Local, USB, Tape 등의 방식으로 저장될 수 있습니다.
  • 추가로 ReaR 백업을 받고 다시 복구하는데 PXE 서버를 이용할 것이기 때문에 PXE 서버 구성을 우선적으로 진행해 줍니다.
  • 스토리지 서버를 NFS 서버로 구성해줍니다.

 

PXE 서버 구성 

 

Step 1. DHCP 서버 구성 

# yum -y install dhcp
# vi /etc/dhcp/dhcpd.conf
###############################################################################
allow booting;
allow bootp;

option domain-name "my-com";
option arch code 93 = unsigned integer 16; # RFC4578
default-lease-time 36000;
max-lease-time 72000;

subnet 192.168.99.0 netmask 255.255.255.0{

        option routers 192.168.99.1;
        option subnet-mask 255.255.255.0;
        option broadcast-address 192.168.99.255;
        range dynamic-bootp 192.168.99.102 192.168.99.250;

        next-server 192.168.99.100;
        ###Server#####
        if option arch = 00:07 {
                filename "BOOTX64.efi";
        }else {
                filename "rear/pxelinux.0";   

       }
}
###############################################################################

# systemctl restart dhcpd

 

* 참고
filename "rear/pxelinux.0"; 를 추가해 줍니다.
이후 DHCP 데몬을 restart 해줍니다.

 

 

 

Step 2. TFTP 서버 구성

# yum -y install tftp-server
# vi /etc/xinetd.d/tftp

###############################################################################
service tftp
{
        disable                 = no   # yes -> no로 바꿔준다.
        socket_type             = dgram
        protocol                = udp
        wait                    = yes
        user                    = root
        server                  = /usr/sbin/in.tftpd
        server_args             = -s /var/lib/tftpboot
        per_source              = 11
        cps                     = 100 2
        flags                   = IPv4
}
###############################################################################

# systemctl restart tftp
* 참고
TFTP 사용을 위해 disable 옵션을 no로 변경해줍니다.

 

 

 

Step 3. syslinux 설치 및 설정 파일 복사

# yum -y install syslinux

# mkdir -p /var/lib/tftpboot/rear/pxelinux.cfg
# cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/rear
# cp /usr/share/syslinux/ldlinux.c32 /var/lib/tftpboot/rear
# cp /usr/share/syslinux/menu.c32 /var/lib/tftpboot/rear

 

* 참고
PXE에 필요한 파일들이므로 복사해서 사용해 줍니다.

 

 

 

Step 4. NFS 서버 구성 

[NFS 서버]
# yum -y install nfs-utils nfs-utils-lib rpcbind
# vi /etc/sysconfig/nfs    

# systemctl start rpcbind 
# systemctl start nfs
# systemctl start nfslock

#vi /etc/exports

###############################################################################
/DATA                    192.168.1.0/24(rw,no_root_squash)
(볼륨의 경로)           (NFS Client의 주소나 대역대)
###############################################################################

# exportfs -r
# exportfs –v
* 참고
nfs 사용 포트를 방화벽 아래에서 사용 가능하게 변경합니다.(임의의 Port 값 고정 / 방화벽 비활성화)

 

 

 

Step 5. 복구 대상 서버의 NFS 설정

[NFS]
# yum install nfs-utils nfs-utils-lib nfs-utils-lib-devel nfs4-acl-tools libgssglue-devel

# showmount -e 서버IP
# mount -t nfs4 192.168.1.231:/DATA  /DATA/
# vi /etc/fstab
서버IP:/DATA / nfs hard 0 0
* 참고
fstab 을 수정하지 않고 일시적으로 mount를 사용해서 진행해도 크게 상관없습니다. 

 

 

 

Step 6. 복구 대상 서버의 ReaR 구성 (패키지 설치)

# yum –y install rear (rear-2.4-11.el7.x86_64.rpm 설치 CentOS7.8 Image )

# vi /etc/rear/local.conf
###############################################################################
OUTPUT=PXE
OUTPUT_URL="nfs://192.168.1.231/DATA"
BACKUP=NETFS   #backup.tar.gz 파일 생성 
BACKUP_URL="nfs://192.168.1.231/DATA“
#OUTPUT=ISO    #ISO 파일로 저장 할 경우 
#OUTPUT_URL="nfs://192.168.1.231/DATA"
#BACKUP_PROG_EXCLUDE=("${BACKUP_PROG_EXCLUDE[@]}" '/media' '/var/tmp' '/var/crash') 
###############################################################################
* 참고
[옵션]
OUTPUT = 복구 이미지 저장방법
   #PXE , ISO , USB …

OUTPUT_URL= 저장 위치
   #ex) file:///directory/
   #ex) nfs://xxx.xxx.xxx.xxx/directory/

BACKUP= 백업 파일 저장 
   #NETFS , RSYNC

BACKUP_URL= 백업 파일 저장 위치
   #ex) BACKUP_URL=nfs://xxx.xxx.xxx.xxx/directory
   #ex) BACKUP_URL=rsync://[user@]host[:port]/path 

BACKUP_PROG_EXCLUDE = 백업 예외처리 

ReaR 관련 파일 
/etc/rear/local.conf
/var/log/rear/hostname.log
등등 

 

 

 

Step 7. ReaR를 통한 백업 진행 

# rear –v mkbackup  # Rear백업 실행

# nfs서버의 지정된 디렉토리 확인
# ls –ltr /DATA
total 5649764
-r-------- 1 root root    6762688 Oct 17 15:45 rear-client.kernel
-r-------- 1 root root  255007631 Oct 17 15:45 rear-client.initrd.cgz
-r-------- 1 root root        268 Oct 17 15:45 rear-client.message
-rw------- 1 root root        500 Oct 17 15:45 rear-rear-client
-rw------- 1 root root        268 Oct 17 15:45 VERSION
-rw------- 1 root root        516 Oct 17 15:45 README
-rw------- 1 root root     753742 Oct 17 15:45 rear-rear-client.log
-rw------- 1 root root 5518687086 Oct 17 15:53 backup.tar.gz
-rw------- 1 root root    4114100 Oct 17 15:53 backup.log#생성된 파일 확인
* 참고
[생성파일]
backup.log : 백업 데이터 생성시 생성되는 로그
backup.tar.gz : 백업 데이터 파일
rear-client.initrd.cgz : ReaR rescue mode 부팅용 initrd 파일
rear-client.kernel : ReaR rescue mode 부팅용 kernel 파일
rear-client.message : 백업 데이터의 기본 정보가 들어있는 메시지
README  복구 방법 기술
rear-rear-client: /var/lib/tfpboot/pxelinux.cfg/default 파일로 저장
rear-rear-client.log: ReaR rescue mode 부팅용 initrd 파일 생성시 로그
VERSION-: ReaR버전 정보

 

Step 8. ReaR를 통한 대상 서버의 복구 진행을 위한 설정 파일 수정 (PXE 설치 이용)

* NFS서버에서 PXE서버로 ReaR 실행 후 생성된 파일을 전송한다. (NFS/PXE서버 다를 때)
ex)# rsync –arP * 192.168.59.100:/var/lib/tftpboot/rear/

[PXE서버]
#cp /var/lib/tftpboot/rear/rear-localhost /var/lib/tftpboot/rear/pxelinux.cfg/default 
#PXE 설치 실행
# 실행 화면에서 boot : 창이 나오면 rear를 입력. (rear 입력 후에도 진행이 되지 않으면, default파일에서 상단의default 값을 rear로 변경해준다.)

###############################################################################
# cat default 
#default hd
default rear
prompt 1
timeout 300

label hd
localboot -1
say ENTER - boot local hard disk
say --------------------------------------------------------------------------------
    display /rear-client.message
    say ----------------------------------------------------------
    say rear = disaster recover this system with Relax-and-Recover
    label rear
	#kernel /rear/rear-client.kernel
	#append initrd=/rear/rear-client.initrd.cgz root=/dev/ram0 vga=normal rw selinux=0 console=ttyS0,115200 console=tty0 
	kernel /rear-client.kernel
	append initrd=/rear-client.initrd.cgz root=/dev/ram0 vga=normal rw selinux=0 console=ttyS0,115200 console=tty0
###############################################################################
#chmod –R 777 rear/
* 참고
#chmod –R 777 rear/ 
해당 내용을 제외하고 진행시 오류가 발생 할 수 있습니다. 

 

 

Step 9. ReaR를 통한 대상 서버의 복구 진행 _ rear recover 명령어 수행

[복구 대상 서버에서 VM 기동 ]
PXE 서버에서 백업 해둔 Rescue 모드 용 kernel로 부팅을 시도하고 root에서 아래 명령어 실행

# rear –v recover 
# ReaR Recover 완료 후 reboot한 뒤 복구 상태 확인
* 참고
가상머신을 이용 할 경우에는 Snapshot 기능을 사용하여 복구 전 사항을 백업해둔다. 

 

 

반응형

'리눅스 > 설치' 카테고리의 다른 글

[LINUX] SuSE 15 설치  (0) 2023.02.16
[LINUX] 1. ANSIBLE 설치  (0) 2022.03.01
[리눅스] Rescue Mode  (0) 2022.02.07
[Ubuntu] DevStack 설치하기  (0) 2021.12.30
TOP