SRIOVについて

コンピュータの基礎知識
この記事を書いた人
井上 周

WEBのバックエンドエンジニア。金沢大学大学院→株式会社マイベスト。
最も得意な言語はRuby(Rails)。その他、GoやPython、TypeScriptsを使った開発を行っています。

井上 周をフォローする

ご覧いただきありがとうございます!
こんにちは!!金沢で学生をしています、あまね(@isaka122)です!

SRIOVについて

SRIOVとは?

SRIOVとは、Single Root I/O Virtualizationの略称です。
これを直訳すると、「単一ルートの入出力仮想化」という意味になりますね。

具体的には、汎用サーバーの中でネットワーク機器を仮想アプライアンス化することです。

はて、はたまた難しい言葉たちのオンパレードです。

1つずつ見ていきましょう。

  • 汎用サーバー
  • 仮想アプライアンス化

この2つの用語の意味がわかれば理解できそうです。

汎用サーバーとは?

まずは、「サーバー」についておさらい。

サーバーとは、何かサービスを提供するコンピューターのことです。
サービスを提供するコンピューターを「サーバー」、要求するコンピューターを「クライアント」と言います。
(このモデルをサーバークライアントモデルといいます。)

サーバーを作るには通常のパソコンと同様に、ハードウェアとOS、アプリケーションが必要です。
しかし、パソコンとの違いは、サーバーは長時間動作させておくことが想定された設計になっています。

サーバーが提供するサービスには様々なものがあります。

Webページを表示する、メールを使うなどは私達にも馴染みがあり、その他インターネットの裏側ではDNSサーバーやSCHPサーバーと言ったものも動作しています。

そして、汎用サーバーとは、そうしたサービス全てに対応しているサーバーのことを言うのです。

アプライアンスとは?

次にアプライアンスとは何でしょうか?

アプライアンスとは、特定の目的や機能に特化した専用機器を指します。

汎用の対義語のイメージで良いかもしれません。

つまり、もうすでに汎用サーバーを理解したみなさんならおわかりかと思います。
アプライアンスサーバーというサーバーがありますが、これはある特定のサービスに特化したサーバーのことなのです。

詳しく言うと、ハードウェアの設計、OSやアプリケーションが製造段階で目的のために最適化されているサーバーのことです。

これでわかった「SRIOV」

さて、ここまで来ればSRIOVの意味もわかりますね。

つまり、「何にでも使えるサーバーの入出力機能を何か特定の目的に特化した機器」に仮想化することです。

汎用サーバーは当然どんな目的にも使えるような設計になっていますが。
当然入出力機器もそうです。

OSやアプリケーションであれば上書きすれば何かに特化されることは可能ですが、ハードウェアを特化させようとした場合、付け替える必要が出てきます。

ところが、SRIOVを使えば、ハードウェアを付け替えることなく仮想的に、何かに特化した入出力機器に変更することができるようになるんですね!

SRIOVで何が嬉しいのか?

さて、ではSRIOVを用いると何が嬉しいのでしょうか?

それは仮想マシンと大きな関係があります。

仮想マシンとは、1台のマシンの上で動かす仮想的なマシンのことなのです。
仮想マシンは複数あっても、物理的なマシンは1台です。
複数の仮想マシンからの入出力の要求をハイパーバイザやホストOSはまとめて入出力機器との仲介をする必要がありました。

ところが、このSIROVに対応したPCIデバイス(周辺機器との接続をするデバイス)があれば、複数の仮想マシンからの入出力要求をこのハードウェアが行ってくれるのです!

ハイパーバイザやOSの負担が軽くなるのですね!

参考サイトなど

SRIOVの定義
https://tech.nikkeibp.co.jp/it/article/Keyword/20100115/343227/

アプライアンスについて
https://japan.zdnet.com/article/20145587/

サーバーの基本
https://www.tekwind.co.jp/column/entry_33.php?category=1&product_category=000600180000&maker=NOWing

 

 

タイトルとURLをコピーしました