土曜日, 8月 29, 2009

virt-manager 入門 (第3回 仮想ハードウェアの追加)

[概要]
仮想化環境の管理ユーティリティvirt-manager 0.6.1のコンソールについて説明をしています。
RHEL6, CentOS6, ubuntu 10.10, 11.04で使用されているvirt-manager 0.8.xについては、こちらをご覧ください。

[詳細]
前回、virt-managerの"仮想マシンマネージャー"画面について説明しました。今回は、コンソールについて説明します。



[メニュー]
  1. ファイル
    1. 表示マネージャー
      "仮想マシンマネージャー"画面を表示します。
    2. 閉じる
      コンソール画面を閉じます。
      他に画面が開いている場合はvirt-manager自体は終了しません。
    3. 終了
      すべての画面を閉じてvirt-managerを終了します。
      ただし、管理しているホスト、仮想マシンは動作続けます。
  2. 仮想マシン
    1. Run
      仮想マシンを起動もしくは停止状態から復帰します。
    2. Pause
      仮想マシンを一時停止します。
    3. Shut Down
      仮想マシンのシャットダウン/リブートを実行します。次の3つの動作から選択してください。
      • 再起動
      • Shut Down
      • Force Off (強制OFF)
    4. 保存
      動作中の仮想マシンのイメージを保存(スナップショットを取得)します。
    5. Migrate
      選択してる仮想マシンを指定したホストに移動します。
      (ただし、仮想マシンが移動できるための設定がなされている必要があります。)


    6. スクリーンショットの取得
      コンソールのスクリーンショットを取得します。スクリーンショットは、PNG形式で保存されます。

  3. 表示
    1. Fullscreen
      コンソール画面の全画面表示を行います。
    2. Scale Display
      コンソールの解像度にあわせてのウィンド・サイズを変更します。
    3. シリアルコンソール
      シリアルコンソールに接続します。
    4. ツールバー
      コンソール画面にツールバーを表示します。

  4. Send Key
    ALT+CTRL+DELなど特殊キーのキー入力を仮想マシンに送信します。

[ツールバー]
  1. 実行
    仮想マシンを起動もしくは停止状態から復帰します。
  2. 一時停止
    仮想マシンを一時停止します。
  3. Shut Down
    仮想マシンのシャットダウン/リブートを実行します。次の3つの動作から選択してください。
    • Reboot
    • Shut Down
    • Force Off (強制OFF)
  4. フルスクリーン
    コンソール画面の全画面表示を行います。
[コンソール] 仮想マシンのコンソールが表示されます。 ポインターを開放する(マウスやキーボードのフォーカスを仮想マシンから外すため)には、Ctrl+Altを押します。 [概要] 仮想マシンの情報が表示されます。
  1. 名前
    仮想マシン名が表示されます。
  2. UUID
    仮想マシンのUUIDが表示されます。
  3. 状態
    仮想マシンの動作状況が表示されます。
  4. CPU使用量
    CPU使用量の履歴がグラフ表示されます。
  5. メモリの使用量
    メモリ使用量の履歴がグラフ表示されます。
  6. Disk I/O
    ディスクI/Oの履歴がグラフ表示されます。
  7. Network I/O
    ネットワークI/Oの履歴がグラフ表示されます。
  8. パフォーマンスのグラフについては、仮想マシンマネージャーで、データを取得するように設定する必要があります。
[ハードウェア] 仮想マシンを構成しているハードウェアの情報表示、設定の変更を行います。
  1. Processor
    仮想CPUについて、現在の数および変更を行えます。
    なお、"最大割り当て"の数までCPUを指定できますが、パフォーマンスの観点から"ホストマシン上のCPU合計"の数以下にしてください。また、OS稼動中の変更は出来ません。

  2. Memory
    仮想マシンのメモリの状態の表示および設定を行います。
    "割り当て変更"には、仮想マシン起動時に確保するメモリを指定します。ただし、ハイパーバイザーによってはサポートしていない場合があります。KVM/Qemuは未サポート、Xenはサポート。
    "最大割り当て"は最大で確保される容量(ゲストOSから認識されるメモリ容量)を設定します。

  3. Boot Options
    仮想マシンのブート時のオプションの設定を行います。


    1. Auto start
      ホスト起動時に仮想マシンを自動起動する場合にはチェックします。
    2. 起動デバイス
      OSを起動する仮想デバイスを選択します。デバイスは次の種類の中から選択することが出来ます。

      • ハードディスク
      • CDROM
      • フロッピーディスク
      • ネットワーク (PXE)

      もちろん、仮想デバイスが作成されていないとリストされません。
  4. Disk
    仮想ディスクの情報を表示します。
    仮想ディスクがcdromの場合は、デバイスまたISOイメージの接続/切断が可能です。

  5. NIC
    仮想ネットワークカードの情報を表示します。
    1. ソースタイプ
      接続しているネットワークのタイプが表示されます。
      タイプは次の2つ。仮想ネットワーク(network)ブリッジ接続(bridge)
    2. ソース装置
      接続しているネットワーク名、デバイス名が表示されます。
    3. ソースモデル
      エミュレートしているネットワークカードが表示されます。
    4. MACアドレス
      MACアドレスが表示されます。

  6. マウス
    マウスのデバイス情報が表示されます。


  7. 表示(ディスプレイ)
    仮想ディスプレイの情報を表示します。
    1. タイプ
      仮想ディスプレイのタイプが表示されます。
      タイプは"VNC サーバー"と"ローカル SDL ウィンド"とがあります。
      • "VNC サーバー"はコンソールを表示するプロトコルにVNCを使用しています。
      • "ローカル SDL ウィンド"は、ホストのX window上にコンソールが表示されます。
        つまり、virt-managerのコンソール・タブにはコンソール画面が表示されません。また、このウィンドウを閉じると仮想マシンも終了します。このように、管理がvirt-managerから外れてしまうことと誤って仮想マシンを強制終了してしまうリスクがあるのでお勧めしません。
        なお、Xenは"ローカル SDL ウィンド"をサポートしていません。仮想マシンの起動時にエラーになります。
    これ以降のプロパティは、VNCサーバのときのみに有効です。
    1. アドレス
      VNCサーバに接続を許可するNICのIPアドレスが表示されます。
      "127.0.0.1"の場合はローカルのみからの接続となり、"0.0.0.0"の場合はすべてのNICからの接続を許可します。それ以外の場合には、表示されているIPアドレスをもつNICからのみの接続になり、リモートからVNC Viewerなどのクライアントを利用して接続可能です。なお、"127.0.0.1"と"0.0.0.0"以外の場合は、virt-managerのコンソール・タブにコンソール画面は表示されません。
    2. ポート
      VNCが使用しているポート番号が表示されます。
    3. パスワード
      常に"-"です。
    4. キーマップ
      VNCで使用しているキーマップが表示されます。
  8. Sound
    サウンド・カードの情報を表示します。
  9. Serial
    デバイスのタイプ、ポート番号、ソースのパスといったシリアルポートの情報を表示します。

次回は、仮想マシンへのデバイスの追加について説明します。

水曜日, 8月 26, 2009

virt-manager 入門 (第2回 コンソール)

[概要]
仮想化環境の管理ユーティリティvirt-manager 0.6.1のコンソールについて説明をしています。
RHEL6, CentOS6, ubuntu 10.10, 11.04で使用されているvirt-manager 0.8.xについては、こちらをご覧ください。

[詳細]
前回、virt-managerの"仮想マシンマネージャー"画面について説明しました。今回は、コンソールについて説明します。



[メニュー]
  1. ファイル
    1. 表示マネージャー
      "仮想マシンマネージャー"画面を表示します。
    2. 閉じる
      コンソール画面を閉じます。
      他に画面が開いている場合はvirt-manager自体は終了しません。
    3. 終了
      すべての画面を閉じてvirt-managerを終了します。
      ただし、管理しているホスト、仮想マシンは動作続けます。
  2. 仮想マシン
    1. Run
      仮想マシンを起動もしくは停止状態から復帰します。
    2. Pause
      仮想マシンを一時停止します。
    3. Shut Down
      仮想マシンのシャットダウン/リブートを実行します。次の3つの動作から選択してください。
      • 再起動
      • Shut Down
      • Force Off (強制OFF)
    4. 保存
      動作中の仮想マシンのイメージを保存(スナップショットを取得)します。
    5. Migrate
      選択してる仮想マシンを指定したホストに移動します。
      (ただし、仮想マシンが移動できるための設定がなされている必要があります。)


    6. スクリーンショットの取得
      コンソールのスクリーンショットを取得します。スクリーンショットは、PNG形式で保存されます。

  3. 表示
    1. Fullscreen
      コンソール画面の全画面表示を行います。
    2. Scale Display
      コンソールの解像度にあわせてのウィンド・サイズを変更します。
    3. シリアルコンソール
      シリアルコンソールに接続します。
    4. ツールバー
      コンソール画面にツールバーを表示します。

  4. Send Key
    ALT+CTRL+DELなど特殊キーのキー入力を仮想マシンに送信します。

[ツールバー]
  1. 実行
    仮想マシンを起動もしくは停止状態から復帰します。
  2. 一時停止
    仮想マシンを一時停止します。
  3. Shut Down
    仮想マシンのシャットダウン/リブートを実行します。次の3つの動作から選択してください。
    • Reboot
    • Shut Down
    • Force Off (強制OFF)
  4. フルスクリーン
    コンソール画面の全画面表示を行います。
[コンソール] 仮想マシンのコンソールが表示されます。 ポインターを開放する(マウスやキーボードのフォーカスを仮想マシンから外すため)には、Ctrl+Altを押します。 [概要] 仮想マシンの情報が表示されます。
  1. 名前
    仮想マシン名が表示されます。
  2. UUID
    仮想マシンのUUIDが表示されます。
  3. 状態
    仮想マシンの動作状況が表示されます。
  4. CPU使用量
    CPU使用量の履歴がグラフ表示されます。
  5. メモリの使用量
    メモリ使用量の履歴がグラフ表示されます。
  6. Disk I/O
    ディスクI/Oの履歴がグラフ表示されます。
  7. Network I/O
    ネットワークI/Oの履歴がグラフ表示されます。
  8. パフォーマンスのグラフについては、仮想マシンマネージャーで、データを取得するように設定する必要があります。
[ハードウェア] 仮想マシンを構成しているハードウェアの情報表示、設定の変更を行います。
  1. Processor
    仮想CPUについて、現在の数および変更を行えます。
    なお、"最大割り当て"の数までCPUを指定できますが、パフォーマンスの観点から"ホストマシン上のCPU合計"の数以下にしてください。また、OS稼動中の変更は出来ません。

  2. Memory
    仮想マシンのメモリの状態の表示および設定を行います。
    "割り当て変更"には、仮想マシン起動時に確保するメモリを指定します。ただし、ハイパーバイザーによってはサポートしていない場合があります。KVM/Qemuは未サポート、Xenはサポート。
    "最大割り当て"は最大で確保される容量(ゲストOSから認識されるメモリ容量)を設定します。

  3. Boot Options
    仮想マシンのブート時のオプションの設定を行います。


    1. Auto start
      ホスト起動時に仮想マシンを自動起動する場合にはチェックします。
    2. 起動デバイス
      OSを起動する仮想デバイスを選択します。デバイスは次の種類の中から選択することが出来ます。

      • ハードディスク
      • CDROM
      • フロッピーディスク
      • ネットワーク (PXE)

      もちろん、仮想デバイスが作成されていないとリストされません。
  4. Disk
    仮想ディスクの情報を表示します。
    仮想ディスクがcdromの場合は、デバイスまたISOイメージの接続/切断が可能です。

  5. NIC
    仮想ネットワークカードの情報を表示します。
    1. ソースタイプ
      接続しているネットワークのタイプが表示されます。
      タイプは次の2つ。仮想ネットワーク(network)ブリッジ接続(bridge)
    2. ソース装置
      接続しているネットワーク名、デバイス名が表示されます。
    3. ソースモデル
      エミュレートしているネットワークカードが表示されます。
    4. MACアドレス
      MACアドレスが表示されます。

  6. マウス
    マウスのデバイス情報が表示されます。


  7. 表示(ディスプレイ)
    仮想ディスプレイの情報を表示します。
    1. タイプ
      仮想ディスプレイのタイプが表示されます。
      タイプは"VNC サーバー"と"ローカル SDL ウィンド"とがあります。
      • "VNC サーバー"はコンソールを表示するプロトコルにVNCを使用しています。
      • "ローカル SDL ウィンド"は、ホストのX window上にコンソールが表示されます。
        つまり、virt-managerのコンソール・タブにはコンソール画面が表示されません。また、このウィンドウを閉じると仮想マシンも終了します。このように、管理がvirt-managerから外れてしまうことと誤って仮想マシンを強制終了してしまうリスクがあるのでお勧めしません。
        なお、Xenは"ローカル SDL ウィンド"をサポートしていません。仮想マシンの起動時にエラーになります。
    これ以降のプロパティは、VNCサーバのときのみに有効です。
    1. アドレス
      VNCサーバに接続を許可するNICのIPアドレスが表示されます。
      "127.0.0.1"の場合はローカルのみからの接続となり、"0.0.0.0"の場合はすべてのNICからの接続を許可します。それ以外の場合には、表示されているIPアドレスをもつNICからのみの接続になり、リモートからVNC Viewerなどのクライアントを利用して接続可能です。なお、"127.0.0.1"と"0.0.0.0"以外の場合は、virt-managerのコンソール・タブにコンソール画面は表示されません。
    2. ポート
      VNCが使用しているポート番号が表示されます。
    3. パスワード
      常に"-"です。
    4. キーマップ
      VNCで使用しているキーマップが表示されます。
  8. Sound
    サウンド・カードの情報を表示します。
  9. Serial
    デバイスのタイプ、ポート番号、ソースのパスといったシリアルポートの情報を表示します。

次回は、仮想マシンへのデバイスの追加について説明します。

木曜日, 8月 20, 2009

virt-manager 入門 (第1回 仮想マシンマネージャー)

[概要]
仮想化環境の管理ユーティリティvirt-manager 0.6.1について説明をしています。
RHEL6, CentOS6, ubuntu 10.10, 11.04で使用されているvirt-manager 0.8.xについては、こちらをご覧ください。

[詳細]
"Virtual Machine Manager(virt-manager)は、Red Hat社が中心になって開発している複数の仮想化環境をグラフィカルに管理するユーティリティです。virt-managerはlibvirt (virtualization API)を介して、Xen, Qemu, KVMなど異なるハイパーバイザーを一括して管理することが出来ます。

virt-managerを含むVMMのユーティリティは開発途上で、バージョンによって機能やユーザ・インタフェースが大きく変わります。
この連載では、RHEL5.4 Betaに添付されているvirt-manager 0.6.1について説明していきます。
さて、第1回目の今回は"仮想マシンマネージャー"の画面について解説します。


[メニュー]
  1. ファイル
    1. 保存したマシンの復元
      virt-managerで保存した(スナップショットを行った)仮想シンを復元します。
      現在はローカルホスト(localhost)への接続のみで有効です。
    2. 接続を追加
      仮想化環境への接続を追加します。
    3. 閉じる
      "仮想マシンマネージャー"の画面を閉じます。
      他にコンソール画面が開いている場合はvirt-manager自体は終了しません。
    4. 終了
      すべての画面を閉じてvirt-managerを終了します。
      管理しているホスト、仮想マシンは動作続けます。
  2. 編集
    1. ホスト詳細
      選択してるホストもしくは選択している仮想マシンが動作しているホストの詳細情報の表示、仮想ネットワーク、仮想ストレージの管理を行います。
    2. Virtual Machine Details (仮想マシン詳細)
      選択している仮想マシンのコンソールを開きます。
    3. Delete Virtual Machine (仮想マシン削除)
      選択した仮想マシンを削除します。
    4. 設定
      virt-managerがホストから取得する情報の内容やその間隔、コンソールの振る舞いなどについての設定を行います。

  3. 表示
    仮想マシンマネージャーに表示する項目を選択します。表示できる内容を下記の通りです。
    • ドメインID
    • (動作)状態
    • CPUs(CPU数)
    • CPU Usage(CPU使用率)
    • Memory Usage(メモリ使用率)
    • Disk I/0
    • Network I/O

  4. ヘルプ
    virt-managerのバージョンなどの情報を表示します。

[表示] 表示する仮想マシンの絞込みを行います。
  • すべての仮想マシン
  • 動作中の仮想マシン
  • 動作中ではない仮想マシン
[ホスト]
  1. 新規
    新たに仮想マシンを作成します。
  2. 接続
    virt-managerをホストに接続させます。
  3. 切断
    virt-managerからホストを切断します。
  4. Details (詳細)
    選択してるホストもしくは選択している仮想マシンが動作しているホストの詳細情報の表示、仮想ネットワーク、仮想ストレージの管理を行います。メニューにある"編集" → "ホスト詳細"と同じ画面が起動します。
[仮想マシン]
  1. Run
    仮想マシンを起動もしくは停止状態から復帰します。
  2. Pause
    仮想マシンを一時停止します。
  3. Shut Down
    仮想マシンのシャットダウン/リブートを実行します。次の3つの動作から選択してください。
    • Reboot
    • Shut Down
    • Force Off (強制OFF)
  4. Migrate
    選択してる仮想マシンを指定したホストに移動します。
    (ただし、仮想マシンが移動できるための設定がなされている必要があります。)
  5. 開く
    選択している仮想マシンのコンソールを開きます。
[ボタン]
  1. 削除
    仮想化環境への接続を削除します。削除するためには、接続を切断していなければなりません。
  2. 新規
    仮想化環境への接続を追加します。
  3. 開く
    選択している仮想マシンのコンソールを開きます。
以上で、"仮想マシンマネージャー"の画面についての説明は以上です。次回はコンソール画面について説明します。

土曜日, 8月 15, 2009

RHEL 5.4, CentOS5.4 でKVM 入門編 (第2回、バーチャルマシンの作成からゲストOSのインストールまで)

[概要]
KVMでのバーチャルマシンの作成からOSインストールまでの手順を説明しています。
RHEL 6, CentOS6, ubuntu 10.10, 11.04については、こちらをご覧ください。

[詳細]
前回はホストのインストールについて説明しました。引き続き、今回は、バーチャルマシンの作成から、OSのインストールについて説明します。
KVMで仮想化環境を管理する方法、ツールはいくつもありますが、入門編ではディストリビューションに添付されているVirtual Machine Manager(virt-manager, VMM)を使ってバーチャルマシンの作成、管理を行います。
"virt-manager"はRed Hat社が中心になって開発している仮想化環境の管理ツールのひとつで、Xen, Qemu(KVM含む)の複数の仮想化環境を一括して管理することが出来ます。
また、VMMをサポートするユーティリティには、"Virt Install","Virt Clone","Virtual Machine Viewer"などがあります。これらについては、基礎編で扱いたいと思います。

  1. virt-managerの起動
    virt-managerの起動は、ターミナルでvirt-managerと入力するか、メニューバーから"仮想マシンマネージャー"を選択して行います。

  2. virt-managerへのホストの追加
    起動直後のvirt-managerには、1台もホストが登録されいません。そこで自身のサーバをvirt-managerに登録します。
    1. "ファイル" → "接続を追加"を選択します。

    2. "接続を追加"の画面では、ハイパーバイザーに"QEMU"、接続には"ローカル"を接続します。

      "Autoconnect 起動時"は、virt-managerの起動時に自動的に仮想環境に接続するかを否かを選択します。
      特に接続したくない理由がなければ、チェックを入れて自動で接続するようにしましょう。

    3. 接続が作成されると下記のように表示されます。

  3. バーチャルマシンの作成
    よいよバーチャルマシンの作成を行います。作成はウィザードを使って簡単に行うことが出来ます。
    1. ウィザードの起動
      作成した接続を選択し、右クリックで"新規"を選択するか右下にある"新規"のボタンを押すと、ウィザードが起動し手順の説明画面が表示されます。


      説明画面の"進む"を押して、バーチャルマシンの設定を開始します。

    2. バーチャルマシン名の入力
      バーチャルマシン名は、ホスト上で一意である必要がありますが、ゲストOSのマシン名とは必ずしも一致させる必要はありません。

    3. 仮想化方式の決定
      仮想化の方式を決定します。
      RHEL5.4で提供されているKVMの環境では完全仮想化(Fully virtulized)のみ選択出来ます。
      CPUアーキテクチャーは、"x86_64" (64bit), "i686" (32bit)のどちらかを選択します。
      ハイパーバイザーは、"KVM"を選択してください。

    4. インストール方法の選択
      ここでは、インストール元と、OSについての選択を行います。

      "OSタイプ"では次の中から選択します。
      "Linux", "Windows", "Solaris", "UNIX", "Other","Generic"
      UNIXには"Free BSD"と"Open BSD"、Otherには"MS-DOS"と"Netware"が登録されています。
      OSの種別はそれぞれOSタイプについて、バージョンやディストリビューションを選択します。


      インストール元は、下記の3つの中から選びます。
      • ローカルインストールのメディア
        ホストに接続しているCD/DVDドライブ、もしくはOSのISOイメージからインストールするときに選択します。
      • ネットワークのインストールツリー
        ネットワーク上にある展開されたインストールイメージ(インストールツリー)を使ってインストールを行う場合に選択します。ただし、ネットワークインストールに対応したOSである必要があります。なお、ネットワーク・プロトコルは、http/https, ftp, nfsが使用できます。
      • ネットワークブート
        PXE (Preboot eXecution Environment)ブートを利用して、OSのインストールもしくは、バーチャルマシンのディスクレスでの運用を行います。
    5. インストール・メディア/インストール・ソースの指定
      "ローカルインストールのメディア"の場合は、インストール・メディアを、"ネットワークのインストールツリー"の場合は、インストール・ソースを指定します。なお、PXEブートはネットワーク上からブートイメージをダウンロードするので、メディアやソースを指定する項目はありません。
      • ローカルインストールのメディアの場合
        さらに、メディアを下記のどちらかから選択します。

        • ISOイメージ
          OSのインストール媒体のISOイメージのパスを指定します。
        • CD-ROM/DVDデバイス
          CD-ROM/DVDなどの光学デバイスのパス指定を指定します。(e.g. /dev/cdrom, /dev/hdc)


      • ネットワークのインストールツリーの場合
        3つのパラメータを設定する項目があります。それぞれ、次の内容を登録します。


        • インストール メディア URL (必須)
          • NFS
            nfs:サーバ名:インストールツリーのパス
            (ex.) nfs:imgsv/exports/CentOS5.2x64
          • http,https/ftp
            プロトコル:サーバ名//インストールツリーのパス
            (ex.) http://imagesv/exports/CentOS5.2x64, ftp://imagesv/exports/CentOS5.2x64

        • キックスタート URL (オプション)
          RedHat系のインストール自動化機能であるキックスタートを使用してインストールする際には、ここに設定ファイルのURLを指定します。
        • カーネルパラメータ (オプション)
          メモリサイズやインストールモードの指定など、インストーラのカーネルが使用するパラメータを指定します。

    6. ストレージの設定
      バーチャルマシンをインストールする仮想ディスクを指定します。
      ホストマシンのデバイスを直接使用する場合には、"Block Device(partitoin)"を、バーチャル・ディスクを使用する場合には"File (disk image)"を選択します。


      "File (disk image)"を選択した場合には、あわせてバーチャル・ディスクのサイズと、作成するディスクを指定サイズ分を一度に確保するか否かの選択を行います。
      なお、"一度に確保しない"を選ぶと、バーチャルマシン上でディスクが不足したときに、適宜ディスクを確保しますので、ディスクを節約することが出来ます。この機能は一般的にシン・プロビジョニングと呼ばれています。

    7. ネットワークの設定
      使用するネットワークを指定します。VMMではデフォルトで仮想ネットワークを1つ作成します。このネットワークはNATとして機能しています。バーチャルマシンはこのネットワーク経由して外部のネットワークと通信することが出来ます。なお、"仮想ネットワーク"の追加、"共有物理装置"については基礎編で説明しますのでここでは割愛します。"default"の仮想ネットワークを選択してください。


      MACアドレスを手動で設定する場合には"Set fixed MAC address..."をチェックし、MACアドレスを入力してください。


    8. メモリとCPUの設定
      バーチャルマシンのメモリの容量とCPUの数を指定します。
      メモリの容量は、バーチャルマシン起動時に確保する容量と、最大で確保される容量(これはゲストOSから認識されるメモリ容量)を指定する項目がありますが、KVMの場合、起動時から最大容量が確保されます。
      また、CPUの数は最大で16まで指定可能ですが、パフォーマンスの観点から論理ホストのCPUの数を超えない数にすることをお勧めします。



    9. 構成の確認
      設定した構成の確認を行い誤りがなければ"完了"を押してください。バーチャルマシンの作成が開始されます。

  4. コンソールの起動
    バーチャルマシンの作成が終わると、コンソールが自動で起動し、OSインストール画面が表示されます。
    以後は、通常のPCへのOSインストールするときと同じように、作業してください。



    インストール終了後は、このコンソールから通常のPCと同じように利用できます。
  5. virt-manager上での確認
    virt-managerで、作成したバーチャルマシンが動作していることを確認します。
    "localhost"の下にバーチャルマシンが表示されていることを確認します。

以上で、KVMの環境でのバーチャルマシンの作成、OSのインストールの説明は終了です。次回からは、仮想化環境の管理に必要なvirt-managerの詳しい説明に移ります。

月曜日, 8月 10, 2009

RHEL 5.4 でKVM 入門編 (第1回、インストール)

[概要]
Red Hat Enterprise Linux 5.4 Beta版より、添付されたKVMのインストールについて説明しています。
CentOS6, RHEL6の方はこちらを、ubuntuの方はこちらをそれぞれご覧ください。

[詳細]
Red Hat Enterprise Linux 5.4 Beta版より、仮想化環境としてXenに加えて、KVM (Kernel-based Virtual Machine)が実装されました。
KVMはLinux kernelに2.6.20より標準で実装されている仮想化環境で、カーネルのモジュールとして動作します。
また、KVMはハイパーバイザとしてのみ働き、自身ではPCのエミュレートの機能は持っておらず、QEMUというエミュレータがKVMとやり取りを行って、バーチャルマシンを提供しています。KVMの使用については、Intel-VTかAMD-Vを実装したCPU必要です。

KVMはRHEL 5.3以前でもソース・コードのコンパイル、もしくは、ディストリビューション以外で提供されているパッケージをインストールすることで使用することはできましたのですが、Red Hat社がKVMへの主な出資者であるQumranet社がに買収し、KVMをメインの仮想化環境として扱うとしたことで、ディストリビューションに含まれました。

それでは、今回は一足早くRHEL 5.4のβ版を使用して、KVMの設定方法と簡単な操作方法を説明して行きたいと思います。

  1. RHEL 5.4のインストール
    KVMのインストールは、通常のOSのインストールの中で、KVMのパッケージを選択することで行います。
    OSインストールについては、KVMに関するポイントの部分を、中心にそのほかは、かいつまんで説明します。
    1. インストール番号の入力
      インストール番号を入力していないと、KVMのパッケージをインストール時に選択することが出来ません。

    2. パッケージの選択
      ソフトウェア選択のカスタマイズを"今すぐカスタマイズ"を選択して、KVMのパッケージを選択します。

  2. Kernelの切り替え
    インストール直後は下記のようにXenが起動するようになっていますので、KVMのために通常のカーネルに変更する必要があります。

    [root@vm-host03 ~]# uname -a
    Linux vm-host03 2.6.18-155.el5xen #1 SMP Fri Jun 19 17:14:49 EDT 2009 x86_64 x86_64 x86_64 GNU/Linux
    [root@vm-host03 ~]# lsmod | grep kvm
    [root@vm-host03 ~]# xm list
    Name ID Mem(MiB) VCPUs State Time(s)
    Domain-0 0 864 2 r----- 66.4
    [root@vm-host03 ~]#


    kvmを使用するために、"/boot/grub/grub.conf"を編集して、Xen用のカーネルから通常のカーネルに切り替えます。
    "defaul"値を、"0"から"1"に変更します。これで、次回からは通常のカーネルで起動します。

    [root@vm-host03 ~]# vi /boot/grub/grub.conf
    # grub.conf generated by anaconda
    #
    # Note that you do not have to rerun grub after making changes to this file
    # NOTICE: You have a /boot partition. This means that
    # all kernel and initrd paths are relative to /boot/, eg.
    # root (hd0,0)
    # kernel /vmlinuz-version ro root=/dev/VolGroup00/LogVol00
    # initrd /initrd-version.img
    #boot=/dev/sda
    default=1
    timeout=5
    splashimage=(hd0,0)/grub/splash.xpm.gz
    hiddenmenu
    title Red Hat Enterprise Linux Server (2.6.18-155.el5xen)
    root (hd0,0)
    kernel /xen.gz-2.6.18-155.el5
    module /vmlinuz-2.6.18-155.el5xen ro root=/dev/VolGroup00/LogVol00 rhgb quiet
    module /initrd-2.6.18-155.el5xen.img
    title Red Hat Enterprise Linux Server-base (2.6.18-155.el5)
    root (hd0,0)
    kernel /vmlinuz-2.6.18-155.el5 ro root=/dev/VolGroup00/LogVol00 rhgb quiet
    initrd /initrd-2.6.18-155.el5.img
  3. リブート
    変更を反映させるためにOSのリブートを行います。
  4. 動作確認
    念のため、動作カーネル、kvm関連モジュールの動作xenの不活性の確認を行います。

    • 動作しているカーネルのバージョン"2.6.18-155.el5"の末尾にxenの文字列がないことを確認します。

      [root@vm-host03 ~]# uname -a
      Linux vm-host03 2.6.18-155.el5 #1 SMP Fri Jun 19 17:06:31 EDT 2009 x86_64 x86_64 x86_64 GNU/Linux
    • KVM用カーネル・モジュールがロードされていることを確認します。

      [root@vm-host03 ~]# lsmod | grep kvm
      kvm_intel 85992 0
      kvm 222368 2 ksm,kvm_intel

      AMDのCPUでは、"kvm_intel"のかわりに"kvm_amd"がロードされます。

これでKVMを使用する準備が整いました。次回はバーチャルマシンの作成からOSのインストールまでを説明します。

土曜日, 8月 01, 2009

VMware Server 基礎 (第4回、ネットワークの設定 Linuxホスト編)

[概要]
VMware Server Linuxホスト版において、仮想ネットワークの設定について説明しています。

[詳細]
VMware Serverでは、仮想ネットワークの種類が3つあます。Linuxホスト上でのそれらの設定方法について説明します。

  • ブリッジ接続
    バーチャルマシンのネットワークカードを、ホストマシンのネットワーク・カードにバインドすることで、ホストマシンと同じLAN上に仮想マシンがあるように見えます。
  • NAT接続
    仮想ルータを通して、仮想環境の外部ネットワークにアクセスします。
  • host-only接続
    仮想環境の中だけで利用するネットワークを構成します。外部ネットワークに接続することができません。

さて、仮想ネットワークの設定には、"/usr/bin/vmware-config.pl"を使用して、VMware Serverの設定の再構築を行います。
  1. "/usr/bin/vmware-config.pl"をrootで実行し、モジュールの作成、インストールパスの指定を行います。
    なお、デフォルトには前回の値が設定されますので、変更がなければデフォルトで進めてください。

  2. ネットワークの設定をスキップするかどうかの質問に"no"と入力し、ネットワークをバーチャルマシンで使用するに"yes"と入力してください。

    Would you like to skip networking setup and keep your old settings as they are?
    (yes/no) [yes] no

    Do you want networking for your virtual machines? (yes/no/help) [yes]

  3. 仮想ネットワーク変更を行う方法を選択します。今回は詳細な設定を行える"editor"を選択してください。
    Would you prefer to modify your existing networking configuration using the
    wizard or the editor? (wizard/editor/help) [wizard] editor

  4. 現在の仮想ネットワークが表示され、変更実行の再確認に答えます。

    The following virtual networks have been defined:

    . vmnet0 is bridged to eth0
    . vmnet1 is a host-only network on private subnet 192.168.6.0.
    . vmnet8 is a NAT network on private subnet 192.168.123.0.

    Do you wish to make any changes to the current virtual networks settings?
    (yes/no) [no] yes

  5. 変更、追加したい仮想ネットワークの番号を入力します。番号は"vmnet0"の数字の部分になります。
    ネットワークが存在する場合には、変更の確認に答えます。

    Which virtual network do you wish to configure? (0-254) 1

    The network vmnet1 has been reserved for a host-only network. You may change
    it, but it is highly recommended that you use it as a host-only network. Are
    you sure you want to modify it? (yes/no) [no] yes


  6. 仮想ネットワークの詳細設定を行います。
    1. ブリッジ接続
      1. 仮想ネットワークのタイプの選択では、"bridged"と入力します。

        What type of virtual network do you wish to set vmnet0?
        (bridged,hostonly,nat,none) [hostonly] bridged

      2. 仮想ネットワーク名を入力します。これはすべての仮想ネットワークで一意である必要があります。

        Please specify a name for this network.
        [Bridged]

      3. ブリッジするデバイスを入力します。デバイスが空き1つしかない場合は自動的に選択されるので、表示されません。

        Your computer has multiple ethernet network interfaces available: eth0, eth1.
        Which one do you want to bridge to vmnet0? [eth0] eth1

    2. host-only接続
      1. 仮想ネットワークのタイプの選択では、"hostonly"と入力します。

        What type of virtual network do you wish to set vmnet0?
        (bridged,hostonly,nat,none) [bridged] hostonly

      2. 仮想ネットワーク名を入力します。これはすべての仮想ネットワークで一意である必要があります。

        Please specify a name for this network.
        [Hostonly] Hostonly1

      3. 既に仮想ネットワークが構築してある場合には、同じ設定を使用するかどうかを確認されます。変更する場合は"no"を入力します。

        The host-only network is currently configured to use the private subnet
        192.168.210.0/255.255.255.0. Do you want to keep these settings? [yes] no

      4. host-only接続に使用するネットワークアドレスについて、vmware-config.plが空きプライベート・ネットワークを検索して自動的に割り当てるか、手動で割り当てるかを選択します。手動で割り当てる場合は"no"を入力します。自動割当にした場合、開いているネットワークアドレス対して、Class C、つまり24bi(e.g. 192.168.12.0/255.255.255.0)のサブネットマスクが割り当てられます。

        Do you want this program to probe for an unused private subnet? (yes/no/help)
        [yes]

        Probing for an unused private subnet (this can take some time)...

        The subnet 172.16.130.0/255.255.255.0 appears to be unused.

        自動設定の場合は、上記のように取得したネットワークが表示されます。

      5. 手動割当てを選択した場合は、ネットワークアドレスとサブネットマスクを設定します。

        What will be the IP address of your host on the private
        network? 192.168.2.0

        What will be the netmask of your private network? 255.255.255.0

        既存の仮想ネットワーク(変更中の自身のネットワークも含む)のネットワークアドレスが、重なる場合確認画面が表示されます。通常は重なるようなネットワーク設定は行わないと思いますので"no"と答えてください。

        The new private network has collided with existing private networks vmnet2,
        vmnet8. Are you sure you wish to add it? [no]

    3. NAT接続
      1. 仮想ネットワークのタイプの選択では、"nat"と入力します。

        What type of virtual network do you wish to set vmnet0?
        (bridged,hostonly,nat,none) [bridged] nat

      2. 仮想ネットワーク名を入力します。これはすべての仮想ネットワークで一意である必要があります。

        Please specify a name for this network.
        [Hostonly] Nat1

      3. 既に仮想ネットワークが構築してある場合には、同じ設定を使用するかどうかを確認されます。変更する場合は"no"を入力します。

        The NAT network is currently configured to use the private subnet
        192.168.210.0/255.255.255.0. Do you want to keep these settings? [yes] no

      4. NAT接続に使用するネットワークアドレスについて、vmware-config.plが空きプライベート・ネットワークを検索して自動的に割り当てるか、手動で割り当てるかを選択します。手動で割り当てる場合は"no"を入力します。自動割当にした場合、開いているネットワークアドレス対して、Class C、つまり24bi(e.g. 192.168.12.0/255.255.255.0)のサブネットマスクが割り当てられます。

        Do you want this program to probe for an unused private subnet? (yes/no/help)
        [yes]

        Probing for an unused private subnet (this can take some time)...

        The subnet 172.16.130.0/255.255.255.0 appears to be unused.

        自動設定の場合は、上記のように取得したネットワークが表示されます。

      5. 手動割当てを選択した場合は、ネットワークアドレスとサブネットマスクを設定します。

        What will be the IP address of your host on the private
        network? 192.168.2.0

        What will be the netmask of your private network? 255.255.255.0


        既存の仮想ネットワーク(変更中の自身のネットワークも含む)のネットワークアドレスが、重なる場合確認画面が表示されます。通常は重なるようなネットワーク設定は行わないと思いますので"no"と答えてください。

        The new private network has collided with existing private networks vmnet2,
        vmnet8. Are you sure you wish to add it? [no]

    4. 仮想ネットワークの削除
      仮想ネットワークのタイプの選択で、"none"と入力すると指定した仮想ネットワークが削除されます。

      What type of virtual network do you wish to set vmnet3?
      (bridged,hostonly,nat,none) [nat] none

      Removing a NAT network for vmnet3.

  7. 各設定の終了後、現在の設定の一覧が表示され、仮想ネットワークの変更を続けるかどうかに答えます。"yes"で継続。"no"で設定終了です。

    The following virtual networks have been defined:

    . vmnet0 is bridged to eth0
    . vmnet1 is a host-only network on private subnet 120.1.0.0.
    . vmnet2 is a NAT network on private subnet 172.16.109.0.

    Do you wish to make additional changes to the current virtual networks
    settings? (yes/no) [yes] no

  8. 以降は再構築のために、リモート接続のポート番号や管理ユーザの設定を順次行っていきます。これらについても前回の設定がデフォルトになりますので、変更がなければデフォルトで進めてください。

以上でLinuxホストでの仮想ネットワークの設定方法の説明は終わりです。

[仮想ネットワークののDHCPの設定]

さて、host-only接続とNAT接続では、それぞれの仮想ネットワークにDHCPサーバがそれぞれ自動的に設定されます。IPアドレスの配布範囲は自動的に設定されるので、自分で設定したい場合には各ネットワークの設定ファイルを編集する必要があります。ここではその設定方法について説明します。
  1. 設定ファイル(dhcpd.conf)の編集
    DHCPサーバの設定変更を行う場合には、設定ファイルであるdhcpd.confを編集します。
    dhcpd.confは、それぞれ、"/etc/vmware/ネットワーク名/dhcpd/dhcpd.conf"に作成されています。
    (e.g. "/etc/vmware/vmnet1/dhcpd/dhcpd.conf")
    下記の赤字の範囲を修正します。

    allow unknown-clients;
    default-lease-time 1800; # 30 minutes
    max-lease-time 7200; # 2 hours

    subnet 192.168.0.0 netmask 255.255.255.0 {
    range 192.168.0.128 192.168.0.254;
    option broadcast-address 192.168.0.255;
    option domain-name-servers 192.168.0.1;
    option domain-name "localdomain";

    }


    注意:
    • ネットワークアドレスの最初の値(e.g. 192.168.0.1)は、ホスト側のデバイスに割り当てられるので使用できません。
    • NAT接続の場合には、ネットワークアドレスの2番目の値(e.g. 192.168.0.2)は、ゲートウェイに使用されているので使用できません。
    • "vmware-config.pl"を実行すると、dhcpd.confは上書きされるので必ずバックアップを取っておいてください。

  2. 仮想ネットワークの再起動
    "/usr/lib/vmware/net-services.sh"コマンドを使用して、仮想ネットワークの再起動を行います。
    Usage: net-services.sh {start|stop|status|restart} [{|all} []]


    引数の"vHubNr"には、仮想ネットワークのデバイス名の最後の数字を指定します。
    vmnet2を再起動するためには、下記のようにコマンド実行します。

    [root@localhost ~]# /usr/lib/vmware/net-services.sh restart 2
    DHCP server on /dev/vmnet2 [ OK ]
    Host-only networking on /dev/vmnet2 [ OK ]
    Host-only networking on /dev/vmnet2 (background) [ OK ]
    DHCP server on /dev/vmnet2 [ OK ]

次回はWindowsホストの仮想ネットワークの設定方法について、説明します。