2
7

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

KVM バックアップとリスト

Posted at

Linux KVM仮想マシンのバックアップとリストア手順
作業ユーザーは、KVMの管理コマンドvirshの実行権限を持っている事を前提として説明します。

今回は以下の環境として説明します。

実行環境はUbuntu20.04TLSになります。

項目
VMイメージファイル格納先 /var/lib/libvirt
VMイメージファイル名 mail.img
VM設定ファイル格納先 /etc/libvirt/qemu
VM設定ファイル名 mail.xml

バックアップ

KVM仮想マシンのバックアップを行います。
作業としては、VMのイメージファイルをコピーと、VMの設定ファイルをDUMP出力してそれをファイルに保存します。

1. バックアップ対象の確認

  • バックアップ対象のVMの状態を確認
    VMが停止してることを確認する。サーバーを稼働させたままでは、バックアップ出来ない(というよりしてはダメ)なのでKVMの管理コマンドで確認する。

    下記のコマンドで出力されるのは、現在稼働中のサーバーのみになります。

    virsh list
    

    出力結果の見本

    Id   Name       State
    --------------------------
    1    filesrv    running
    2    mail       running
    3    labo6      running
    

2. バックアップを取得

事前確認が終了したらバックアップを取得していきます。
今回は、上記の確認結果のid3のmail仮想マシンのバックアップを取得します。

  • バックアップ格納ディレクトリを作成
    バックアップデータを格納しておくディレクトリを作成しておきます。

    mkdir -pv ~/kvm-backup
    
  • KVM設定ファイルバックアップ
    KVMの管理コマンドvirshを使ってVMの設定ファイルのバックアップを取得します。

    virsh dumpxml mail > ~/kvm-backup/mail.xml
    
  • VM本体のデータのバックアップを取得します。
    こちらは、専用コマンドはなく純粋に対象のVMのイメージファイルのコピーを取得します。
    KVMの仮想マシンのイメージファイルのデフォルト格納先は、/var/lib/libvirtになります。

    cp -ivp /var/lib/libvirt/mail.img ~/kvm-backup/mail.img
    

以上でKVM仮想マシンのバックアップが完了となります。
このままバックアップデータとして保管しておくことも、別のKVMホストサーバーへ送り
そちらでこのデータをリストアして、別のKVMホストサーバーのVMとして稼働させることも可能です。


リストア

バックアップを取得しておいた仮想マシンのリストア作業を説明します。

その際ホストのOSとハードウェア(私の経験的にCPUが多い)の相違によりVM設定ファイルの一部を修正する必要があります。
今回は、割愛します。

1. リストア環境の確認

  • リストア環境のVMの状態を確認
    リストアを行うKVMホストサーバー上にリストアするVMと同じ名前の仮想マシンがないことを確認します。

    virsh list --all
    

    出力結果の見本

    Id   Name       State
    --------------------------
    1    filesrv    running
    2    ad1        running
    -    web        running
    -    labo6      running
    

2. リストアデータの配置

リストア環境に同じ名前のVMがないことを確認したらバックアップしておいたデータを各々配置していきます。
配置先は、バックアップを取得した環境と同一のディレクトリに格納してください。

別の場所に格納する場合は、バックアップしておいたVMの設定ファイルのイメージファイルの格納先設定を書き換えなくてはなりません。

  • VM設定ファイルの配置
    バックアップ時とは、異なり設定ファイルも純粋にファイルをディレクトリへコピー(または、移動)するだけになります。

    cp -p ~/kvm-backup/mail.xml /etc/libvirt/qemu/mail.xml
    
  • 仮想マシンイメージファイルの配置
    こちらも同様にバックアップしておいたイメージファイルを所定のディレクトリへコピー(または、移動)するだけです。

    cp -p ~/backup/kvm-backup/mail.img /var/lib/libvirt/images/mail.img
    

3. VMのリストア

設定ファイルとVMイメージファイルの配置が完了したらvirshコマンドを使ってKVMホストサーバーに設定を適用します。

  • リストア

    virsh define /etc/libvirt/qemu/mail.xml
    

    仮想マシン一覧を確認してリストアできているかを確認する。

    virsh list --all
    

    出力結果の見本

    Id   Name       State
    --------------------------
    1    filesrv    running
    2    ad1        running
    -    web        running
    -    labo6      running
    -    mail       running
    

VM一覧に新しくmailという仮想マシンが出てきました。
リストア自体は、以上で完了となります。
仮想マシンを実際に起動してみてエラーが出る場合は、設定ファイルを見直してください。

以上、ありがとうございました。

2
7
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
7

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?