過去問ドリル

LinuCレベル4 システムアーキテクト ネットワークとストレージの選定 問37

ネットワークとストレージの選定/拠点内のネットワーキング

仮想化基盤で特定の仮想マシン(VM)のネットワーク性能が要件を満たせていない。プロファイルの結果、ソフトウェア仮想スイッチを介したパケット処理がホストCPUの負荷を押し上げていることが判明した。仮想スイッチのオーバーヘッドを排除してVMのネットワーク性能を最大化する方式として、最も適切なものはどれか。

当サイトのオリジナル問題(LinuCレベル4 システムアーキテクトの出題範囲「ネットワークとストレージの選定」に対応。実際の試験問題ではありません)

正解:A

解説

SR-IOV(Single Root I/O Virtualization)はNICのハードウェア機能を使い、1枚の物理NIC(PF)から複数の仮想機能(VF)を生成して各VMに直接割り当てる。VMがVFを使うとパケットの送受信がハイパーバイザーの仮想スイッチを介さずNICハードウェアで直接処理されるため、virtioやvethを使う通常の構成と比べてレイテンシを大幅に低減でき、ホストCPUへの負荷もほぼゼロになる。

選択肢ごとの解説

  • A正しい。SR-IOVのVFをVMに直接割り当てると、パケット処理がハイパーバイザーの仮想スイッチを完全にバイパスする。仮想スイッチのオーバーヘッド排除という要件を直接満たす。
  • B誤り。OVS-DPDKはLinuxカーネルのネットワークスタックをバイパスするが、ホストのユーザー空間CPUをポーリングで使うためホストのCPU消費が増える場合がある。VMがハイパーバイザー仮想スイッチを経由しないSR-IOVとは性質が異なる。
  • C誤り。e1000はソフトウェアエミュレーションのNICドライバであり、virtio-netよりも性能が低い。変更すると性能が悪化する。
  • D誤り。tc-flower offloadはNICのハードウェアで一部のフロー処理を担わせる機能で一定の効果はあるが、仮想スイッチ経由の経路そのものを排除するSR-IOVほどの性能向上は得られない。
LinuCレベル4 システムアーキテクトの問題を演習モードで解く