目次
VM ゲスト の起動や停止など、基本的な管理作業は Virtual Machine Manager のようなグラフィカルな アプリケーションから行なうことができるほか、 virsh を利用して コマンドラインが行なうこともできます。 VNC を介したグラフィカルコンソールへの 接続は、お使いのマシンでグラフィカルユーザインターフェイスを利用している場合に のみ可能です。
VM ゲスト の一覧を表示するには、まず VM ホストサーバ に接続する必要があります。 VM ホストサーバ 自身で管理ツールを起動している場合は、既に接続が完了しています。 リモートから操作している場合は、 6.3項 「VM ホストサーバ への接続」 にある手順をお読みください。
Virtual Machine Manager のメインウインドウには、接続中の VM ホストサーバ で定義されているすべての VM ゲスト が表示されています。それぞれの VM ゲスト にはマシンの名前のほか、 その状態 (
, , または ) がアイコンとテキストの両方で表示され、 CPU の使用率の表示バーが併記されます。
VM ゲスト の一覧を表示するには、 virsh list
コマンドを実行します:
localhost
上で動作しているゲストの一覧
virsh -c qemu:///system list
virsh -c qemu+tls://wilber@mercury.example.com/system list --all
virsh -c qemu+ssh://tux@mercury.example.com/system list --inactive
VM ゲスト のグラフィカルコンソールを開くことで、実際のマシンと同様に VNC 経由で マシンに接続することができるようになります。認証が必要な VNC サーバにアクセス している場合は、ユーザ名 (設定されていれば) とパスワードをそれぞれ尋ねられます。
なお、 VNC コンソールのウインドウ内でマウスのボタンを押すと、マウスカーソルは 「捕獲された」 状態になり、コンソールの外側には移動できなくなります。 捕獲された状態を解除するには、 Alt+Ctrl を押してください。
シームレスなカーソルの移動について | |
---|---|
カーソルがキャプチャ (捕捉) されてしまうことを防ぎ、かつゲストとホストの 間でシームレスにカーソルを移動できるようにするには、 VM ゲスト にタブレット 入力デバイスを追加します。詳しくは 8.1項 「シームレスなカーソル移動とカーソル移動の同期」 をお読みください。 |
また、 Ctrl+Alt+Del などの特定のキー入力については ホストシステム側で解釈され、 VM ゲスト 側に渡すことはできません。
VM ゲスト に対してこのようなキー入力を渡したい場合は、 VNC ウインドウから virt-viewer を使用した場合にのみ利用できます。
メニューを開き、送信したいキー入力を選択して ください。 のメニューは、 Virtual Machine Manager と対応する VNC ビューア | |
---|---|
一般的にはすべての VNC ビューアが VM ゲスト に接続できますが、 SASL 認証や
TLS/SSL での接続を行なっている場合には選択肢が限られたものになります。
一般的な VNC ビューアとしては |
Virtual Machine Manager 内で VM ゲスト の項目を選択し、マウスの右ボタンを押します。
ポップアップメニューから
を選択します。virt-viewer はシンプルな VNC ビューアで、 VM ゲスト の コンソールを表示するための追加機能が備わっています。たとえば本ソフトウエア では 「待機」 モードに対応していて、 VNC に接続する前に VM ゲスト が起動するのを待つことができます。また、 VM ゲスト が再起動した ような場合でも、自動的に再接続する機能が備わっています。
virt-viewer は VM ゲスト を名前で指定できるほか、 ID や
UUID でも指定することができます。 virsh list --all
と入力することで一覧を表示できます。
起動中や一時停止中のゲストに接続する場合は ID, UUID, 名前のいずれかを指定して 接続することができます。一方、シャットダウンされている VM ゲスト には ID が 付与されていないため、 UUID または名前で接続します。
virt-viewer -c qemu:///system 8
virt-viewer -c qemu:///system --wait sles11
--wait
オプションを指定すると、 VM ゲスト がその時点で
動作していなくても、その接続を行なうことができるようなるまで待機します。
ゲストが起動すると、ビューアが起動します。
virt-viewer -c qemu+ssh://tux@mercury.example.com/system -w sles11
詳しくは virt-viewer --help
で表示されるヘルプか、もしくは man 1 virt-viewer
で表示されるマニュアルページをお読みください。
VM ゲスト の起動/停止/一時停止は、 Virtual Machine Manager または virsh から行なうことができます。また、 VM ホストサーバ の起動時に自動的に VM ゲスト を起動 するように設定することもできます。
VM ゲスト をシャットダウンする場合、シャットダウン作業をグレースフル (graceful, "上品な" という意味) モードまたは強制モードで行なうことができます。 強制モードは通常のマシンで言うところの電源プラグを引き抜く行為と同じ意味で、他の シャットダウン方法が存在しない場合にのみ行なうべきものです。また、強制シャット ダウンはファイルシステムの破壊をもたらす場合があるほか、 VM ゲスト 上のデータを 失う可能性もあります。
グレースフル (graceful) シャットダウン | |||
---|---|---|---|
グレースフルシャットダウンを実現できるようにするためには、 VM ゲスト 側を ACPI に対応させなければなりません。 vm-install や Virtual Machine Manager でゲストを 作成した場合には、 ACPI が利用できるようになっているはずです。 ACPI に対応できて いるかどうか、 Virtual Machine Manager から確認するには下記の手順を実施します: まずは Virtual Machine Manager 内で確認を行ないたい VM ゲスト の項目を選び、ダブルクリックします。 あとはメニューから + を選択し、 + を選択します。表示された画面で、 がチェックされていれば対応済みです。ゲスト側のオペレーティングシステムにもよりますが、 ACPI を有効にするだけでは 足りない場合があります。そのため、本番運用をはじめる前に、ゲスト側のシャット ダウンと再起動がそれぞれ正しく動作するかどうか、事前に確かめておくことを強く お勧めします。たとえば openSUSE や SUSE Linux Enterprise Desktop の場合は、シャットダウンや 再起動を行なうのに PolKit 認証が必要になる場合がありますが、このポリシーが 全ての VM ゲスト で無効化されていることをご確認ください。 また、 Windows XP/Server 2003 のゲストをインストールする際に ACPI が有効化されて いる場合、 VM ゲスト の設定だけの有効化では不十分です。詳しくは下記の記事を お読みください:
グレースフルシャットダウンは、 VM ゲスト の設定だけでなく、もちろんゲスト側の オペレーティングシステムで有効化されていなければなりません。 |
VM ゲスト の状態変更は、 Virtual Machine Manager のメインウインドウから行なうことができるほか、 VNC ウインドウからも変更することができます。
手順5.1 Virtual Machine Manager ウインドウからの状態変更
VM ゲスト の項目を選び、マウスの右ボタンを押します。
表示されたポップアップウインドウから、
, または 内にあるいずれかの項目を 選択します。手順5.2 VNC ウインドウからの状態変更
5.2.1項 「Virtual Machine Manager を利用したグラフィカルコンソールの表示」 に書かれた手順に従い、 VNC ウインドウを開きます。
ツールバー、もしくは
のメニューから、 , または 内にあるいずれかの項目を選択します。VM ホストサーバ の起動時にゲスト側を自動的に起動するようにする設定は、既定では 有効になっていません。また、この機能はそれぞれの VM ゲスト で個別に有効化する 必要があります。一括で有効化する方法はありません。
Virtual Machine Manager 内から設定したい VM ゲスト を選択し、ダブルクリックしてコンソールを 開きます。
+ を選択し、 VM ゲスト の設定ウインドウを開きます。
を選択し、 にチェックを 入れます。
あとは
を押せば、設定を保存することができます。下記の例では、 「sles11」 という名前の VM ゲスト の状態を 変更しています。
virsh -c qemu:///system start sles11
virsh -c qemu:///system suspend sles11
virsh -c qemu:///system reboot sles11
virsh -c qemu:///system shutdown sles11
virsh -c qemu:///system destroy sles11
virsh -c qemu:///system autostart sles11
virsh -c qemu:///system autostart --disable sles11
VM ゲスト を保存すると、ゲスト内のメモリ内にある情報を全て保存することができます。 実際のコンピュータに置き換えると、コンピュータの ハイバネーション と似たようなことを行なうことになります。保存された VM ゲスト は、その保存された 状態に素早く復元することができます。
いったん保存作業を行なうと VM ゲスト は一時停止状態になり、メモリ上に保持されて いた情報をディスクに書き込んでから停止状態に移行します。この操作では VM ゲスト の仮想ディスクのコピーは作成されません。また、仮想マシンを保存するのにかかる 時間は割り当てたメモリ量に依存して決まります。なお、 VM ゲスト の保存が完了する と、 VM ゲスト が確保していたメモリは VM ホストサーバ 側に返却されます。
一方、復元操作はメモリ状態を保存していたファイルを VM ゲスト に読み込んで起動する 動作を行ないます。ゲストは起動処理を行なうことはなく、保存された状態に戻ることに なります。実際のコンピュータに置き換えると、ハイバネーションからの復元処理と似た ようなことを行なうことになります。
VM ゲスト は、そのメモリ状態をファイルに保存するため、保存先のパーティションに 十分な領域が存在することをご確認ください。ゲスト側で下記のコマンドを実行すると、 どれだけの領域が必要になるのかを概算で見積もることができます:
free -m | awk '/^Mem:/ {print $3}'
保存処理が完了したあとは、保存した VM ゲスト を起動したり開始したりしては なりません。これを行なってしまうと、マシンの仮想ディスクと保存されたメモリ状態の 同期が取れなくなってしまい、ゲストの復元時に致命的なエラーが発生する結果に なります。 |
起動中の VM ゲスト の保存は、 virsh
save
を実行することで行ないます。
このとき、保存先のファイル名を指定します。
virsh save opensuse11 /virtual/saves/opensuse11.vmsav
virsh save 37 /virtual/saves/opensuse11.vmsave
復元を行なうには、 virsh restore
を実行します:
virsh restore /virtual/saves/opensuse11.vmsave
VM ゲスト を削除すると、既定では XML 設定ファイルを削除します。接続されていた ストレージは既定では削除されないため、他の VM ゲスト を設定してそこから使用する ことができます。 Virtual Machine Manager を利用している場合は、ゲスト側のストレージファイルも 削除するようにすることができます。これにより、ゲストに対する全ての資材を削除する ことができます。
VM ゲスト を削除するには、まずシャットダウンを行ないます (手順については 5.3項 「VM ゲスト の状態変更: 起動, 停止, 一時停止」 をお読みください) 。 実行中のゲストを削除することはできません。
Virtual Machine Manager 内から、削除したい VM ゲスト の項目を選んでマウスの右ボタンを押します。
表示されたポップアップメニューから、
を選択します。確認ウインドウが表示されますので、さらに
を押すと VM ゲスト を恒久的に削除することができます。削除処理は取り消すことができない のでご注意ください。なお、ゲストの仮想ディスクについても同時に削除する場合は、
にチェックを入れます。 この削除作業についても、取り消すことはできないのでご注意ください。
virsh を利用して VM ゲスト を削除するには、
virsh undefine
VM 名
を実行します。ゲスト側の仮想ディスクを自動的に削除する機能は用意されていません。