English中文

機能

SR-IOV ネットワーク

できること

VF はデバイス全体と同じように VM にパススルーされるため、VM は自分のドライバーで NIC と直接やり取りし、ほぼワイヤーレートで通信できます。1 枚の NIC で複数の VM をまかなえます。

  • VM は固定の VF 番号か auto を指定できます。auto なら起動時に空いている VF が選ばれるので、VF の数を変えても VM を編集する必要はありません。
  • VF を作り直しても、MAC アドレスは変わりません。
  • Web インターフェースでは、ネットワークと接続方法(仮想 NIC、VF、ポート全体)を選びます。ネットワークのページで、どの VF がどの VM とネットワークに割り当てられているかを確認できます。
  • NIC がネットワークの VLAN に VF を載せられない場合、VM は起動せず、理由を示します。黙って別の方法で接続されることはありません。

対応 NIC

Intel X710 の VF は、FreeBSD 標準のドライバーで動作します。広く使われている Intel I350 については、FreeBSD にはゲスト側の VF ドライバーしかなく、ホスト側がありません。keelOS は Intel のデータシートから書き起こした約 700 行の独自のホストドライバーを追加しています。新しいカーネルは不要で、起動時に読み込まれます。ポートあたり最大 7 つの VF を提供し、メールボックス、VF リセット、MAC アンチスプーフィング、ポート VLAN に対応しています。実機の I350-T2 で、両方のポート、双方向の通信、ワイヤーレートをテストしました。

テストした内容

SR-IOV は想定外のケースで壊れやすいため、13 項目のリストを用意しています。VF が足りない、2 台の VM が同じ VF を求める、VM の実行中に VF の数を変える、NIC がない・交換された、ホストのポートがダウンする、ホストの再起動などです。ほとんどは実機で合格しています。2 つはマシンのそばに人がいる必要があります(実際のケーブル抜去と、VF 作成失敗からの復旧)。

制限事項

  • VF を持つ VM は、現時点ではホストの再起動時にシャットダウンして起動し直します。VF は同じ MAC で作り直されます。動かしたまま維持する機能(VF を再構築し、ゲストのドライバーが復旧する)は実装済みで、テスト中です。
  • FreeBSD 自身の VF ドライバーはリセットに自分で気づかないため、ゲスト内でインターフェースの down/up が必要です。Linux は自動で復旧します。
  • 決して切れないネットワークポートが必要なら、代わりにポート全体をパススルーしてください。こちらはすでにホストの再起動を乗り越えられます。

記事を読む(中国語) →

← 機能一覧