Go to main content
Oracle® Solaris 11.3 での仮想ネットワークとネットワークリソースの管理

印刷ビューの終了

更新: 2016 年 11 月
 
 

ユースケース: データリンクとフローのプロパティーを設定することによるネットワークリソースの管理

次のユースケースは、データリンクとフローの両方のプロパティーを設定することによってシステムの効率を向上させるシナリオに基づいています。このユースケースは、次の図に示す構成に基づいています。

図 24  データリンクとフローのリソースを管理するためのシステム構成

image:この図は、データリンクとフロー上のリソースを管理するためのシステム構成を示しています。

この図は、互いに接続された次の 2 つの物理ホストを示しています。

  • Host1 の構成は次のとおりです。

    • サーバーおよびルーターとして機能する 1 つの非大域ゾーン。ゾーンに 2 つのインタフェースが割り当てられていて、net0 インタフェースはインターネットに接続し、net1 インタフェースは Host2 を含む内部ネットワークに接続します。

    • フローを net1 上に構成して、トラフィックを切り離し、フローに属するパケットがリソースをどのように使用するかの制御を実装します。フローの構成の詳細は、フローを使用することによるネットワークリソースの管理を参照してください。

  • Host2 の構成は次のとおりです。

    • 3 つの非大域ゾーンと、それぞれ対応する VNIC。これらの VNIC は、NIC カードがリング割り当てをサポートする net0 上に構成されています。リング割り当てについての詳細は、NIC リングの管理を参照してください。

    • 各ゾーンのネットワーク処理の負荷は異なります。この例では、zone1 が、HTTP クライアントとして機能します。残りのゾーン、zone2zone3 は、Secure Shell (SSH) プロトコルを介して Host1 へのアクセスを試みる SSH クライアントとして機能します。zone1 のネットワークトラフィックは zone2 および zone3 より多く、時間の影響を受けません。ただし、zone2 および zone3 のネットワークトラフィックは少なく、時間の影響を受けます。したがって、zone2 および zone3 のネットワークトラフィックをより高速に処理するには、zone1 のネットワークトラフィックに割り当てられた帯域幅を制限する必要があります。zone1 に割り当てられた帯域幅を制限しないと、使用可能なすべての帯域幅が使用されます。これにより、残りのゾーン、zone2 および zone3 に対して帯域幅が拒否されることになります。

    • 別の VNIC がソフトウェアベースのクライアントとして構成されています。MAC クライアントの概要については、MAC クライアントへのリングの割り当てを参照してください。

このユースケースのタスクには次のアクションが含まれます。

  • フローの作成とフロー制御の構成 – net1 上にフローを作成して、Host1net1 によって受信される、フローに属するパケット上に別のリソース制御を作成します。

  • Host2 上の VNIC のためのネットワークリソースのプロパティーの構成 – 処理の負荷に基づいて、各ゾーンの VNIC に一連の専用リングが構成されます。また、ソフトウェアベースのクライアントの例として、専用リングのない別の VNIC も構成されます。


注 -  このユースケースにはゾーン構成のための手順は含まれていません。ゾーンを構成するには、Oracle Solaris ゾーンの作成と使用 の 第 1 章, 非大域ゾーンの計画および構成方法を参照してください。

  1. Host1 上のリンクと IP インタフェースに関する情報を表示します。

    # ipadm
    NAME              CLASS/TYPE       STATE        UNDER      ADDR
    lo0               loopback   ok           --         --
       lo0/v4         static     ok           --         127.0.0.1/8
       lo0/v6         static     ok           --         ::1/128
    net1              ip         ok           --         --
       net1/v4        static     ok           --         192.168.200.103/24
    net0              ip         ok           --         --
       net0/v4        static     ok           --         10.134.76.129/24
  2. Host1net1 上に次のフローを作成します。

    • httpflowzone1net1 の間のすべての HTTP トラフィックを含めます。

      # flowadm add-flow -l net1 -a transport=tcp,local_ip=192.168.200.103,\
      local_port=80,remote_ip=192.168.200.110 httpflow
    • sshflownet1 との間で送受信されるすべての SSH クライアントを含めます。

      # flowadm add-flow -l net1 -a transport=tcp,local_ip=192.168.200.103,\
      local_port=22 sshflow
  3. フロー上にリソース制御を実装します。

    • httpflow の場合は、最大帯域幅を 500M に設定します。

      # flowadm set-flowprop -p maxbw=500M httpflow
    • sshflow の場合は、優先順位を high に設定します。

      # flowadm set-flowprop -p priority=high sshflow
  4. 作成したフローに関する情報を確認します。

    # flowadm
    FLOW        LINK     PROTO LADDR             LPORT  RADDR             RPORT DSFLD
    httpflow    net1     tcp   192.168.200.103   80     192.168.200.110   --    --
    sshflow     net1     tcp   192.168.200.103   22     --                --    --
    
    # flowadm show-flowprop
    FLOW         PROPERTY        PERM    VALUE        DEFAULT        POSSIBLE
    httpflow     maxbw           rw      500          --             -- 
    httpflow     priority        rw      medium       medium         low,medium,high 
    httpflow     hwflow          r-      off          --             on,off 
    sshflow      maxbw           rw      --           --             -- 
    sshflow      priority        rw      high         medium         low,medium,high 
    sshflow      hwflow          r-      off          --             on,off

    出力の詳細は、flowadm(1M) のマニュアルページを参照してください。

  5. Host2 上で、ゾーンごとに net0 上に VNIC を構成します。

    # dladm create-vnic -l net0 vnic0
    # dladm create-vnic -l net0 vnic1
    # dladm create-vnic -l net0 vnic2
  6. 各 VNIC 上にリソース制御を実装します。

    # dladm set-linkprop -p rxrings=4,txrings=4 vnic0
    # dladm set-linkprop -p rxrings=2,txrings=2 vnic1
    # dladm set-linkprop -p rxrings=1,txrings=1 vnic2
    
  7. VNIC をそれぞれのゾーンに割り当てます。

    # zonecfg -z zone1
    # zonecfg:zone1> add net
    # zonecfg:zone1:net> set physical=vnic0
    # zonecfg:zone1:net> end
    # zonecfg:zone1> commit
    # zonecfg:zone1> exit
    # zoneadm -z zone1 reboot
    
    # zonecfg -z zone2
    # zonecfg:zone2> add net
    # zonecfg:zone2:net> set physical=vnic1
    # zonecfg:zone2:net> end
    # zonecfg:zone2> commit
    # zonecfg:zone2> exit
    # zoneadm -z zone2 reboot
    
    # zonecfg -z zone3
    # zonecfg:zone3> add net
    # zonecfg:zone3:net> set physical=vnic2
    # zonecfg:zone3:net> end
    # zonecfg:zone3> commit
    # zonecfg:zone3> exit
    # zoneadm -z zone3 reboot
  8. リングをプライマリインタフェース net0 と共有するソフトウェアベースのクライアントを作成します。

    # dladm create-vnic -p rxrings=sw,txrings=sw -l net0 vnic3
  9. Host2 の CPU のセットである pool1 は、zone1 に割り当てられていると仮定します。zone1 のネットワークプロセスも管理するために、CPU の同じ pool1 を割り当てます。

    # dladm set-linkprop -p pool=pool1 vnic0