エンジョイAsobi

スマホとWindowsとLinuxを遊ぶ。

Ubuntu Windows

Windows 8.1上でHyper-Vを試す ~ネットワークがつながらない~

投稿日:2014年2月17日 更新日:

前回、Hyper-V上の仮想マシンにUbuntuをインストールしたところまで書きました。

インストールが完了して、さっそく仮想マシンにSSHからログインしてあれこれ設定しようとしました。しかし、

SSHが接続できない…。

あれ?と思って仮想マシン接続から入ってルーターへpingを打ってみたけど通じず。ホストマシンへも通じず。
ifconfig見るとDHCPのアドレスはとれているので、少なくとも起動直後にDHCP DiscoverとOfferは通ったはずよね。pingが通らないのはなぜ?と。
ホストマシンのネットワーク設定を見てもおかしいところはなく、ひとしきり悩んでしまいました。

25eth0_trouble
でdmesgを確認してみたら、あれ?カーネルのダンプが記録されている。NETDEV WATCHDOG?Ubuntu側の問題ぽい。ということで今度はUbuntu側の設定を確認してみたけれどやっぱりおかしなところは見つからず。

ここに至ってやっとGoogle先生に訊いてみたら、見つけましたよ。Hyper-V上でLinux動かすときは比較的メジャーな問題?

Ubuntuのirqbalanceサービスを止めればよいらしい。

仮想マシン接続からログインして/etc/default/irqbalanceを編集しました。

#Configuration for the irqbalance daemon 
#Should irqbalance be enabled? 
ENABLED="1" 
#Balance the IRQs only once? 
ONESHOT="0"

このうち、ENABLED="1" を ENABLED="0"に書き換えてから reboot。

再起動が終わるとネットワークが使えるようになっていました。

irqbalanceはSMPシステムで割り込み処理を複数のCPUに振り分けるサービスです。仮想マシンの構成にレガシーネットワークアダプターを選択するとtulipというデバイスのドライバーが組み込まれるのですが、このtulipドライバーとirqbalanceサービスの相性が悪いらしい。

つまり仮想マシンに複数の仮想プロセッサを割り当てなければこんなことにはならなかったわけですが、そこは譲れないしね。

あとレガシーネットワークアダプターを選んだのも敗因と言えば敗因ですね。

いや!負けじゃない。Hyper-Vがおかしい。

VMWareでもVirtualboxでも、仮想ハードウェアが古すぎてハマったことなんて無かったよ。

まあともあれ、無事SSH接続できるようになったので、あれこれ設定を完了させました。

-Ubuntu, Windows

関連記事

Windows 8.1上でHyper-Vを試す ~Ubuntuの仮想マシンを作る(1)~

Linuxのカーネルソースをあれこれいじるにあたって、実験用のLinux環境が欲しくなり、新たにUbuntuの仮想マシンを作ることにしました。 で仮想化ソフトに何使うか考えたのですが、自宅ではWind …

OOM Killerの発動を検知したい

今回はプログラムの話。タイトル通り、LinuxのOOM Killerが発動したことを検知したいという話です。組み込みでLinuxを使っていると、OOM Killerが動き出すこと自体異常事態なので、検 …

Windows 8.1上でHyper-Vを試す ~Ubuntuの仮想マシンを作る(2)~

前回、空の仮想マシンを作るところまで書きました。 (なんか長かった…)。 続いてUbuntuを仮想マシンにインストールします。 Ubuntuのインストールを開始するには、まずHyper-Vマネージャー …

Ubuntuのカーネル再構築

実験用に作ったUbuntu13.10の仮想マシン上で、Linuxカーネルの再構築を試しました。 まずカーネルのビルド環境を構築。 元がサーバー版Ubuntuだったので、ビルド環境なんてほぼ何も入ってお …

Hyper-V 対 VMware Player対決

先日、バーチャルマシン上でプログラムをビルドすると時間がかかってしようがない。ビルドするならやっぱネイティブマシンだよね、と話している人がいました。 その人が使っているのはホスト型の仮想化だったのです …