본문 바로가기

가상화/Xenserver

CLI xe tool을 이용한여 vm 이미지 백업 하기

반응형

HA구성이 되어 있지 않은 xenserver의 백업을 위해 snapshot 이미지로 풀백업을 뜨는 방법으로 백업 용량은 크고 백업 시간 및 네트워크 리소스 사용률이 높지만 추후 복구가 쉬운 이점이 있음.

  • 백업 : VM의 snapshot 생성 -> snapshot을 xva 포맷 형태로 export -> xva 파일 백업 
  • 복구 : xencenter에서 백업 된 xva 이미지를 사용하여 복구

 

1. 백업 VM의 uuid 확인

[root@XEN]# xe vm-list 
...
uuid ( RO)           : d1f56eba-cc1c-c0c5-9fdf-f17f02c7fa62
     name-label ( RW): {VM name}
    power-state ( RO): running
...

2. xenserver에 스크립트 작성

#!/bin/bash

day=`date +%Y-%m-%d`
yesterday=`date -d yesterday +%Y-%m-%d`

# snapshot 뜨기
snapshot=`xe vm-snapshot uuid=d1f56eba-cc1c-c0c5-9fdf-f17f02c7fa62 new-name-label={VM name}`

# snapshot export
xe vm-export —compress vm=$snapshot filename=/{path}/{VM name}_"$day"_"$snapshot".xva

# 어제 스냅샷을 삭제
yesterday_uuid=`ls /{path}/{VM name}* | grep $yesterday | awk -F'_' '{print $3}' | awk -F. '{print $1}'`
if [ $yesterday_uuid ] ; then
    xe snapshot-uninstall snapshot-uuid=$yesterday_uuid force=true
fi

# backup server로 파일 전송
#rsync -av /ISO/{VM name}_$day.xva {backup server 계정}@{backup server ip}:/{backup path}/ && rm -rf /ISO/{VM name}_$day.xva

 

3. 스크립트 cron 스케줄 등록

## cron 스케줄
[root@XEN]# cat /etc/cron.d/xen_backup
30 00 * * * root /home/script/backup.sh 2>&1 > /dev/null
 
4. 백업 서버에서 1일치 백업 파일만 보관하도록 스케줄 등록
## 하루지난 백업 파일 삭제
[root@backup server]# cat /etc/cron.d/xen_backup_del
00 07 * * * root find /<backup path>/ -type f -mtime +1 -delete 2>&1 > /dev/null
반응형

'가상화 > Xenserver' 카테고리의 다른 글

5. xenserver xe tool Snapshot 명령어  (0) 2021.03.17
4. VM 강제 shutdown (CLI)  (0) 2021.03.17
[Xenserver] 3. VDI, VBD, VM 삭제  (0) 2021.03.17
2. ISO 마운트  (0) 2021.03.17
1. SR ISO 경로 확인  (0) 2021.03.17