xsibackup 툴을 esxi host에 설치 후 nfs 볼륨에 vm들을 주기적으로 백업하는 방법에 대한 글이다.

 

0. 버전정보

사용된 버전:

  • ESXi 6.7.0 Update 2 (Build 13981272)
  • XSIBACKUP-FREE 11.2.6

 

xsibackup을 설치하기 위해서는 먼저 esxi host가 ssh 서비스가 구동중이어야 한다.

ssh 서비스 활성화는 아래 글 참조.

ESXi 5.5 리얼텍 NIC 잡기

또는 아래와 같이..

1. 볼륨 지정

설치할 볼륨을 지정하기 위한 볼륨 리스트 확인

  • 적절한 볼륨 리스트에 xsibackup 툴을 업로드한다. 본인은 HDD02를 선택했다.

 

2. app 디렉토리 생성

HDD02 datastore 볼륨에 디렉토리 생성

  • 여기서는 HDD02 볼륨에 _apps 라는 임의의 디렉토를 생성 후 zip 파일 업로드

 

파일은 아래 사이트에서 다운로드한다.

https://33hops.com/xsibackup-vmware-esxi-backup.html

xsibackup.zip 파일을 위 사이트에서 다운받아서 _apps 디렉토리에 업로드 한다.

 

3. 압축해제 및 설치

3.1 압축 해제

 

3.2 install 진행

  • '/vmfs/volumes/HDD02/_apps' 입력 -> yes 입력 -> no 입력
  • ★ 중요: 인스톨 후 /vmfs/volumes/HDD02/_apps/xsi-dir 디렉톨리 내의 xsibackup 실행 파일을 한번 실행해 줄 것
  • 첫 실행 시 라이센스 동의를 묻는 창이 뜬다. 따라서 수동으로 실행하지 않고 바로 cron job을 설정해서 수행하면 cron을 통해 실행이 되지 않는다.

 

3.3 install 확인

  • /vmfs/volumes/HDD02/_apps/xsi-dir 디렉토리에 install이 되었다.

 

3.4 cron install

xsibackup 백업을 위한 cron 인스톨

 

--install-cron을 수행하자 아래와 같이 root-crontab 파일이 생성되었다.

 그리고 아래와 같이

  • 부팅 시 crontab 반영을 위해 부팅스크립트인 local.sh 의 마지막 부분에 cron-init 구문이 추가되었다.
  • ./xsibackup --install-cron 을 통해서 cron이 인스톨 된다기보다는 부팅시 esxi crontab에 반영을 위해 /etc/rc.local.d/local.sh에 구문 하나 추가와 root-crontab이라는 빈 파일이 하나 생성되는 것이다.

 

4. cron 스케줄링

4.1 jobs 디렉토리 생성

명령이 수행될 구문을 위한 디렉토리 생성

  • conf 디렉토리아래 jobs라는 임의의 디렉토리 생성
  • 반드시 jobs라는 디렉토리를 만들 필요는 없고 적당한데 job 파일을 생성 후 root-crontab에만 지정해줘도 된다.

 

4.2 job 실행권한 부여

백업 명령이 실행될 job 파일 생성 후 실행권한 부여

  • 위와 같이 수행 시 NFS02 라는 NFS 볼륨에 --backup-vms 에 지정한 vm의 vmdk, vms 파일 등이 백업된다.
  • --backup-vms 에는 , 로 구분하여 여러 vm을 지정할 수 있다.
  • chmod 700 을 통해 해당 job 파일에 꼭 실행 권한을 줘야한다.
  • --exec=yes 를 지정하지 않으면 cron을 통해 수행이 되지 않는다.
  • 쉘에서 직접 명령을 수행시에는 --exec 옵션을 지정하지 않아도 된다.

 

4.3 root-crontab에 job 지정

  • cron-init 스크립트가 수행될 때 root-crontab의 내용을 esxi crontab 파일인 /var/spool/cron/crontabs/root 에 삽입된다.
  • ESXi는 기본적으로 Timezone이 UTC이다. KST는 UTC 대비 +9 hours 이므로 감안하여 시간 설정할 것.

 

4.4 esxi crontab에 반영

esxi crontab에 반영을 위해 cron-init 스크립트를 한번 수행해 준다.

수행 전에 먼저 현 crontab의 내용을 보자.

  • 아직 xsibackup에 대한 cron 스케줄 내용이 없다.

 

cron-init 실행

  • 설정 후 최초 한번은 수동으로 실행하여 실시간으로 cron에 반영함
  • 이 후 재부팅 시점에 /etc/rc.local.d/local.sh 에 설정된 cron-init에 의해 crontab에 자동으로 등록됨

 

crontab의 내용을 확인

  • root-crontab 에 지정한 job이 등록되었다.
  • 부팅 시 esxi crontab에 반영하기 위한 방법으로 /etc/rc.local.d/local.sh 에 직접 cron job을 echo를 통해 설정하는 방법도 있다.
  • xsibackup이 제공해 주는 cron-init 스크립트를 통해 좀 더 편리하게 crontab에 job을 등록해 주는 것 임.

 

이상이다.

ESXi - xsibackup install and cron schedule
태그:             

댓글 남기기

이메일은 공개되지 않습니다. 필수 입력창은 * 로 표시되어 있습니다