しばらく前にXenをインストールしましたが、まだハイパーバイザーで起動していませんでした。さて私は昨日やった、そしてすべての地獄は解き放たれた。 Xenが原因で、サーバーのインターネット接続が完全に失われました。
サーバーを起動し、eth0
がbr0
の内部にない場合、Xenはサーバーの名前をpeth0
(物理的なeth0
)に変更して仮想化しようとします。 veth0
(仮想eth0
)を作成し、少なくとも Xenドキュメント に従って、名前をeth0
に変更します。
問題は、それがeth0
を表示せず、インターネット接続がまったくないままになっていることです。サーバーにeth1
があり、そのインターフェースを仮想化したいと思います代わりにeth0
。これを行うために、eth1
をbr0
内に配置しました。br0
はvirbr0
に仮想化されています。 Xenによるeth0
の仮想化を停止し、代わりにbr0/eth1
を使用するにはどうすればよいですか?
これが私がsystemctl -o cat status network.service
から得たものです:
Bringing up lookback interface: [ OK ]
Bringing up interface eth0: Error: either "dev" is a duplicate, or "virbr0" is a garbage.
ERROR : [/etc/sysconfig/network-scripts/ifup-eth] Failed to bring up peth0 virbr0.
[FAILED]
Bringing up interface eth1: [ OK ]
Bringing up interface br0: [ OK ]
2行目のその文法が大好きです(これは間隔まで逐語的です)。
virbr0はlibvirtによって直接処理されます。これは、 このメッセージ への応答のいずれかから/etc/libvirt/qemu/networks
から構成されていることがわかります。
これを修正するために、私はこれらを変更しました:
(network-script 'network-bridge bridge=virbr0')
(vif-script vif-bridge)
これらに:
(network-script 'network-bridge bridge=virbr0 netdev=eth1')
(vif-script vif-nat)
/etc/xen/xend-config.sxp
をそのままにして、eth0
の名前をeth1
に変更するだけの、peth1
では、veth1/eth1
内にあるため、br0
は表示されないと思います。次に、ifcfg-em1/ifcfg-em2
の名前をifcfg-eth0/ifcfg-eth1
に変更し、次のように変更しました。
IPADDR0=xxx.xxx.xxx.xxx
PREFIX0=xx
GATEWAY0=xxx.xxx.xxx.xxx
DNS1=xxx.xxx.xxx.xxx
に:
IPADDR=xxx.xxx.xxx.xxx
PREFIX=xx
GATEWAY=xxx.xxx.xxx.xxx
DNS=xxx.xxx.xxx.xxx
これにより、インターネットとローカルホストが返されました。
この経験の最も良い部分が何であったか知っていますか? NetworkManagerを永続的に無効のままにしておくことができます。
答えはあなたが提供したリンクに含まれています: ブリッジネットワークの設定 。
XEN 4.1より前は、ネットワークブリッジングを設定するXENの役割がありました。
その後、対応するブリッジをOS手段でセットアップする必要があります。
ただし、XEN-Startup中にブリッジが定義されていない場合は、デフォルトのブリッジが作成されます(以前の動作と比較して)。
Default-scriptsではカバーできない非常に複雑なボンディング/ VLANの組み合わせがあるため、これをXEN-controlの外に置くのには十分な理由があります。また、ネットワークスタックはOSごとに異なります。
SLES10SP4でも同様の問題が発生しました。非常に複雑なネットワーク設定が必要でした。
そこで、/ etc/init.d /に独自のinit-scriptを設定して、ブリッジング/ボンディング/ VLANを設定しました。
SLES11 SP2では、それは簡単なことであり、OSでセットアップすることで可能でした-yast2
-コマンド。
これにより、XENDが開始する前にブリッジが稼働します。
このような何かがあなたのために働くかもしれません:
XENBRIDGE=/etc/xen/scripts/network-bridge
$XENBRIDGE bridge=br0 netdev=eth1 start
FedoraはRHEL6に匹敵するはずです-したがって、おそらく network-setup-document を使用して、代わりにブリッジ構成を通常のnetwork-setupに統合することができます(これはこれを行うためのより良い方法です)。