>  기사  >  운영 및 유지보수  >  XenServer에서 실행 중인 가상 머신을 백업하는 방법

XenServer에서 실행 중인 가상 머신을 백업하는 방법

不言
不言원래의
2019-03-25 16:30:503427검색

이 글에서는 XenServer에서 실행 중인 가상 머신을 백업하는 방법을 소개하고, VM 백업 프로세스를 단계별로 실행할 수 있습니다. 또한 모든 VM 또는 지정된 VM을 백업할 수 있는 셸 스크립트도 있습니다. 크론탭을 통해

XenServer에서 실행 중인 가상 머신을 백업하는 방법

방법 1: 실행 중인 가상 머신을 수동으로 백업

다음 단계에 따라 수행할 수 있습니다. 실행은 XenCenter를 통해 이루어지지만 Linux 사용자는 명령줄 사용을 선호합니다.

1. VMS UUID

다음 명령을 사용하여 모든 VM의 UUID 목록과 기타 세부정보를 가져옵니다. 이 UUID는 다음 단계에서 사용됩니다.

# xe vm-list is-control-domain=false is-a-snapshot=false

Output

uuid ( RO)           : 8ac95696-94f3-83c1-bc89-8bb2603f832b
     name-label ( RW): test-vm
    power-state ( RO): running

위 출력 테스트에 따르면 vm uuid는 "8ac95696-94f3-83c1-bc89-8bb2603f832b"입니다. . 그렇지 않을 수도 있습니다.

2. VMS 스냅샷 생성

이제 다음 명령을 사용하여 위 단계에서 찾은 UUID를 사용하여 VM 스냅샷을 생성합니다. 올바른 UUID를 사용했는지 확인하세요.

# xe vm-snapshot uuid=8ac95696-94f3-83c1-bc89-8bb2603f832b new-name-label=testvmsnapshot

위 명령은 스냅샷의 uuid를 검색하고 해당 uuid를 사용하여 스냅샷을 VM으로 변환하므로 아래 명령을 사용하여 파일로 내보낼 수 있습니다.

# xe template-param-set is-a-template=false ha-always-run=false uuid=b15c0531-88a5-98a4-e484-01bc89131561

3. 스냅샷을 파일로 내보내기

이제 생성된 스냅샷을 .xva 파일로 내보낼 수 있으며, 이 파일은 명령줄이나 Xencenter에서 쉽게 복원할 수 있습니다.

# xe vm-export vm=b15c0531-88a5-98a4-e484-01bc89131561 filename=vm-backup.xva

4. 스냅샷 삭제

마지막으로 XVA 파일에 백업했으므로 XenServer에서 생성된 스냅샷을 삭제할 수 있습니다.

# xe vm-uninstall uuid=b15c0531-88a5-98a4-e484-01bc89131561 force=true

방법 2: 스크립트 백업을 사용하여 vms 실행

XenServer에서 실행 중인 모든 가상 머신을 백업하기 위해 다음 셸 스크립트를 사용할 수도 있습니다. 이 스크립트는 NFS를 통해 내보낸 원격 파일 시스템을 마운트합니다. 이 스크립트는 이 예에서는 훌륭하게 작동하지만 사용자에게는 작동하지 않을 수도 있습니다. 따라서 이 스크립트를 사용한다고 해서 생존 가능성이 보장되는 것은 아닙니다.

#!/bin/bash
#
# Written By: Mr Rahul Kumar
# Created date: Jun 14, 2014
# Last Updated: Mar 08, 2017
# Version: 1.2.1
# Visit: https://tecadmin.net/backup-running-virtual-machine-in-xenserver/
#

DATE=`date +%d%b%Y`
XSNAME=`echo $HOSTNAME`
UUIDFILE=/tmp/xen-uuids.txt
NFS_SERVER_IP="192.168.10.100"
MOUNTPOINT=/xenmnt
FILE_LOCATION_ON_NFS="/backup/citrix/vms"

### Create mount point

mkdir -p ${MOUNTPOINT}

### Mounting remote nfs share backup drive

[ ! -d ${MOUNTPOINT} ]  && echo "No mount point found, kindly check"; exit 0
mount -F nfs ${NFS_SERVER_IP}:${FILE_LOCATION_ON_NFS} ${MOUNTPOINT}

BACKUPPATH=${MOUNTPOINT}/${XSNAME}/${DATE}
mkdir -p ${BACKUPPATH}
[ ! -d ${BACKUPPATH} ]  && echo "No backup directory found"; exit 0


# Fetching list UUIDs of all VMs running on XenServer
xe vm-list is-control-domain=false is-a-snapshot=false | grep uuid | cut -d":" -f2 > ${UUIDFILE}

[ ! -f ${UUIDFILE} ] && echo "No UUID list file found"; exit 0

while read VMUUID
do
    VMNAME=`xe vm-list uuid=$VMUUID | grep name-label | cut -d":" -f2 | sed 's/^ *//g'`

    SNAPUUID=`xe vm-snapshot uuid=$VMUUID new-name-label="SNAPSHOT-$VMUUID-$DATE"`

    xe template-param-set is-a-template=false ha-always-run=false uuid=${SNAPUUID}

    xe vm-export vm=${SNAPUUID} filename="$BACKUPPATH/$VMNAME-$DATE.xva"

    xe vm-uninstall uuid=${SNAPUUID} force=true

done < ${UUIDFILE}

umount ${MOUNTPOINT}

이 기사는 여기서 끝났습니다. 더 많은 흥미로운 콘텐츠를 보려면 PHP 중국어 웹사이트의 Linux 비디오 튜토리얼 컬럼을 주목하세요!

위 내용은 XenServer에서 실행 중인 가상 머신을 백업하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.