ホームページ > 運用・保守 > Linuxの運用と保守 > XenServer で実行中の仮想マシンをバックアップする方法

XenServer で実行中の仮想マシンをバックアップする方法

不言
リリース: 2019-03-25 16:30:50
オリジナル
3466 人が閲覧しました

この記事では、XenServer で実行中の仮想マシンをバックアップする方法を紹介し、VM バックアップ プロセスを段階的に実行できます。さらに、すべての VM または指定した VM をバックアップできるシェル スクリプトもあります。 crontab を介してスケジュールされます。

XenServer で実行中の仮想マシンをバックアップする方法

方法 1: 実行中の仮想マシンを手動でバックアップする

次の手順は XenCenter を通じて実行することもできますが、Linux ユーザーはコマンドラインを使用することを好みます。

1. VMS UUID の検索

次のコマンドを使用して、すべての VM の UUID リストとその他の詳細を取得します。この UUID は次のステップで使用されます

# xe vm-list is-control-domain=false is-a-snapshot=false
ログイン後にコピー

出力

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 中国語 Web サイトの Linux ビデオ チュートリアル コラムに注目してください。

以上がXenServer で実行中の仮想マシンをバックアップする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート