コンテンツにスキップ

VM の操作:コンソール、スナップショット、フルコピー、メモリ、削除

VM の日常的な操作を説明します。コンソールの利用、VM の起動と停止、スナップショットの作成と復元、クローンとコピー、CPU とメモリの変更、VM の削除です。どの作業も、本番データのないテスト用 VM で、XOA-HL アプライアンス に管理者としてログインして練習してください。重要な VM を変更する前に、独立したバックアップと、試した復元があることを確認します。

対象: イメージ xoa-image-20261022-a280852、パッケージ v5.113.2_e281c536-ce40(Xen Orchestra 5.113.2)。公開済みのコードに基づく手順で、検証環境でのテストはまだです。今後のバージョンでは異なる場合があります。

VM のコンソールを使う

コンソールは、VM の画面をブラウザーに表示します。VM の 操作 権限が必要です。Viewer の権限だけでは使えません。コンソールにゲストの IP アドレスは不要ですが、ブラウザーからアプライアンスへ、アプライアンスからホストへ接続できる必要があります。テスト用 VM のネットワークの隔離は、そのままにしておきます。

  1. VM の コンソール タブ(/#/vms/<id>/console)を開きます。正しい VM で、状態が Running であることを確認します。一時停止やサスペンドを含め、それ以外の状態では Console is only available for running VMs. と表示されます。VM は計画した電源操作で起動します。コンソールを出すためだけに強制再起動しないでください。
  2. ログイン画面、インストーラー、既知のアプリケーションなど、想定した画面を待ちます。ここで入力する認証情報はゲストのもので、XOA-HL やホストのものではありません。
  3. ポインターをコンソールの領域に入れると、キーボードとマウスがゲストに送られます。外に出すと元に戻り、XO のショートカットも使えるようになります。入力を試すには、テスト用ゲストのテキストエディターで console-test などの無害な文字列を入力し、削除します。シェルのコマンドやパスワード欄では試さないでください。画面が見えるだけでは、入力が届くとは限りません。
  4. 大きな画面では、表示倍率は 100% から始まります。変わるのはブラウザー内の表示で、ゲストの解像度ではありません。小さな画面では表示されないことがあります。Hide infos と Show infos は XO のヘッダーの表示を切り替えるだけで、ゲストを停止したり全画面にしたりするものではありません。
  5. 終わったらタブを離れます。コンソールの接続は閉じますが、ゲストは停止しません。接続中に VM が再起動した場合は、タブを開き直して新しい画面を表示します。XO は再起動後の切断に気付かないことがあり、自動の再接続が続いていてもゲストが正常とは限りません。

確認: 正しい実行中のゲストが表示され、テストの入力が届き、ポインターを外すと XO の操作に戻れ、VM は想定どおりの状態のままです。

クリップボードとリモートクライアントのボタン

  • クリップボードのテキスト欄の内容は、少し待つとゲストのクリップボードに送られます。コピー は、欄の文字列を自分のコンピューターのクリップボードにコピーします。複数行のボタンは クリップボードに送信 を開きます。無害な文字列で試し、ゲスト内での貼り付けは別に確認してください。欄やスクリーンショットに、パスワードや個人情報を入れないでください。
  • SSH、SSH as…、RDP は、ゲストが報告する IP アドレスを使って、自分のコンピューターの ssh:// または rdp:// のハンドラーを開きます。IP アドレスが報告されるとボタンが表示されます。ただし、クライアントがインストールされていること、ゲストでサービスが動いていること、ネットワークで許可されていることまでは分かりません。これらのボタンはコンソールの修復や代わりにはなりません。
  • Ctrl+Alt+Del は確認の後、このキーの組み合わせをゲストに送ります。ゲストによっては再起動することがあります。このテストでは取り消してください。接続のテストには使いません。ISO の選択欄は、ゲストにマウントするメディアを変更します。変更する前に最初の VM を作成するを参照してください。

コンソールが真っ暗、または応答しない場合

  1. VM が実行中でない、またはコンソールが無効。 まず状態とメッセージを読みます。disable_pv_vnc=1 が設定された実行中の VM では、画面の代わりに このVMのコンソールを無効化します と表示されます。これは状態を示すメッセージで、有効にするボタンではありません。VM を変更する前に、この設定の担当者に確認してください。ツールのインストールや再起動では、コンソールは有効になりません。
  2. 接続が開かない、または切断を繰り返す。 アカウントに VM の操作権限があるか、ホストへの接続が正常かを確認します。ブラウザーの開発者ツールで、/api/consoles/<id> で終わる WebSocket のリクエストを探し、エラーや状態を控えます。アプライアンスの前にリバースプロキシがある場合は、通常のページ要求だけでなく WebSocket のアップグレードを通す必要があります。ブラウザーからアプライアンスへの接続(TLS を含む)と、アプライアンスからホストへの接続は分けて確認します。ゲストの IP アドレス、SSH サーバー、ファイアウォールは、コンソールの経路ではありません。問題は、その経路の担当者と一緒に直します。一時しのぎに VNC のポートを公開したり、証明書の検証を無効にしたりしないでください。
  3. 接続はするが、画面が真っ暗、または固まっている。 正しい VM を開いているか、本来何が表示されるはずか、最近の電源操作を確認します。再起動の後はタブを開き直します。画面が真っ暗な原因はゲスト側のことも接続側のこともあるため、ゲストに合わせた対処を試す前に、見えている状態を記録します。画面が黒いというだけで、再起動を繰り返したり、再インストールや起動メディアの変更をしたりしないでください。
  4. 画面は映るが、入力やクリップボードが使えない。 ポインターを一度外に出してから戻し、エディターでのテストを繰り返します。ブラウザーや OS がキーを横取りしていないか、ゲストがそのクリップボード操作に対応しているかを確認します。SSH や RDP の問題は別に扱います。問題の報告には、ブラウザーとバージョン、VM とホストの ID、時刻、電源状態、正確なメッセージ、接続エラーを、個人情報を除いて書きます。ブラウザーの生のトレースは公開しないでください。Cookie、トークン、クリップボードの文字列、ゲストの画面には機密情報が含まれることがあります。

VM の起動、停止、再起動

VM を開きます(/#/vms/<id>/general)。停止中なら 仮想マシンの起動 を選び、状態とコンソールでゲストが起動するのを待ちます。実行中なら、仮想マシンの終了 や 仮想マシンのリブート は、まずゲストに正常なシャットダウンや再起動を要求します。

ゲストが応答できない場合や操作がブロックされている場合、XO は操作を強制する、またはブロックを回避する 2 回目の確認を表示することがあります。続ける前にメッセージを読んでください。強制的なシャットダウンや再起動では、ゲスト内のデータが失われることがあります。できるだけゲストの中からシャットダウンします。タスクの実行中に何度もクリックしないでください。完了したら、VM の状態とコンソールを確認します。成功のメッセージが出ても、アプリケーションが正常とは限りません。

ツールの不足を調べたり電源操作を強制したりする前に、ゲストツールの状態を確認してください。

スナップショット、クローン、コピー、バックアップの違い

方法得られるものと限界
スナップショットある時点の VM。ディスクと同じ場所に保存されます。独立したバックアップではありません
高速クローン元の VM とストレージを共有する別の VM。そのストレージが失われると守れません
フルコピー選んだ SR にディスクをコピーした別の VM。使う前に、データ、置き場所、隔離を確認します
バックアップ別に保存する復旧用のコピー。隔離した復元で確かめます

VM が変化するにつれて、スナップショットとクローンが使うストレージは増えます。SR の空き容量を確認し、はっきり特定したテスト用のオブジェクトだけを削除してください。実行中の VM のスナップショットは、アプリケーションの整合性が保証されません。

停止中の VM のスナップショットを作成する

通常のディスクを持ち(共有ディスクやパススルーデバイスはなし)、コンソールが使えるテスト用 VM を使います。バックアップとレプリケーションのスケジュールを止め、実行中のタスクが終わるまで待ちます。必要なデータは、独立した復旧用のコピーを残します。実行中の VM のスナップショット、メモリを含むスナップショット、アプリケーションの整合性は扱いません。

  1. ゲストで snapshot-A と書いた無害なファイルを作り、チェックサムを控えます。ゲストを正常にシャットダウンし、VM が Halted であることを確認します。
  2. VM の UUID、各ディスク(VDI)の ID・SR・サイズ、既存のスナップショットの UUID、SR の空き容量を控えます。次に、テスト用 VM のネットワークインターフェース(VIF)をすべて削除し、一覧が空であることを確認します。以降はコンソールを使います。
  3. 各ディスクの名前を確認します。名前に [NOSNAP] を含むディスクは、スナップショットから外されることがあります。これはディスク名の一部で、VM のタグではありません。外されたディスク、共有ディスク、パススルーデバイスには別の手順が必要です。既存のルールを回避するためにディスク名を変えないでください。スナップショット、その後の書き込み、復元前に作られる追加のスナップショットのための容量を確保します。
  4. スナップショット(/#/vms/<id>/snapshots)を開き、New snapshot を 1 回だけ選びます。名前を聞かれずに、すぐにスナップショットが作成されます。初期名は VM 名と日時です。New snapshot with memory は使いません。
  5. 待ってから一覧を更新します。Creation date で新しい行を見つけ、行のコピーボタンで UUID をコピーします。この UUID を控えます。名前や時刻だけでは足りません。
  6. 名前を lab-snapshot-A に、説明を短いテスト用のメモに変更します。この版の画面では、説明の列の見出しも Name と表示されるため、列の位置で区別してください。更新して、両方の値を確認します。スナップショットのディスクと SR をメモと比べ、エラーと空き容量を確認します。スナップショットのディスク ID は新しくなるため、ID ではなく、対象のディスクとサイズを比べます。

確認: 特定したスナップショットが 1 つあり、対象のディスクを含んでいます。元の VM は停止中で、VIF はありません。

作成や名前の変更に失敗した場合は、再試行の前に、エラーと実際の VM、スナップショット、ディスクの一覧を保存します。ID や通知がなくても、何も作られていないとは限りません。名前の変更に失敗しても、スナップショットは取り消されません。

スナップショットに戻す

スナップショットに戻すと、VM の現在の状態が置き換わります。古いネットワークインターフェースが戻る設定も含まれます。スナップショット後の変更は失われることがあります。戻すのは、隔離したこのテスト用 VM だけにし、停止したまま操作して、起動前に VIF をもう一度確認します。同じ SR 上のスナップショットでは、その SR が失われたときに守れません。
  1. 隔離したテスト用 VM を起動し、ファイルの内容を snapshot-B に変えて、新しいチェックサムを控えます。正常にシャットダウンし、Halted であることを確認します。現在のディスク、VIF、スナップショットを控えます。
  2. これから使うスナップショットが、前のセクションの lab-snapshot-A であることを UUID で確認します。バックアップジョブが作ったスナップショットや、別の VM のスナップショットであってはいけません。
  3. スナップショット で、その行の Revert VM to this snapshot を選び、Revert your VM の確認画面を読みます。Snapshot before はオンのままにし、先に空き容量を確認します。初期状態でオンのこの項目は、戻す前に現在の状態を別のスナップショットとして保存します。独立したバックアップではなく、元に戻せることも保証しません。VM、隔離、空き容量に不安があれば取り消します。
  4. 1 回だけ確定して待ちます。更新して、戻したスナップショットの UUID、新しい「戻す前」のスナップショットの UUID、電源状態、ディスク、VIF、エラーを控えます。「戻す前」のスナップショットが失敗すると、XO は戻す操作を要求しません。その後で戻す操作が失敗すると、「戻す前」のスナップショットが残ることがあります。再試行の前に実際の状態を確認し、原因の分からないエラーを避けるために Snapshot before をオフにしないでください。
  5. VM を起動する前に、Halted であり、VIF の一覧が空であることを確認します。VIF が戻っていた場合は、停止したまま削除します。実行中に作ったスナップショットに戻すと、VM が自動で起動または再開することがあります。このようなスナップショットは扱いません。
  6. VM を起動してコンソールを開きます。ファイルが snapshot-A で元のチェックサムと一致すること、ディスクとアプリケーションが動くことを確認します。VM をシャットダウンし、結果を控えます。追加された「戻す前」のスナップショットには snapshot-B の状態が入っています。その状態に戻すのは、別に管理して行う復元です。取り消しボタンではありません。

テスト用のスナップショットを削除する

結果を控え、必要な独立した復旧用コピーを残したら、VM は停止したままにします。削除するのは、UUID と所有者を控えたテスト用のスナップショットだけです。

  1. スナップショット で、その行の Remove this snapshot を選びます。Delete snapshot の確認を読み、1 つだけ確定します。Remove selected snapshots は使わず、バックアップジョブが作ったスナップショットは削除しないでください。VM の Remove と混同しないでください。
  2. 待ってから、スナップショット、VM のディスク、SR の空き容量を更新します。スナップショットが消え、残すスナップショットと VM がそのままで、エラーがないことを確認します。

ディスクの後片付けでエラーが記録されても、削除全体は失敗にならないことがあります。行が消えたり成功のメッセージが出たりしても、後片付けが終わった、またはすぐに容量が空いたとは限りません。残った ID を控え、説明のつかない残りを報告してください。孤立して見えるディスクをまとめて削除しないでください。削除したスナップショットは元に戻せません。

隔離した高速クローンを作る

  1. 停止中のテスト用 VM で Fast clone を選びます。新しい VM(初期名の末尾は _clone)を探し、ID を控えて名前を変更します。
  2. 継承したネットワークインターフェースをすべて削除するか、XO の外で確認済みの隔離を用意するまで、クローンは停止したままにします。MAC アドレスが新しくなっても、コピーされた IP アドレス、認証情報、アプリケーションの識別情報は変わりません。
  3. クローンを起動し、コンソールを確認します。重複した識別情報を解消し、隔離を確認してから、ネットワークに接続します。

エラーの後でクローンが見つからない場合は、再試行の前にインベントリとタスクを確認します。ここでは、ライブマイグレーション、メモリを含むスナップショット、SR が失われた後の復旧は扱いません。

同じプール内でフルコピーを作る

選んだ SR にディスクの通常のコピーを作るときは、別にある Fast clone ではなく 仮想マシンの複製 を使います。コピーの画面にも Fast clone がありますが、ここでは Full copy を選んだままにします。高速クローンも、同じプール内のフルコピーも、独立したバックアップや試した災害復旧にはなりません。

  1. 通常のディスクを持つテスト用 VM を 1 台使います。共有ディスクやパススルーデバイスは使いません。ゲストで無害なファイルとチェックサムを控えます。ゲストを正常にシャットダウンし、Halted を確認します。VM の ID、各ディスクの ID・SR・サイズ、VIF、スナップショットを控えます。スナップショットの履歴はこのテストに含みません。
  2. 同じプールにある、別の書き込み可能な VM ディスク用 SR を選びます。ID、空き容量、コピーを実行するホストから使えることを確認します。ISO ライブラリは使えません。コピーと今後の増加に必要な容量を確保します。画面は容量を予約も確認もしません。コピー先の SR が使えない場合は、始める前にストレージへのアクセスを直します。
  3. 元の VM で 仮想マシンの複製 を選びます。Copy VM で、Name に lab-vm-full-copy などの一意のテスト名を入力します。初期値は {name}_COPY で、空欄にすると元の名前のままになります。Full copy が選ばれていることを確認します。
  4. Select SR で、似た名前ではなく、控えた ID とプールで SR を選びます。一覧に他のプールが表示されることがあります。それを選ぶとエクスポートとインポートの処理になり、このテストでは扱いません。圧縮 は Disabled のままにします。同じプール内のコピーは圧縮されません。
  5. 1 回だけ確定し、タスクを待ちます。更新して、新しい VM を独自の ID と指定した名前で探します。Halted であること、ディスクの数、サイズ、新しい ID、各ディスクの SR を確認します。元の VM とディスクが変わっていないことも確認します。新しい VM が実行中だったり、何かが違ったりした場合は、作業を止めて隔離を回復してから進めます。
  6. 新しい VM を停止したまま、継承した VIF をすべて削除し、初回の起動前に一覧が空であることを確認します。新しい MAC アドレスに頼らないでください。ゲストの IP アドレス、認証情報、アプリケーションの識別情報はコピーされています。
  7. 隔離したコピーだけを起動し、コンソールを開いて、ファイルのチェックサム、ディスク、アプリケーションを確認します。ネットワークに接続する前に重複した識別情報を解消し、確認の間、元の VM は隔離するか停止しておきます。
  8. コピーをシャットダウンします。結果を控え、テスト用 VM を削除するに従って、コピーとそのディスクだけを削除します。元の VM と独立したバックアップは残します。

エラー、接続の切断、中断されたリクエストがあった場合は、再試行の前に、タスク、エラー、両方の VM・ディスク・スナップショットの一覧を保存します。途中で止まったコピーは自動では取り消されず、VM の ID が返らなくても何も作られていないとは限りません。容量とホストから SR へのアクセスを確認し、正確な ID を照合して、説明のつかない残りを報告します。むやみに再試行したり、孤立して見えるディスクをまとめて削除したりしないでください。

ここで扱わないもの:実行中やサスペンド中の VM のコピー、別のプールへのコピー、テンプレートのコピー、共有ディスクやパススルーディスク、スナップショットの履歴、SR が失われた後の復旧。

CPU とメモリを変更する

メンテナンスの時間を確保し、コンソールを開けるテスト用のゲストを使います。変更する前に、VM の ID、ゲストの状態、現在の CPU とメモリの値と上限・下限を控えます。ホストとプールの容量、ゲストの要件を確認してください。このガイドでは、CPU 数やメモリ容量の推奨値は示しません。

先にゲストを正常にシャットダウンし、Halted であることを確認します。実行中の VM を編集して、値をその場で変えられない場合、XO は再起動や強制再起動を提案することがあります。ここでは取り消し、先にシャットダウンしてください。上限を上げてもホストのリソースは予約されません。メモリを減らすと、ゲストが起動しなくなることがあります。
  1. 詳細設定(/#/vms/<id>/advanced)を開き、CPU limits と Memory limits (min/max) を控えます。CPU の行には現在値と最大値が表示されます。最大値は VM が停止しているときに変更できます。今の最大値より多くの CPU を使うには、先に最大値を上げます。
  2. 一般(/#/vms/<id>/general)を開きます。CPU 数をクリックし、新しい整数を入力して Enter を押します。待ってから更新し、値を確認してから次の変更を行います。これらの欄は、別の場所をクリックしたときにも保存されることがあります。別の場所をクリックしても、安全に取り消せるとは限りません。
  3. メモリの値をクリックし、新しい量と単位を設定して Enter を押します。この値は設定された 動的最大値 で、ゲストが使っているメモリではありません。既存の上限・下限によって、XO は固定のメモリ設定か、動的メモリの上限・下限を更新します。
  4. 一般 と 詳細設定 を更新し、変更後のすべての値を控えます。CPU 数は最大値を超えてはいけません。メモリの上限・下限は、静的最小値 ≤ 動的最小値 ≤ 動的最大値 ≤ 静的最大値 の順を保つ必要があります。XO は関連する値も調整することがあるため、クリックした項目だけが変わったと思い込まないでください。
  5. テスト用 VM を起動し、コンソール、ゲスト内で見える CPU とメモリ、アプリケーションを確認します。起動しない場合や値が違う場合は、停止したままにしてタスクのエラーを保存し、同じ作業時間内に控えた設定に戻します。すべての値をもう一度確認し、原因が分かってから再試行します。

編集でエラーが出た場合は、再試行の前に実際の値を確認します。関連する変更は「すべて成功か、何も変わらないか」の 1 回の処理ではありません。拒否されても、元の値に戻ったとは限りません。トラブルシューティングと控えたメモを手元に置いてください。

ここで扱わないもの:実行中のリソース変更(ホットプラグ)、負荷時の動的メモリ、CPU トポロジーの調整。

テスト用 VM を削除する

Remove は VM を削除します。ディスクの切断や取り外しとは違います。このバージョンの確認画面には、ディスクを残す選択肢がありません。削除すると VM のスナップショットも消え、接続されたディスクの削除も試みられます。データやスナップショットを残す必要がある場合は、確定する前に止めて、残す方法を計画してください。この VM のスナップショットは、独立した復旧用のコピーではありません。
  1. 対象がテスト用 VM であることを確認します。アプライアンス、元のゲスト、テンプレート、似た名前の別の VM ではないことを確かめます。ID、接続されたディスクの ID と SR、スナップショットを控えます。
  2. バックアップとレプリケーションのスケジュール、他の VM がそのディスクを使っていないかを確認します。重要なデータがある場合は、先に独立したバックアップを取り、隔離した復元を試してください。
  3. ゲストを正常にシャットダウンし、Halted であることを確認します。削除の処理は、実行中やサスペンド中の VM を強制的に止めることがあります。Remove をシャットダウンの代わりに使わないでください。
  4. 詳細設定 を開き、Remove を選びます。VM とディスクに関する警告を読み、この VM だけを確定します。続いて、保護またはブロックされた VM をそれでも削除するか確認された場合は、取り消して、保護されている理由を調べます。強制的な再試行は承認しないでください。
  5. 待ってから、VM、スナップショット、SR のディスクの一覧を更新します。控えた ID と、タスクとそのエラーを確認します。別の VM にまだ接続されている共有ディスクは削除されませんが、それですべてのディスクが守られるわけではありません。スナップショットやディスクの後片付けのエラーが記録されても、削除全体は失敗にならないことがあります。VM が消えたり成功のメッセージが出たりしても、後片付けが終わったとは限りません。
  6. 元の VM、他のゲスト、独立したバックアップが引き続き使えることを確認します。残ったテスト用のオブジェクトは、メモとディスクのガイドを使って 1 つずつ確認します。孤立して見えるディスクをまとめて削除したり、容量を空けるために強制操作を繰り返したりしないでください。取り消しはできません。削除したゲストのデータは、別に試した復旧用のコピーからしか戻せません。

削除が途中で失敗した場合や、ブロックされた削除を取り消した場合は、残った VM、ディスク、スナップショットの一覧とエラーを保存します。VM が残っている場合は、権限、IP プールの予約、リソースセットの所属も確認します。XO は VM の保護を確認する前に一部の管理処理を始めるため、拒否されてもこれらの記録が変わっていないとは限りません。似た名前で VM を作り直しても、同じオブジェクトにはなりません。それ以上片付ける前に、バージョンと ID(個人情報を除く)を添えて問題を報告してください。

出典