金曜日, 9月 04, 2009

qemu, kvmでブリッジ接続 (RHEL, CentOS編)

[概要]
KVMやqemuを使用する際に、仮想マシンのネットワーク用のブリッジを作成する方法を説明しています。

[詳細]
Xenではインストール時にブリッジ・ネットワークが作成されますが、KVMやqemuではlibvirtによるNAT接続の仮想ネットワークが作成されるだけです。ホストと同じネットワークに接続する場合にはブリッジを作成しなければなりません。ubuntu, Debianの設定方法については、こちらを参照ください。

では、そのブリッジの作成方法について説明します。


  1. 事前準備
    1. bridge-utilsパッケージのインストール
      ブリッジを作成するためにbridge-utilsパッケージをインストールします。
      bridge-utilsは、ディストリビューションに添付されていますので、媒体からでもネットワークでもインストールが出来ます。
      [root@localhost ~]# rpm -Uvh bridge-utils-1.1-2.i386.rpm
      [root@localhost ~]# yum install bridge-utils
    2. サービスの設定
      ブリッジ接続を使用する場合には、NetworkManagerを使用することが出来ません。NetworkManagerではなく従来のnetworkのサービスを利用してください。

      [root@localhost ~]# chkconfig NetworkManager off
      [root@localhost ~]# chkconfig network on
      [root@localhost ~]# service NetworkManager stop
      [root@localhost ~]# service network start
  2. ネットワーク設定ファイルの編集
    1. ブリッジ用設定ファイルの作成
      ブリッジ用のインタフェースの設定ファイルを"/etc/sysconfig/network-scripts/ifcfg-ブリッジ名"というファイルを作成します。ブリッジ名は任意なものを付けることが出来ます。下記の例ではbr0としています。
      注意:"TYPE=Bridge"は、このまま記述してください。"B"が大文字、"ridge"は小文字。

      サンプル:
      • DHCPの場合
        [root@localhost ~]# vi /etc/sysconfig/network-scripts/ifcfg-br0
        DEVICE=br0
        TYPE=Bridge
        BOOTPROTO=dhcp
        ONBOOT=yes
        DELAY=0
      • 静的なIPアドレスの場合
        [root@localhost ~]# vi /etc/sysconfig/network-scripts/ifcfg-br0
        DEVICE=br0
        TYPE=Bridge
        BOOTPROTO=static
        BROADCAST=192.168.1.255
        IPADDR=192.168.1.3
        NETMASK=255.255.255.0
        NETWORK=192.168.1.0
        DELAY=0
    2. 物理NICの設定ファイルの編集
      ブリッジに対応するために、物理NICの設定ファイルも変更します。
      IPADDRやBOOTPROTOなど、ブリッジの設定ファイルに記載した事項を削除して、BRIDGEという値に作成するブリッジを指定します。
      下の例ではeth0にブリッジbr0を割り当てています。

      [root@localhost ~]# vi /etc/sysconfig/network-scripts/ifcfg-eth0
      DEVICE=eth0
      HWADDR=00:16:76:D6:C9:45
      ONBOOT=yes
      BRIDGE=br0 # ここでブリッジを指定
  3. ネットワークの再起動
    ネットワークの再起動を行います。

    [root@localhost ~]# service network restart
  4. 動作確認
    ifconfigコマンドで正しく動作指定ことを確認します。

    [root@localhost ~]# ifconfig
    br0 Link encap:Ethernet HWaddr 00:30:13:44:21:0C
    inet addr:192.168.1.3 Bcast:192.168.1.255 Mask:255.255.255.0
    inet6 addr: fe80::230:13ff:fe44:210c/64 Scope:Link
    UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
    RX packets:227787918 errors:0 dropped:0 overruns:0 frame:0
    TX packets:480250 errors:0 dropped:0 overruns:0 carrier:0
    collisions:0 txqueuelen:0
    RX bytes:10513213904 (9.7 GiB) TX bytes:53615356 (51.1 MiB)

    eth0 Link encap:Ethernet HWaddr 00:30:13:44:21:0C
    inet6 addr: fe80::230:13ff:fe44:210c/64 Scope:Link
    UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
    RX packets:227788363 errors:0 dropped:0 overruns:0 frame:0
    TX packets:480794 errors:0 dropped:0 overruns:0 carrier:0
    collisions:0 txqueuelen:1000
    RX bytes:13702246848 (12.7 GiB) TX bytes:53691779 (51.2 MiB)
    Memory:deb00000-deb20000
  5. バーチャルマシンへのブリッジの指定
    • virt-manager
      バーチャルマシンの作成時のNetworkで"共有物理装置"にブリッジが表示され、バーチャルマシンをホストと同じネットワークに接続することが出来ます。

以上でブリッジの作成と接続は終了です。

火曜日, 9月 01, 2009

virt-manager 入門 (第4回 仮想ネットワークの追加)

[概要]
virt-manager 0.6.1を利用した仮想ネットワークの管理方法を説明します。

[詳細]
virt-managerでは、仮想ネットワークの作成、削除、起動、停止を行うことが出来ます。
さて、仮想ネットワークの管理は、"ホスト詳細"ウィンドで行います。まずは、"ホスト詳細"ウィンド起動しましょう。
  1. "ホスト詳細"ウィンドの起動
    仮想マシンマネージャーで、変更したいホストを選択します。
    メニューから"編集" → "ホスト詳細"を選択する。もしくは、右クリックした後に"Details"を選択します。


  2. 仮想ネットワークの表示
    "ホスト詳細"の画面で"仮想ネットワーク"のタブを選択して、仮想ネットワークの画面を表示します。
    そして、既存のネットワークをクリックすると、そのネットワークの情報が表示されます。virt-manager (実際はlibvrit)では、defaultという仮想ネットワークがインストール時に作成されいてます。


  3. 仮想ネットワークへの操作
    仮想ネットワークの起動、停止は、仮想ネットワークを選択した後、ウィンドの左下にあるボタンを押すと直ちに実行されます。なお、仮想ネットワークを停止したした場合、ネットワークに接続している仮想マシンは、一度、シャットダウンを行い、停止後、起動を行うというプロセスを経ないとネットワークへの再接続は出来ません。
    削除は、仮想ネットワークを選択した後に、削除ボタンを押すと確認のダイアログがポップアップするので、それに答えると実行されます。
    削除、停止ともに、接続されている仮想マシンがある場合には、十分に注意を払って実行してください。
    作成については、次の章で詳しく説明します。
    なお、仮想ネットワークの設定変更はvirt-managerでは出来ません。変更方法は回を改めて行います。

[仮想ネットワークの作成]
それでは、作成の手順を説明します。

  1. ウィザードの起動
    仮想ネットワークの画面で、"+"ボタンを押します。
    ウィザードが起動し、手順が表示されますので、進むを押してください。


  2. ネットワーク名の入力
    仮想ネットワーク名を入力します。ネットワーク名はホスト上で一意である必要があります。
    なお、ゲートウェイのIPアドレスは、必ずネットワークの先頭のアドレスとなりますので、仮想マシンのIPアドレスには割り当てないよう注意してください。


  3. ネットワークアドレスの指定
    ネットワークアドレスの範囲の指定を行います。


  4. DHCPの設定
    DHCPで配布するIPアドレスの範囲を指定します。
    virt-managerからはIPアドレスの予約が出来ません。予約については別の回に改めて説明します。


  5. ネットワークの種類の選択
    仮想ネットワークをホスト上のみに分離されたネットワークにするか、物理ネットワークにフォワードするかを選択します。
    物理ネットワークにフォワードする場合には、"目的地"となるデバイスを選択してください。なお、"どれかの物理デバイスへのNAT"を選択すると、任意の物理デバイスが選択されます。(経験からすると、ASCIIコード順で選択されるようです。)


  6. 設定内容の確定
    確認画面が表示されますので、誤りがなければ"完了"ボタンを押して、仮想ネットワークを作成してください。


  7. 確認
    正しく作成されると仮想ネットワークの画面に、仮想ネットワークが表示され、仮想NICの作成時にネットワークがリストされるようになります。


これにて、仮想ネットワークの設定は終了します。次回は、virt-managerでのストレージ・プールの作成について説明します。
が、その前に、仮想マシンをホストと同じネットワークに接続すためのブリッジ接続について、番外編として掲載する予定です。