Jeff Victor - Virtual Networks
http://blogs.sun.com/JeffV/category/Solaris+11
それでは、下図のようなネットワーク構成のホスト群を考えます。ホストは異なるSwitchに接続しており、帯域の要件が異なっています。
これらを統合するためには、まずネットワーク構成を保存し、統合システムはそれぞれサービスレベルに見合う帯域を保証する必要があります。たとえば、ファイル転送もしくはバックアップのネットワークトラフィックのせいでトランザクショナルなシステムのリクエスト−レスポンスが遅くなってほしくないのです。
Solaris 10では、複数のゾーンにある複数のサーバーを一つのSolarisインスタンスに統合することが容易に可能です。この機能により、統合された複数のアプリケーションのための物理ネットワークの必要性を考えなくてすみますが、ネットワークトポロジーを保持しQoSを管理することは容易ではありませんでした。
Solaris 11 Expressでは、仮想ネットワークを使って分離状態を維持し、異なるネットワークの性質を維持できます。下図のように、QoSを管理するためのフロー設定を確立できます。物理ネットワーク構成に一致する仮想ネットワーク構成を作成し、性能特性を管理できるのです。
物理ネットワークデバイスのフローを定義して、QoSを説明してみましょう。仮想ネットワーク上でも同様にできるでしょうが、もっと手慣れた方法で始めたいと考えています。
以下の例のように、”flow1”と名付けたフロー(最大2Mbps)を作成します。このフローはネットワークデバイス(リンクとも言う)e1000g1と関連付けられており、システムブートをまたいで永続的に使われず("-t")、特定のリモートホストに対してのみ有効、というものです。例えば、誰かのIPアドレスからの接続を絞りたい場合、1行目にフローを定義し、2行目に最大帯域を設定します。
さらに、2個目のフローを"http1"とし、ネットワークデバイスe1000g0と関連付けて、Webサーバーへの帯域をたった8Mbpsに絞ることにします。
# flowadm add-flow -t -l e1000g1 -a remote_ip=192.168.56.5 flow1 # flowadm set-flowprop -p maxbw=2M flow1 # flowadm add-flow -t -l e1000g0 -a transport=tcp,local_port=80 -p maxbw=8M http-1 # flowadm show-flow FLOW LINK IPADDR PROTO PORT DSFLD http-1 e1000g0 -- tcp 80 -- flow1 e1000g1 RMT:192.168.56.5/32 -- -- -- # flowadm show-flowprop FLOW PROPERTY VALUE DEFAULT POSSIBLE http-1 maxbw 8 -- http-1 priority -- -- flow1 maxbw 2 -- 2M flow1 priority -- --
最初のフロールールを説明するために、"kotsa_junk"というファイルを生成し、IPアドレス192.168.56.5のホストからscpで転送しました。flow1を追加する前は、およそ10秒かかっていました。
$ scp lotsa_junk 192.168.56.101: lotsa_junk 100% |**********************************| 97 MB 00:11
追加後は
$ scp lotsa_junk 192.168.56.101: lotsa_junk 100% |**********************************| 97 MB 03:57
実際に試してみるとわかりますが、前者の場合、アスタリスクの描画が速いのに、後者では非常に遅いのです。数秒もすると遅さにうんざりしてしまうので、"flowadm set-flowprop"を発行して帯域を拡大してしましょう…これが2番目のポイントで、フローの設定値は動的に変更できるのです。以下のスニペットで、"flowstat"コマンドを使ってトラフィックレートを見ると、帯域が拡大していることがわかります。
# flowstat -i 10 flow1 FLOW IPKTS RBYTES IERRS OPKTS OBYTES OERRS flow1 7.45K 11.16M 0 16.58K 1.22M 0 flow1 1.10K 1.66M 0 765 57.65K 0 flow1 1.10K 1.66M 0 765 57.70K 0 flow1 1.10K 1.66M 0 769 58.03K 0
[[[ 遅すぎるので、帯域を拡大します ]]]
# flowadm set-flowprop -p maxbw=9M flow1 # flowstat -i 10 flow1 FLOW IPKTS RBYTES IERRS OPKTS OBYTES OERRS flow1 24.04K 36.18M 0 28.07K 2.08M 0 flow1 6.97K 10.45M 0 3.88K 270.61K 0 flow1 7.06K 10.61M 0 3.94K 273.89K 0 flow1 6.89K 10.34M 0 3.88K 271.36K 0
まとめ
Network virtualization はSolaris 11 Expressで多くの重要な機能強化のうちの一つであり、その中でもフロー制御は重要な機能の一つです。単なるサーバー統合だけではなく、完全なネットワーク環境を統合し管理することで、コストとデータセンターの複雑性を削減できる強力な新機能を提供します。
原文はこちら。 http://blogs.sun.com/jsavit/entry/flow_control_in_solaris_11
0 件のコメント:
コメントを投稿