「インストール - KVM」の版間の差分

ナビゲーションに移動 検索に移動
326行目: 326行目:


== QEMUを使用した仮想マシンのスナップショット ==
== QEMUを使用した仮想マシンのスナップショット ==
このセクションでは、QEMUイメージツールを使用して、QCOW2形式で利用できる高度な機能のいくつかを記載する。<br>
Virt-Managerには、QCOW2形式のファイルにおいて、スナップショットの作成等の行う機能は無い。<br>
<br>
QCOW2形式のファイル(バッキングファイル)に基づくスナップショットを作成と、バッキングファイルへの参照を削除する手順を記載する。<br>
<br>
==== 仮想マシンの情報の表示 ====
仮想マシンのファイルに関するいくつかの基本情報を表示する。<br>
ファイルのディスク上のサイズ、参照されているバッキングファイルの名前、使用可能なスナップショットのリストが含まれる。<br>
qemu-img info <仮想マシン名またはスナップショット名>.qcow2
<br>
==== 仮想マシンのファイルの作成 ====
単純なQCOW2形式の仮想マシンのファイルを作成する。<br>
このファイルに使用されるディスク容量は比較的小さくなるが、最大ストレージ容量は<ストレージ容量>となる。<br>
qemu-img create -f qcow2 <仮想マシン名> <仮想マシンの最大ストレージ容量>
<br>
==== バックアップファイルの作成 ====
バッキングファイル(仮想マシンのファイル)に基づくQCOW2形式のバックアップファイルを作成する。<br>
バックアップファイルは、バッキングファイルの変更を回避するために、Redirect-on-Writeを使用してバッキングファイルを参照するファイルである。<br>
<br>
KVM / QEMUにより書き込まれたクラスタは、全てバックアップファイルに書き込まれるため、バッキングファイルは変更されない。<br>
<br>
バックアップファイルを使用する場合は、KVM / QEMUを使用してバックアップファイルに対して新しい仮想マシンを作成する。<br>
<br>
<u>バッキングファイルを変更すると、それに基づく全てのバックアップファイルが破損するため注意すること。</u><br>
qemu-img create -f qcow2 -b <仮想マシンのファイル名>.qcow2 -l <バックアップファイル名>.qcow2
または
qemu-img create -f qcow2 -b <仮想マシンのファイル名>.qcow2 <バックアップファイル名>.qcow2
<br>
もし、バッキングファイルを実行する場合は、必ずバックアップファイルを削除すること。<br>
また、以下のコマンドを実行することで、バックアップファイルの情報を表示することができる。<br>
qemu-img <バックアップファイル名>.qcow2
<br>
==== スナップショットの一覧の表示 ====
指定された仮想マシンのファイルに存在する全てのスナップショットの一覧を表示する。<br>
qemu-img snapshot -l <仮想マシンのファイル名>.qcow2
<br>
==== スナップショットの作成 ====
==== スナップショットの作成 ====
QEMUのスナップショットは、元のイメージの変更を回避するために、Redirect-on-Writeを使用して元のイメージを参照するイメージである。<br>
スナップショットを作成する。<br>
QEMUのスナップショットは、スナップショットが作成された時の仮想マシンの状態の簡単な図である。<br>
qemu-img snapshot -c <スナップショット名> <仮想マシンのファイル名>.qcow2
<br>
<br>
SUSE_15_2.qcow2という既存のイメージのスナップショットを作成する場合、<br>
==== スナップショットの復元 ====
<code>-b</code>フラグを使用して新しいQCow2ファイルを作成して、バッキングファイルを示す。<br>
スナップショットを適用する。<br>
スナップショットが作成された時に保存されたクラスタを単純に復元するため、仮想マシンをその時点の状態に戻すことができる。<br>
qemu-img snapshot -a <スナップショット名> <仮想マシンのファイル名>.qcow2
<br>
<br>
新しいイメージは元のイメージの読み取り / 書き込みスナップショットとなる。<br>
====  スナップショットの削除 ====
スナップショットイメージ(SUSE_15_2_Snapshot.qcow2)への変更は、SUSE_15_2.qcow2には反映されない。<br>
指定された仮想マシンのファイルから各スナップショットを削除する。<br>
  qemu-img create -f qcow2 -b SUSE_15_2.qcow2 SUSE_15_2_Snapshot.qcow2
スナップショットはファイルサイズが大きいため、ディスク領域を大きく消費する可能性がある。<br>
このコマンドは、仮想マシンのファイルに割り当てたディスク領域ではなく、関連するクラスタを解放する。<br>
  qemu-img snapshot -d <スナップショット名> <仮想マシンのファイル名>.qcow2
<br>
<br>
この時、SUSE_15_2_Snapshot.qcow2に対してQEMUを実行する。<br>
====  仮想マシンのファイルの変換 ====
バッキングファイル(SUSE_15_2.qcow2)に変更を加えると、このスナップショットイメージ(SUSE_15_2_Snapshot.qcow2)が破損する。<br>
同じQCOW2形式との間で変換する場合、仮想マシンのファイルの現在の状態のみを出力ファイルにコピーする。<br>
出力ファイルには、参照されたバッキングファイルの全てのクラスタが含まれる。ただし、スナップショットの情報はコピーされない。<br>
この変換は、バッキングファイルへの参照なしで、スタンドアロンイメージを作成する効果がある。<br>
<br>
<br>
==== 以前のバージョンに戻る ====
<code>-p</code>オプションは、コピー操作中に進行状況情報を表示する。(変換 / コピーは時間が掛かるため、<code>-p</code>オプションを使用する)<br>
スナップショットイメージは、1度変更すると元の状態に戻すことはできない。<br>
qemu-img convert -p -f qcow2 <変換元の仮想マシンのファイル名>.qcow2 -O qcow2 <変換後の仮想マシンのファイル名>.qcow2
代わりに、最初のスナップショットイメージ(この例では、SUSE_15_2_Snapshot.qcow2)を削除して、<br>
再度、ベースイメージの別のスナップショットイメージを作成して、新しいQCow2ファイルの使用する。<br>
<br>
<br>
==== バッキングファイルの変更 ====
==== 一時的なスナップショット ====
ベースイメージ(この例では、SUSE_15_2.qcow2)に変更を加えると、スナップショットが破損する。<br>
QEMUは一時的なスナップショットもサポートしており、ユーザは個別のQCOW2形式のファイルを明示的に作成する必要はない。<br>
元のイメージを実行および変更する前に、必ずスナップショットを削除する。<br>
以下のコマンドを使用して、バッキングファイルを確認する。<br>
qemu-img SUSE_15_2_Snapshot.qcow2
<br>
<br>
==== 一時的なスナップショット ====
<code>-snapshot</code>オプションを使用すると、実行中に仮想マシンに加えられた変更は、<br>
QEMUは一時的なスナップショットもサポートしており、ユーザは個別のQCow2ファイルを明示的に作成する必要はない。<br>
全て一時ファイルに書き込まれて、仮想マシンがオフになると自動的に破棄される。<br>
<code>-snapshot</code>フラグを使用すると、実行中に仮想マシンに加えられた変更は、全て一時ファイルに書き込まれ、<br>
この時、仮想マシンのファイルへの変更は保存されない。<br>
仮想マシンがオフになると自動的に破棄される。<br>
  qemu -hda <仮想マシンのファイル名>.qcow2 -snapshot
この時、元のQCow2ファイルへの変更は保存されない。<br>
  qemu -hda SUSE_15_2.qcow2 -snapshot
<br><br>
<br><br>


案内メニュー