CentOS6.0をHyper-VServer 2008 R2SP1にインストールしました。 VMは有効な合成ネットワークアダプターのみを備えています。インストールは正常に(ネットワークなしで)完了しました。次に、ISOからLinux Integration Services 3.1をインストールしましたが、すべて正常です。これで、すべてのHyper-Vモジュールがインストールされました(含む) hv_netvsc)、ただしネットワークアダプターが検出されません。
Dmesgの実行| grep ethはメッセージを返します"チェックサム機能がないためNETIF_F_SGを削除します。"インターネットで再調査すると、チェックサムは、CentOSがネットワークアダプターを使用できず、MicrosoftのLIS3によって実装されていない重要な機能のようです。 1モジュール。
CentOSで合成ネットワークアダプターを使用するためにできることはありますか?それとも私は何か間違ったことをしましたが、それはそのまま動作するはずですか?合成アダプターの機能は、ホストマシンで使用されるハードウェアイーサネットカードに依存しますか? CentOSカーネルのバージョンは2.6.32-71.el6.x86_64のようで、ハイパーバイザーはすべての更新がインストールされたR2SP1です。
最初の質問の答えが「いいえ、機能しません」の場合の2番目の質問:エミュレートされた(レガシー)ネットワークドライバーを使用すると、パフォーマンスが大幅に低下しますか?実稼働環境では避けるべきですか?
他の誰かが同じ問題を抱えている場合の解決策は次のとおりです。ファイル/ etc/sysconfig/network-scripts/ifcfg-eth0および/ etc/sysconfig/network/properties/default/ifcfgを追加して、アダプターを手動で構成する必要があります。 -LIS3のインストールが成功した後のeth0。
私のために働いたステップ:
私が最も有用な情報を見つけたソース:
(解決済み)
Hyper-V設定で静的MACアドレスを割り当ててください。 MACはLinux VMと同じである必要があります。 MACアドレスは/etc/sysconfig/network-scripts/ifcfg-eth0
にあります。
「Hyper-v2012のイーサネットポートがeth0ではなくeth1にあるのはなぜですか?」
NICの既存のUDEVルールを削除します。 NICを追加/変更すると、udevルールは新しいデバイスを検出し、それに別のインターフェース名を割り当てます。手順については、 CentOS Linuxのイーサネットインターフェイスの番号をeth0に変更 または CentOS 6にネットワークデバイスを再検出させる を参照してください。
これはどうですか? VMが複製された場合。たとえば、NICがeth0にあったマシンを使用して、イメージを複製し、新しいVM MACアドレスが異なるイメージの場合NICはeth0ではなくeth1になります。
他の仮定? Hyper-V 2012、CentOS6.3 x64、およびMicrosoft Linux Integration Services3.4を使用してこれをテストしました