山ブログ

山間部

KVM上のインスタンスでNICが100Base-Tだった話

KVM上のインスタンスのNICが100Base-Tだった。ファストイーサネット!!!

$ ethtool eth0
Settings for eth0:
        ...
        Supported link modes:   10baseT/Half 10baseT/Full
                                100baseT/Half 100baseT/Full


どこかに設定があるのかなーと思って探したが見つからない。twitterで呟いた所、神が現れて道を指し示して下さった。



とりあえずvirsh editしてinterfaceの設定にドライバの指定を追加して、rebootした。

...
<interface type='bridge'>
  <mac address='aa:aa:aa:aa:aa:aa'/>
  <model type='e1000'/>
  <source bridge='br100'/>
  ...
</interface>
...

再びethtoolで見てみるが、変更されていない。どうやらvirsh rebootではドライバの変更は行われず、virsh shutdownしてからvirsh startしないと反映されないようだった。とにかく、これでNICが1000BaseTで動作するようになった。
原因は、KVMのデフォルトのドライバであるRealtek 8139がFast EthernetのNICで、特に指定しないとこれが使われてしまうからという事らしい (このへん)。ひどい凡ミスっぽい…。
iperfで見てみるとちゃんと1000BaseTで動作している事が確認できる。virtioでも大丈夫だった。

# rtl8139
$ iperf -c xxx.xxx.xxx.xxx -p 12345 -t 30
[ ID] Interval       Transfer     Bandwidth
[  3]  0.0-30.0 sec   969 MBytes   271 Mbits/sec

# e1000
$ iperf -c xxx.xxx.xxx.xxx -p 12345 -t 30
[ ID] Interval       Transfer     Bandwidth
[  3]  0.0-30.0 sec  2.96 GBytes   847 Mbits/sec

# virtio
$ iperf -c xxx.xxx.xxx.xxx -p 12345 -t 30
[ ID] Interval       Transfer     Bandwidth
[  3]  0.0-30.0 sec  3.28 GBytes   940 Mbits/sec

ちなみにOpenStackの場合は、nova.confに以下のように書いておくとデフォルトでvirtioが使われる。

libvirt_use_virtio_for_bridges = true

iperfを使ったKVMのNICドライバのパフォーマンス比較はここにも情報がある。virtio速い。

百年の孤独 (Obra de Garc〓a M〓rquez (1967))

百年の孤独 (Obra de Garc〓a M〓rquez (1967))

年始に友人に借りた百年の孤独をようやく読み終わった。読んでいる間ずっと夢を見ているような感じがして、すごく良かった。

MacRubyで起動しているアプリケーションを落としてもう一回起動させる。

NSWorkspaceのlaunchApplicationはlocalizedでないアプリケーションの名前を入れなければいけないのに、何故かNSRunningApplicationからはlocalizedNameしか取得する事ができない。仕方が無いのでここを参考にURLを取って来てパスの最後を見てアプリケーションの名前を引っ張っている。

日記

中学校か、高校のようなところにいた。学校の教室の1つにデータセンターのようになっている一室があって、サーバーラックが並んでいた。ラックにサーバをマウントしていると、教室の脇にある蛇口から水が出てきて床を水浸しにしたので、あわてて雑巾のようなものでふいていた。
気がつくとほとんど喋らない無口な女の子と2人で行動していて、学校の中を逃げ回っていた。学校から出ようとすると、軍隊のような集団が校内に入ってこようとしていたので学校の中に逃げた。プーチンのような顔をした男がその女の子にゆっくりと近づいてきて、柔道技のような要領で腕を一回転させたが、何も起こらない。男は首をかしげて、はて、普通の人なら腕が折れているはずだが、と言った。そのまま男がゆっくり近づいてきたので廊下を走って逃げる。男は誰かを殺そうと思う、といった意味の事をぼそぼそと呟いてから、非常にゆっくりとした動作で教室にいる人に向かって指で銃弾を弾いた。銃弾はゆっくりと飛んでくる間にまっぷたつに割れ、割れた銃弾は緩慢な動作で教室にいる人に向かって飛んで行った。これはいけないと思い、銃弾を手でつかみ、人と反対の方向に向かって投げた。銃弾は手に当たると手にめり込んでくるので、手が傷つかないよう注意して方向を逸らさなければいけない。銃弾は男に操作されているようで、方向を戻そうとしていたが、人には当たらなかった。男が銃弾を弾いて自分がそれを逸らす、といった動作を4,5回繰り返してから、銃弾をどこかに閉じ込めてしまえばいいという事に気がついた。教室のドアで銃弾が戻って来れないように銃弾の方向を逸らして教室に入れ、ドアを閉めると、銃弾は廊下側に戻ってこようとしてドアに貼り付いた。男は不思議そうな顔をして自分の方へゆっくりと向かってきた。男がすぐ近くに来たので、銃弾を持って男の額にそっと当てて力を入れた。銃弾はゆっくりと男の頭の中へめり込んでいって見えなくなったので、これでもう終わる、と安心した。