3
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

「俺の仮想マシンルーターがこんなに速いはずはないわ」と思って作った件

Last updated at Posted at 2020-11-25

概要

この記事は @tnishinaga さんの「俺の仮想マシンルーターがこんなに遅いはずはない/ KernelVM online 1」のタイトルを若干パクってオマージュしたものになります。
「とりあえずそれなりに妥協して動けばいいや」という具合なのでセキュリティとかいろいろ考慮してないのでご了承ください。
あ、2020年の自分の誕生日ネタです。言わなくてもわかると思いますがw

~~(始めに言っておく)~~まとめ

いくら VirtIO を有効にしていてもオーバーヘッドとか VM に載せる OS が違ったりすると速度が上がるわけじゃないかもしれないよ
VirtIO を有効にしたらゲスト OS の設定をちょっと確認してごらん。世界がちょっと変わるかもしれないよ?

きっかけ

以前書いた願望」より

そろそろ仮想化に意欲的になったり「IPv6 IPoE」に興味を持ったりしますが、ハードの予算は取れないしガラケーの需要も減りつつあるし周りも「は? 新しいハード? インフラ? インターネットなんてできりゃいいじゃん、そんなのに金使うくらいなら(ry」という感じでかなり消極的だったりですがいつかは新鯖投入して「今使っている PC ルーターの仮想化」に挑戦したいですね(いつとは

買いました

ヤフオクと某なんちゃら給付金を用いて買いました。

  • NEC Express5800/S70 タイプRB(@ヤフオク)
    • CPU: Xeon X3430
    • メモリ: 9[GB]
    • GPU: Quadro FX570
    • HDD: 320[GB]
  • Gigabit LAN カード,Broadcom BCM5751純正ボード1 x2(@amazon.co.jp)

トータルで3万円ぐらいですが、12年前に組んだ Cerelon PC ルーターより安くてグレードが高k(ry

セットアップ

  • みんな大好き CentOS 7 x86_64 を Express5800 に
    • VM のホストにグローバルな IPv6 のアドレスを付けてなにかやることがないのでローカルホスト以外つけていません。
  • VM のゲストにルーターをポンと構築
    • 「まぁ多少のオーバーヘッドはしょうがないかー」精神で
    • 「フレッツ光ネクスト ギガラインタイプ」相当の線にしたのでどうせなら「フレッツ光ネクスト ハイスピードタイプ」の上限 200[Mbps]以上が出ればほぼ十分
  • とりあえず PPPoE のやりとり用に FreeBSD、IPoE のやりとり用に Debian
    • 両方 FreeBSD が良かったのですが早く IPoE の線でいろいろ遊びたくてファイアウォールのルールがネットで転がっている Linux に
    • 最後のまとめの方にも書いていますが最終的に FreeBSD だけ VirtIO を無効にして e1000e にしています
  • ブリッジは OpenvSwitch
    • macvtap でも良かったのですが「OpenvSwitch にフレッツ直結してみた」という一例が見当たらなかったし面白そうだったので OpenvSwitch にしたのもひとつあります

ネットワーク構成 / 計測条件

network.png

計測サイトは以下を使用しました。

計測結果

iperf3.png
SPEEDTEST by RBB.png
FreeBSD の VM で VirtIO を有効にして PPPoE で外とのやりとりをしたらダウンの速度は出るけどアップの速度が出ないという結果に。それ以外はまぁまぁなところなのかなと
ただ、たまたま FreeBSD で ookla のスピードテストを走らせるとアップの速度が出るようなのでファイアウォール(の PF)あたりがなにか悪さしてるのではないかといらぬ推測をしてみたり・・・
何はともあれとりあえず VirtIO ではなく e1000e にしてお茶を濁すことにして、v4 over v6 のルーターを作ればいいかということにしました。v4 PPPoE でもまぁまぁ使えてますしw解決編をアップしました。@ 2021/02/22

まとめ

いくら VirtIO を有効にしていてもオーバーヘッドとか VM に載せる OS が違ったりすると速度が上がるわけじゃないかもしれないよ
VirtIO を有効にしたらゲスト OS の設定をちょっと確認してごらん。世界がちょっと変わるかもしれないよ?

おまけ

VPS とかパブリッククラウドなサービスを使ってるわけではないの Public な iperf のサーバーを探して使いましたが日本国内には正直見つからなったのでどなたかやらないですかね?(SoftEther さんや JANOG で見かけた i-measure な皆さんを遠目で見ながら

  1. 追加で HDD を投入した関係で Intel NIC だと若干お高くなったので妥協しました。「蟹は嫌だ…蟹は嫌だ嫌だ…!」「BroadCom!!」

3
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?