Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

第13章 Red Hat Enterprise Linux 5.4 以前の Xen ネットワーキング

この章では、Xen hypervisor を使用したネットワーキングとネットワーク設定の為の 特殊なトピックを扱います。
ほとんどのゲストネットワーク設定はゲストの初期化中とインストールのプロセス中に 発生します。ゲストのインストールプロセス中のネットワーク設定に関する情報を 得るには、インストールプロセスの関連セクション 6章仮想化ゲストインストールの概要 をお読み下さい、
ネットワーク設定は、virsh (22章virsh でゲストを管理) と virt-manager (23章仮想マシンマネージャ(virt-manager) でゲストを管理する) のための ツール特有の参照の章でも取り扱っています。これらの章では、これらのツールを使用した ネットワーキング設定の詳細説明が提供されています。

注記

para-virtualized ネットワークドライバーを使用すると、完全仮想化 Linux ゲストに パフォーマンスの向上を与えます。14章Xen Para-virtualized ドライバー では、utilize para-virtualized ネットワークドライバーの 活用法を説明しています。

13.1. 複数のゲストネットワークブリッジを設定して複数のイーサネットカードを使用

ネットワークブリッジをセットアップするプロセス(Xen hypervisor 使用):
  1. system-config-network アプリケーションを使用して もう1つのネットワークインターフェイスを設定します。別の方法として、/etc/sysconfig/network-scripts/ ディレクトリ内に ifcfg-ethX と言う名の新しい 設定ファイルを作成します。ここで X とは、いずれかの未使用の番号です。 eth1 と言う名の2つめのネットワークインターフェイス用の サンプルの設定ファイルを以下に示します。
    $ cat /etc/sysconfig/network-scripts/ifcfg-eth1
    DEVICE=eth1
    BOOTPROTO=static
    ONBOOT=yes
    USERCTL=no
    IPV6INIT=no
    PEERDNS=yes
    TYPE=Ethernet
    NETMASK=255.255.255.0
    IPADDR=10.1.1.1
    GATEWAY=10.1.1.254
    ARP=yes
    
  2. ファイル /etc/xen/scripts/network-bridge を,/etc/xen/scripts/network-bridge.xen にコピーします。
  3. /etc/xen/xend-config.sxp 内の既存のネットワークスクリプトを コメントアウトして、(network-xen-multi-bridge) と言う行を 追加します。
  4. カスタムスクリプトを作成して複数のネットワークブリッジを作ります。以下に サンプルのスクリプトを示します。このサンプルスクリプトは2つの Xen ネットワーク ブリッジ(xenbr0 と xenbr1)作り、その1つは eth1 に付帯して、もう1つは eth0 に 付帯します。追加のブリッジを作成したい場合は、スクリプト内の例に従って、該当する 行をコピー/ペーストして下さい:
    #!/bin/sh
    # network-xen-multi-bridge
    # Exit if anything goes wrong.
    set -e
    # First arg is the operation.
    OP=$1
    shift
    script=/etc/xen/scripts/network-bridge.xen
    case ${OP} in
    start)
            $script start vifnum=1 bridge=xenbr1 netdev=eth1
            $script start vifnum=0 bridge=xenbr0 netdev=eth0
            ;;
    stop)
            $script stop vifnum=1 bridge=xenbr1 netdev=eth1
            $script stop vifnum=0 bridge=xenbr0 netdev=eth0
            ;;
    status)
            $script status vifnum=1 bridge=xenbr1 netdev=eth1
            $script status vifnum=0 bridge=xenbr0 netdev=eth0
            ;;
    *)
            echo 'Unknown command: ' ${OP}
            echo 'Valid commands are: start, stop, status'
            exit 1
    esac