エンジョイAsobi

スマホとWindowsとLinuxを遊ぶ。

Ubuntu Windows

Hyper-V 上の Ubuntu で非レガシーなネットワークアダプターを使えた

投稿日:2014年3月19日 更新日:

以前 Hyper-V上にUbuntuの仮想マシンを作りましたが、ネットワークアダプターにはレガシーネットワークアダプターを選択しました。Ubuntuがレガシーでない方のドライバーを持っているのか確証が無かったため。 でも本来は、レガシーでない方のネットワークアダプターの方がパフォーマンスは高いんですよね。以前から使えないのか気になっていたので試してみました。 まずレガシーな方を残したまま、レガシーでない方を追加してみます。 1add 2add2 追加したら、仮想マシンを起動します。起動してから確認してみると、
~>$ ifconfig -a
eth0      Link encap:Ethernet  HWaddr 00:15:5d:01:c8:00
          inet addr:192.168.1.27  Bcast:192.168.1.255  Mask:255.255.255.0
          inet6 addr: fe80::215:5dff:fe01:c800/64 Scope:Link
          inet6 addr: 2001:a4c8:ad0c:0:215:5dff:fe01:c800/64 Scope:Global
          inet6 addr: 2001:a4c8:ad0c:0:24bd:9253:b6dd:c49e/64 Scope:Global
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:472 errors:0 dropped:0 overruns:0 frame:0
          TX packets:102 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:33354 (33.3 KB)  TX bytes:10557 (10.5 KB)

eth1      Link encap:Ethernet  HWaddr 00:15:5d:01:c8:01
          BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

あっさりethネットワークデバイスが二つに。普通に認識された…。

では一旦仮想マシンを落としてからレガシーアダプターを削除。

3delete

仮想マシンを起動してみると、

~>$ ifconfig -a
eth0      Link encap:Ethernet  HWaddr 00:15:5d:01:c8:01
          inet addr:192.168.1.27  Bcast:192.168.1.255  Mask:255.255.255.0
          inet6 addr: fe80::215:5dff:fe01:c801/64 Scope:Link
          inet6 addr: 2001:a4c8:ad0c:0:215:5dff:fe01:c801/64 Scope:Global
          inet6 addr: 2001:a4c8:ad0c:0:10d3:2a42:5386:7f0d/64 Scope:Global
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:62 errors:0 dropped:0 overruns:0 frame:0
          TX packets:74 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:7773 (7.7 KB)  TX bytes:7991 (7.9 KB)

lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

簡単に使えました。最初からレガシーを使う必要無かった…。

ドライバーは何て名前かな。

~>$ lsmod
Module                  Size  Used by
crct10dif_pclmul       14289  0
crc32_pclmul           13113  0
ghash_clmulni_intel    13259  0
cryptd                 20359  1 ghash_clmulni_intel
joydev                 17377  0
psmouse                97655  0
hid_generic            12548  0
mac_hid                13205  0
hid_hyperv             13059  0
i2c_piix4              22106  0
lp                     17759  0
serio_raw              13413  0
hid                   101762  2 hid_hyperv,hid_generic
parport                42299  1 lp
hyperv_fb              17522  1
microcode              23656  0
hv_netvsc              31253  0
hv_utils               18200  0
hv_storvsc             21881  2
floppy                 69370  0
hv_vmbus               48205  5 hv_netvsc,hid_hyperv,hv_utils,hyperv_fb,hv_storvsc

それっぽいのは hv_netvsc。Hyper-V仮想マシン用のドライバーは、”hv_”というプレフィックスがつくらしい。

さて、めでたく tulipを外せました。ここで忘れてはいけないのが、以前 tulipドライバーのせいで停止せざるを得なかった irqbalanceサービスのこと。

もう再稼働させてもいいはずですよね。

/etc/default/irqbalance ファイルの ENABLED=”0″ を ENABLED=”1″に書き換えてから reboot。

~>$ ps ax | grep irqbalance
 1079 ?        Ss     0:00 /usr/sbin/irqbalance
 1242 pts/2    S+     0:00 grep --color=auto irqbalance

はい。これ sshから入って実行しました。ちゃんとネットワークが使えましたよ。

ということで、無用のトラブルを避けようとレガシーネットワークアダプターを選んだけどそんな必要は無かった、しかも無用な地雷を踏んでしまったという話。

-Ubuntu, Windows

関連記事

Hyper-Vの動的メモリは本当に動的だった!?

前回、無用なトラブルを避けるつもりで無難な選択をした結果、却ってロクでもない目に遭ったようだという話を書きました。 Hyper-V + Ubuntuなんてメジャーな組み合わせでは、そんなこと気にせずと …

Hyper-VでUbuntu 14.04を試す(2)

前回の続きです。 作成した仮想マシンにUbuntu 14.04のサーバー版をインストールするところまで。スクリーンショットでどうぞ。 なぜかこのときキーボードの自動検出に失敗したんですよね…。 しよう …

カーネルモジュールのビルド

前回、OOM Killerの発動を検知するテスト用のカーネルモジュールをビルドしたと書きました。前回は長くなるのを避けてビルド手順を端折ったので、改めて記録しておきます。ここを見ながらビルドしました。 …

限定版が復活してた。ASUS TransBook T100TA

今回は私が愛用している10.1インチWindowsタブレットの使用感です。 いわゆる”2 in 1”で、キーボードを脱着することによりノートPCとしてもタブレットPCとしても使えてとても重宝してます。 …

Hyper-VでUbuntu 14.04を試す(3)

前回、仮想マシンにUbuntu 14.04をインストールしました。 続いて環境整備。 まずはIPアドレスをDHCPから固定アドレスに変更。うちの宅内LANではSSHしたりリモートデスクトップしたりする …