리눅스/설치

[리눅스] 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