Oracle® Solaris 11.2의 네트워크 가상화 및 네트워크 리소스 관리

인쇄 보기 종료

업데이트 날짜: 2014년 9월
 
 

사용 사례: 데이터 링크 및 플로우 등록 정보를 설정하여 네트워크 리소스 관리

다음 사용 사례는 데이터 링크 등록 정보와 플로우 등록 정보를 모두 설정하여 시스템의 효율성을 높이는 시나리오를 기반으로 합니다. 이 사용 사례는 다음 그림에 표시된 구성을 기반으로 합니다.

그림 7-3  데이터 링크와 플로우의 리소스를 관리하기 위한 시스템 구성

image:이 그림에서는 데이터 링크와 플로우의 리소스를 관리하는 두 호스트에 대한 시스템 구성을 보여줍니다.

이 그림에서는 서로 연결된 다음과 같은 두 개의 물리적 호스트를 보여줍니다.

  • Host1의 구성은 다음과 같습니다.

    • 서버 및 라우터 역할을 하는 단일의 비전역 영역입니다. 두 개의 인터페이스가 영역에 지정됩니다. 즉, net0 인터페이스는 인터넷에 연결되고 net1 인터페이스는 Host2를 포함하는 내부 네트워크에 연결됩니다.

    • net1을 통해 플로우를 구성하여 트래픽을 격리하고 플로우에 속하는 패킷에서 리소스를 사용하는 방법을 제어합니다. 플로우 구성에 대한 자세한 내용은 플로우를 사용하여 네트워크 리소스 관리를 참조하십시오.

  • Host2의 구성은 다음과 같습니다.

    • 비전역 영역 세 개와 해당 VNIC입니다. VNIC는 NIC 카드가 링 할당을 지원하는 net0을 통해 구성됩니다. 링 할당에 대한 자세한 내용은 NIC 링 관리를 참조하십시오.

    • 각 영역의 네트워크 처리 부하는 서로 다릅니다. 이 예에서 zone1은 HTTP 클라이언트 역할을 합니다. 나머지 영역 zone2zone3은 SSH(보안 셸) 프로토콜을 통해 Host1에 액세스하는 SSH 클라이언트로 사용됩니다. zone1에 대한 네트워크 트래픽은 zone2zone3보다 더 높고 시간에 민감하지 않습니다. 하지만 zone2zone3에 대한 트래픽은 낮고 시간에 민감합니다. 따라서 zone2zone3에 대한 네트워크 트래픽을 더 빠르게 처리하려면 zone1에 대한 네트워크 트래픽에 할당되는 대역폭을 제한해야 합니다. zone1에 할당되는 대역폭을 제한하지 않을 경우 이 영역에서 사용 가능한 대역폭을 모두 사용합니다. 그러면 나머지 zone2zone3 영역에 대한 대역폭이 거부됩니다.

    • 별도의 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. Host1에서 net1을 통해 다음 플로우를 만듭니다.

    • 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 세트인 pool1zone1에 지정된다고 가정합니다. 또한 CPU의 동일한 pool1을 지정하여 zone1에 대한 네트워크 프로세스를 관리합니다.

    # dladm set-linkprop -p pool=pool1 vnic0