JavaScript is required to for searching.
탐색 링크 건너뛰기
인쇄 보기 종료
Oracle Solaris 관리: 네트워크 인터페이스 및 네트워크 가상화     Oracle Solaris 11 Information Library (한국어)
search filter icon
search icon

문서 정보

머리말

1.  네트워킹 스택 개요

이 Oracle Solaris 릴리스의 네트워크 구성

Oracle Solaris의 네트워크 스택

네트워크 장치 및 데이터 링크 이름

기타 링크 유형의 관리

제1부Network Auto-Magic

2.  NWAM 소개

3.  NWAM 구성 및 관리(개요)

4.  NWAM 프로파일 구성(작업)

5.  NWAM 프로파일 관리(작업)

6.  NWAM 그래픽 사용자 인터페이스 정보

제2부데이터 링크 및 인터페이스 구성

7.  프로파일에 데이터 링크 및 인터페이스 구성 명령 사용

8.  데이터 링크 구성 및 관리

9.  IP 인터페이스 구성

10.  Oracle Solaris에서 무선 인터페이스 통신 구성

11.  브릿지 관리

12.  링크 통합 관리

13.  VLAN 관리

14.  IPMP 소개

15.  IPMP 관리

16.  LLDP를 사용하여 네트워크 연결 정보 교환

제3부네트워크 가상화 및 리소스 관리

17.  네트워크 가상화 및 리소스 제어 소개(개요)

18.  네트워크 가상화 및 리소스 제어 계획

19.  가상 네트워크 구성(작업)

20.  가상화된 환경에서 링크 보호 사용

21.  네트워크 리소스 관리

네트워크 리소스 관리의 개요

리소스 제어를 위한 데이터 링크 등록 정보

흐름을 사용한 네트워크 리소스 관리

네트워크 리소스 관리 명령

네트워크 리소스 관리(작업 맵)

데이터 링크의 리소스 관리

전송 및 수신 링

MAC 클라이언트 및 링 할당

링 할당의 등록 정보

하드웨어 기반 클라이언트 구성 준비

하드웨어 기반 클라이언트를 구성하는 방법

소프트웨어 기반 클라이언트를 만드는 방법

정적 링 할당에서 링 할당을 식별하는 방법

풀 및 CPU

데이터 링크에 대한 CPU 풀을 구성하는 방법

링크에 CPU를 할당하는 방법

흐름의 리소스 관리

네트워크의 흐름 구성

흐름을 구성하는 방법

22.  네트워크 트래픽 및 리소스 사용 모니터링

용어집

색인

데이터 링크의 리소스 관리

이 절에서는 물리적 네트워크나 가상 네트워크의 네트워크 성능을 향상시키기 위해 설정할 수 있는 선택한 링크 등록 정보에 대해 설명합니다.

전송 및 수신 링

NIC에서 수신(Rx) 링과 전송(Tx) 링은 각각 시스템이 네트워크 패킷을 받고 보내는 하드웨어 리소스입니다. 다음 절에서는 링의 개요 및 네트워킹 프로세스에 링을 할당하는 데 사용되는 절차를 차례로 제공합니다. 링을 할당하는 명령을 실행할 때 작동하는 방식을 보여주는 예도 제공됩니다.

MAC 클라이언트 및 링 할당

VNIC 및 기타 데이터 링크와 같은 MAC 클라이언트는 NIC 위에 구성되어 시스템과 기타 네트워크 노드 간의 통신을 사용할 수 있게 합니다. 클라이언트는 구성된 후 Rx 및 Tx 링을 모두 사용하여 각각 네트워크 패킷을 수신하거나 전송합니다. MAC 클라이언트는 하드웨어 기반이거나 소프트웨어 기반일 수 있습니다. 하드웨어 기반 클라이언트는 다음 조건 중 하나를 충족합니다.

이러한 조건을 하나도 충족하지 않는 클라이언트를 소프트웨어 기반 MAC 클라이언트라고 합니다.

하드웨어 기반 클라이언트에는 NIC에 따라 배타적 사용을 위한 링을 할당할 수 있습니다. nxge와 같은 NIC는 동적 링 할당을 지원합니다. 이러한 NIC에서는 하드웨어 기반 클라이언트를 구성할 수 있을 뿐만 아니라 링을 할당할 수 있는 경우 해당 클라이언트에 할당할 링 수를 결정하는 유연성도 있습니다. 링 사용은 항상 주 인터페이스(예: nxge0)에 최적화됩니다. 주 인터페이스를 주 클라이언트라고도 합니다. 다른 클라이언트의 배타적 사용에 할당되지 않은 사용 가능한 링은 모두 주 인터페이스에 자동으로 할당됩니다.

ixge와 같은 기타 NIC는 정적 링 할당만 지원합니다. 이러한 NIC에서는 하드웨어 기반 클라이언트만 만들 수 있습니다. 클라이언트는 클라이언트당 고정된 링 세트를 사용하여 자동으로 구성됩니다. 고정된 세트는 NIC 드라이버의 초기 구성 도중 결정됩니다. 정적 링 할당과 관련된 드라이버의 초기 구성에 대한 자세한 내용은 Oracle Solaris 조정 가능 매개변수 참조 설명서을 참조하십시오.

VLAN의 링 할당

VLAN을 사용하면 VLAN 생성 방식에 따라 링 할당이 다르게 진행됩니다. VLAN은 다음 두 가지 방식 중 하나로 생성됩니다.

dladm create-vlan 하위 명령으로 생성된 VLAN은 기본 인터페이스와 동일한 MAC 주소를 공유합니다. 따라서 이 VLAN은 기본 인터페이스의 Rx 및 Tx 링도 공유합니다. dladm create-vnic 명령을 사용하여 VNIC로 생성된 VLAN에는 기본 인터페이스와 다른 MAC 주소가 있습니다. 이러한 VLAN에 대한 링 할당은 기본 링크에 대한 할당과 독립적입니다. 따라서 NIC가 하드웨어 기반 클라이언트를 지원하는 경우 이 VLAN에 고유한 전용 링을 할당할 수 있습니다.

링 할당의 등록 정보

링을 관리하려면 dladm 명령을 사용하여 두 개의 링 등록 정보를 설정할 수 있습니다.

각 등록 정보를 세 가지 가능한 값 중 하나로 설정할 수 있습니다.

현재 링 할당 및 사용에 대한 정보를 제공하려면 다음과 같은 추가 읽기 전용 링 등록 정보를 사용할 수 있습니다.

하드웨어 기반 클라이언트 구성 준비

하드웨어 기반 클라이언트를 구성하려면 시스템에 있는 NIC의 링 할당 기능을 알고 있어야 합니다. 필요한 정보를 가져오려면 다음 명령을 사용합니다.

# dladm show-linkprop link

여기서 link는 특정 NIC의 데이터 링크를 나타냅니다.

특정 등록 정보를 표시하려면 다음 명령을 사용합니다.

# dladm show-linkprop -p property[,property,...] link

하드웨어 기반 클라이언트를 올바르게 구성하려면 다음을 확인해야 합니다.

NIC가 링 할당을 지원하고 링과 하드웨어 기반 클라이언트를 사용할 수 있는 경우 하드웨어 기반 클라이언트를 구성하는 방법에 설명된 대로 시스템에 이 유형의 클라이언트를 구성할 수 있습니다. 또는 소프트웨어 기반 클라이언트를 만드는 방법에 설명된 대로 소프트웨어 기반 클라이언트를 대신 구성할 수 있습니다.

다음 예에서는 nxge NIC, ixgbe NIC 및 e1000g NIC의 링 관련 링크 등록 정보에 대해 표시되는 서로 다른 정보를 보여줍니다.

예 21-1 nxge NIC 링 정보

다음 예에서는 nxge NIC에 대한 링 정보를 보여줍니다.

# dladm show-linkprop nxge0
LINK    PROPERTY            PERM  VALUE  DEFAULT  POSSIBLE
...
nxge0   rxrings             rw    --     --       sw,<1-7>
...
nxge0   txrings             rw    --     --       sw,<1-7>
...
nxge0   rxrings-available   r-    5      --       --
nxge0   txrings-available   r-    5      --       --
nxge0   rxhwclnt-available  r-    2      --       --
nxge0   txhwclnt-available  r-    2      --       --
...

POSSIBLE 필드에는 sw<1-7>rxringstxrings 등록 정보에 허용되는 값으로 나열됩니다. 이러한 값은 nxge가 하드웨어 기반 클라이언트 및 소프트웨어 기반 클라이언트를 모두 지원함을 나타냅니다. <1-7> 범위는 설정하는 Rx 링 또는 Tx 링 수가 지정한 범위 내에 있어야 함을 나타냅니다. 범위에서 NIC가 수신 및 전송측에서 모두 동적 링 할당을 지원하는 것을 추론할 수도 있습니다.

또한 *rings-available 등록 정보는 Rx 링 5개와 Tx 링 5개를 하드웨어 기반 클라이언트에 할당할 수 있음을 나타냅니다.

하지만 *clnt-available 등록 정보를 기반으로 사용 가능한 Rx 링을 배타적으로 사용할 수 있는 두 클라이언트만 구성할 수 있습니다. 마찬가지로, 사용 가능한 Tx 링을 배타적으로 사용할 수 있는 두 클라이언트만 구성할 수 있습니다.

예 21-2 ixgbe NIC 링 정보

다음 예에서는 ixgbe NIC에 대한 링 정보를 보여줍니다.

# dladm show-linkprop ixgbe0
LINK     PROPERTY            PERM  VALUE  DEFAULT  POSSIBLE
...
ixgbe0   rxrings             rw     --    --       sw,hw
...
ixgbe0   txrings             rw     --    --       sw,hw,<1-7>
...
ixgbe0   rxrings-available   r-     0     --       --
ixgbe0   txrings-available   r-     5     --       --
ixgbe0   rxhwclnt-available  r-     0     --       --
ixgbe0   txhwclnt-available  r-     7     --       --
...

rxringstxrings 등록 정보의 POSSIBLE 필드는 ixgbe0에서 하드웨어 기반 클라이언트와 소프트웨어 기반 클라이언트를 모두 구성할 수 있음을 나타냅니다. Rx 링에는 정적 링 할당만 지원되며, 이 경우 하드웨어가 각 하드웨어 기반 클라이언트에 고정된 Rx 링 세트를 할당합니다. 하지만 Tx 링은 동적으로 할당할 수 있으므로 하드웨어 기반 클라이언트에 할당할 Tx 링 수를 결정할 수 있습니다(이 예에서는 최대 7개 링).

또한 *rings-available 등록 정보는 Tx 링 5개를 하드웨어 기반 클라이언트에 할당할 수 있지만 Rx 링은 할당할 수 없음을 나타냅니다.

최종적으로, *hwclnt-available 등록 정보를 기반으로 Tx 링을 배타적으로 사용할 하드웨어 기반 Tx 클라이언트를 7개 구성할 수 있습니다. 하지만 동적 Rx 링 할당은 ixgbe 카드에서 지원되지 않습니다. 따라서 지정한 전용 Rx 링 세트를 사용하여 하드웨어 기반 클라이언트를 만들 수 없습니다.

*rings-available 등록 정보 중 하나의 VALUE 필드 아래에 0이 있으면 다음 중 하나를 의미할 수 있습니다.

rxringstxringsPOSSIBLE 필드와 rxrings-availabletxrings-availableVALUE 필드를 비교하여 0의 의미를 확인할 수 있습니다.

예를 들어, 다음과 같이 txrings-available0이라고 가정합니다.

# dladm show-linkprop ixgbe0
LINK     PROPERTY            PERM  VALUE  DEFAULT  POSSIBLE
...
ixgbe0   rxrings             rw    --     --       sw,hw
ixgbe0   txrings             rw    --     --       sw,hw,<1-7>
ixgbe0   rxrings-available   r-    0      --       --
ixgbe0   txrings-available   r-    0      --       --
...

이 출력 결과에서 rxrings-availableVALUE 필드는 0이고 rxringsPOSSIBLE 필드는 sw,hw입니다. 결합된 정보는 NIC가 동적 링 할당을 지원하지 않으므로 Rx 링을 사용할 수 없음을 의미합니다. 전송측에서 txrings-availableVALUE 필드는 0이고 txringsPOSSIBLE 필드는 sw,hw,<1-7>입니다. 결합된 정보는 모든 Tx 링이 이미 할당되었기 때문에 Tx 링을 사용할 수 없음을 나타냅니다. 하지만 txringsPOSSIBLE 필드에 따라 동적 링 할당은 지원됩니다. 따라서 Tx 링을 사용할 수 있게 되면 해당 링을 할당할 수 있습니다.

예 21-3 e1000g NIC 링 정보

다음 예에서는 e1000g NIC에 대한 링 정보를 보여줍니다.

# dladm show-linkprop e1000g0
LINK     PROPERTY             PERM  VALUE  DEFAULT  POSSIBLE
...
e1000g0   rxrings             rw     --      --     --
...
e1000g0   txrings             rw     --      --     --
...
e1000g0   rxrings-available   r-     0       --     --
e1000g0   txrings-available   r-     0       --     --
e1000g0   rxhwclnt-available  r-     0       --     --
e1000g0   txhwclnt-available  r-     0       --     --
...

출력 결과에 따르면 e1000g NIC에서 링 할당이 지원되지 않으므로 링과 하드웨어 기반 클라이언트를 모두 구성할 수 없습니다.

하드웨어 기반 클라이언트를 구성하는 방법

이 절차에서는 동적 링 할당을 지원하는 NIC 또는 정적 링 할당을 지원하는 NIC에서 하드웨어 기반 클라이언트를 구성하는 방법을 보여줍니다.

시작하기 전에

시스템의 NIC에 대해 다음 정보가 있는지 확인합니다.

이 정보를 가져오려면 하드웨어 기반 클라이언트 구성 준비를 참조하십시오.

  1. NIC가 지원하는 링 할당 유형에 따라 다음 단계 중 하나를 수행합니다.
    • NIC가 동적 링 할당을 지원하는 경우 다음 구문을 사용합니다.

      # dladm create-vnic -p rxrings=number[,txrings=number] -l link vnic
      number

      클라이언트에 할당하는 Rx 링과 Tx 링 수를 나타냅니다. 이 숫자는 할당할 수 있는 링 수의 범위 내에 있어야 합니다.


      주 - 일부 NIC는 Rx 링 또는 Tx 링에서 동적 할당을 지원하지만 두 유형에서 모두 지원하지는 않습니다. 동적 링 할당이 지원되는 링 유형에 대해 number를 지정합니다.


      link

      클라이언트를 만드는 데 사용 중인 데이터 링크를 나타냅니다.

      vnic

      구성 중인 클라이언트를 나타냅니다.

    • NIC가 정적 링 할당을 지원하는 경우 다음 구문을 사용합니다.

      # dladm create-vnic -p rxrings=hw[,txrings=hw] -l link vnic

      주 - 일부 NIC는 Rx 링 또는 Tx 링에서 정적 할당을 지원하지만 두 유형에서 모두 지원하지는 않습니다. 정적 링 할당이 지원되는 링 유형에 대해 hw를 지정합니다.


  2. (옵션) 새로 만든 클라이언트의 링 정보를 확인합니다.
    # dladm show-linkprop vnic

소프트웨어 기반 클라이언트를 만드는 방법

소프트웨어 기반 클라이언트는 링을 배타적으로 사용하지 않습니다. 대신 클라이언트는 주 클라이언트 또는 다른 기존 소프트웨어 기반 클라이언트가 있는 인터페이스와 링 사용을 공유하지 않습니다. 소프트웨어 기반 클라이언트의 링 수는 기존 하드웨어 기반 클라이언트 수에 따라 달라집니다.

예 21-4 하드웨어 기반 클라이언트 및 소프트웨어 기반 클라이언트 구성

이 예에서는 ixgbe NIC가 있는 시스템에서 하드웨어 기반 클라이언트 및 소프트웨어 기반 클라이언트를 모두 구성하는 방법을 보여줍니다. 링 할당이 구현되는 방식을 보여주기 위해 이 예는 여러 부분으로 나뉘어져 있습니다. 링 관련 정보는 구성 프로세스의 각 단계에서 표시되고 설명됩니다. 구성은 다음과 같이 진행됩니다.

  1. 클라이언트 구성 전에 시스템의 링크 및 링 사용을 표시합니다.

  2. 주 클라이언트를 구성합니다.

  3. 소프트웨어 기반 클라이언트를 구성합니다.

  4. 전용 링 없이 다른 클라이언트를 구성합니다.

  5. 새로 구성된 클라이언트에 링을 정적으로 할당합니다.

  6. 동적으로 할당된 전용 링이 있는 세번째 클라이언트를 구성합니다.

먼저 링크, 링 사용 및 링 관련 등록 정보를 표시합니다.

# dladm show-link
LINK     CLASS   MTU    STATE   BRIDGE   OVER
ixgbe0   phys    1500   down    --       --

# dladm show-phys -H ixgbe0
LINK     RINGTYPE   RINGS   CLIENTS
ixgbe0   RX         0-1     <default,mcast>
ixgbe0   TX         0-7     <default>
ixgbe0   RX         2-3     --
ixgbe0   RX         4-5     --
ixgbe0   RX         6-7     --

# dladm show-linkprop ixgbe0
LINK    PROPERTY              PERM  VALUE  DEFAULT  POSSIBLE
...
ixgbe0   rxrings              rw    --     --       sw,hw
ixgbe0   rxrings-effective    r     --     --       --
ixgbe0   txrings              rw    --     --       sw,hw,<1-7>
ixgbe0   txrings-effective    r     --     --       --
ixgbe0   txrings-available    r-    7      --       --
ixgbe0   rxrings-available    r-    0      --       --
ixgbe0   rxhwclnt-available   r-    3      --       --
ixgbe0   txhwclnt-available   r-    7      --       --
...

명령 출력 결과에 시스템의 단일 링크 ixgbe0이 표시되지만 기존 클라이언트는 표시되지 않습니다. 또한 이 출력 결과에서 다음 정보도 얻을 수 있습니다.

*rings-effective 등록 정보에 대한 자세한 내용은 정적 링 할당에서 링 할당을 식별하는 방법을 참조하십시오.

다음은 주 클라이언트를 구성합니다.

# ipadm create-ip ixgbe0
# ipadm create-addr -T static -a 192.168.10.10/24 ixgbe0/v4
# dladm show-phys -H ixgbe0
LINK     RINGTYPE   RINGS   CLIENTS
ixgbe0   RX         0-1     <default,mcast>
ixgbe0   TX         0-7     <default>ixgbe0
ixgbe0   RX         2-3     ixgbe0
ixgbe0   RX         4-5     --
ixgbe0   RX         6-7     --

# dladm show-linkprop ixgbe0
LINK    PROPERTY              PERM  VALUE  DEFAULT  POSSIBLE
...
ixgbe0   rxrings              rw    --     --       sw,hw
ixgbe0   rxrings-effective    r     2      --       --
ixgbe0   txrings              rw    --     --       sw,hw,<1-7>
ixgbe0   txrings-effective    r     8      --       --
ixgbe0   txrings-available    r-    7      --       --
ixgbe0   rxrings-available    r-    0      --       --
ixgbe0   rxhwclnt-available   r-    3      --       --
ixgbe0   txhwclnt-available   r-    7      --       --
...

출력 결과에서 다음 정보를 제공합니다.

다음은 VNIC를 소프트웨어 기반 클라이언트로 만듭니다.

# dladm create-vnic -l ixgbe0 -p rxrings=sw,txrings=sw vnic0
# dladm show-phys -H ixgbe0
LINK     RINGTYPE   RINGS   CLIENTS
ixgbe0   RX         0-1     <default,mcast>,vnic0
ixgbe0   TX         0-7     <default>vnic0,ixgbe0
ixgbe0   RX         2-3     ixgbe0
ixgbe0   RX         4-5     --
ixgbe0   RX         6-7     --

# dladm show-linkprop vnic0
LINK    PROPERTY            PERM  VALUE  DEFAULT  POSSIBLE
...
vnic0   rxrings             rw    sw     --      sw,hw
...
vnic0   txrings             rw    sw     --      sw,hw,<1-7>
...
# dladm show-linkprop ixgbe0
LINK    PROPERTY            PERM  VALUE  DEFAULT  POSSIBLE
...
ixgbe0   rxrings             rw    --     --      --
ixgbe0   rxrings-effective   r     2      --      --
ixgbe0   txrings             rw    --     --       sw,hw,<1-7>
ixgbe0   txrings-effective   r     --     --       --
ixgbe0   txrings-available   r-    7      --       --
ixgbe0   rxrings-available   r-    0      --       --
ixgbe0   rxhwclnt-available  r-    3      --       --
ixgbe0   txhwclnt-available  r-    7      --       --
...

출력 결과에서 다음 정보를 제공합니다.

다음은 링 할당 없이 다른 클라이언트를 구성합니다.

# dladm create-vnic -l ixgbe0 vnic1
# dladm show-phys -H ixgbe0
LINK     RINGTYPE   RINGS     CLIENTS
ixgbe0   RX         0-1       <default,mcast>,vnic0
ixgbe0   TX         0,2-7     <default>vnic0,ixgbe0
ixgbe0   RX         2-3       ixgbe0 
ixgbe0   RX         4-5       vnic1 
ixgbe0   RX         6-7       --
ixgbe0   TX         1         vnic1

# dladm show-linkprop vnic1
LINK    PROPERTY            PERM  VALUE  DEFAULT  POSSIBLE
...
vnic1   rxrings             rw    --     --       sw,hw 
vnic1   rxrings-effective   r-    2      --       -- 
vnic1   txrings             rw    --     --       sw,hw,<1-7> 
vnic1   txrings-effective   r-    --     --       --
...

# dladm show-linkprop ixgbe0
LINK    PROPERTY            PERM  VALUE  DEFAULT  POSSIBLE
...
ixgbe0  rxrings             rw    --     --       sw,hw 
ixgbe0  rxrings-effective   r-    2      --       -- 
ixgbe0  txrings             rw    --     --       sw,hw,<1-7>
ixgbe0  txrings-effective   r-    --     --       -- 
ixgbe0  txrings-available   r-    7      --       -- 
ixgbe0  rxrings-available   r-    0      --       -- 
ixgbe0  rxhwclnt-available  r-    3      --       -- 
ixgbe0  txhwclnt-available  r-    7      --       -- 
...

출력 결과에서 다음 정보를 제공합니다.

다음은 새로 구성된 클라이언트 vnic1에 링을 정적으로 할당합니다.

# dladm set-linkprop -p rxrings=hw,txrings=hw vnic1
# dladm show-phys -H ixgbe0
LINK     RINGTYPE   RINGS     CLIENTS
ixgbe0   RX         0-1       <default,mcast>,vnic0
ixgbe0   TX         0,2-7     <default>vnic0,ixgbe0
ixgbe0   RX         2-3       ixgbe0 
ixgbe0   RX         4-5       vnic1 
ixgbe0   RX         6-7       --
ixgbe0   TX         1         vnic1

# dladm show-linkprop vnic1
LINK    PROPERTY            PERM  VALUE  DEFAULT  POSSIBLE
...
vnic1   rxrings             rw    hw     --       sw,hw 
vnic1   rxrings-effective   r-    2      --       -- 
vnic1   txrings             rw    hw     --       sw,hw,<1-7> 
vnic1   txrings-effective   r-    --     --       -- 
...
# dladm show-linkprop ixgbe0
LINK    PROPERTY            PERM  VALUE  DEFAULT  POSSIBLE
...
ixgbe0  rxrings             rw     --    --       sw,hw 
ixgbe0  rxrings-effective   r-     2     --       -- 
ixgbe0  txrings             rw     --    --       sw,hw,<1-7>
ixgbe0  txrings-effective   r-     --    --       -- 
ixgbe0  txrings-available   r-     6     --       -- 
ixgbe0  rxrings-available   r-     0     --       -- 
ixgbe0  rxhwclnt-available  r-     3     --       -- 
ixgbe0  txhwclnt-available  r-     6     --       -- 
...

출력 결과에서 다음 정보를 제공합니다.

다음은 동적으로 할당된 Tx 링이 있는 하드웨어 기반 클라이언트를 구성합니다.

# dladm create-vnic -l ixgbe0 -p txrings=2 vnic2
# dladm show-phys -H ixgbe0
LINK     RINGTYPE   RINGS     CLIENTS
ixgbe0   RX         0-1       <default,mcast>,vnic0
ixgbe0   TX         0,4-7     <default>vnic0,ixgbe0
ixgbe0   RX         2-3       ixgbe0 
ixgbe0   RX         4-5       vnic1 
ixgbe0   RX         6-7       vnic2 
ixgbe0   TX         1         vnic1 
ixgbe0   TX         2-3       vnic2 

# dladm show-linkprop vnic2
LINK    PROPERTY            PERM  VALUE  DEFAULT  POSSIBLE
...
vnic2   rxrings             rw    --     --       sw,hw 
vnic2   rxrings-effective   r-    2      --       -- 
vnic2   txrings             rw    2      --       sw,hw,<1-7>
vnic2   txrings-effective   r-    2      --       --
...
# dladm show-linkprop ixgbe0
LINK    PROPERTY            PERM  VALUE  DEFAULT  POSSIBLE
...
ixgbe0  rxrings             rw    --     --       sw,hw 
ixgbe0  rxrings-effective   r-    2      --       -- 
ixgbe0  txrings             rw    --     --       sw,hw,<1-7>
ixgbe0  txrings-effective   r-    --     --       -- 
ixgbe0  txrings-available   r-    4      --       -- 
ixgbe0  rxrings-available   r-    0      --       -- 
ixgbe0  rxhwclnt-available  r-    3      --       -- 
ixgbe0  txhwclnt-available  r-    5      --       --
...

출력 결과에서 다음 정보를 제공합니다.

정적 링 할당에서 링 할당을 식별하는 방법

정적 링 할당을 사용하여 하드웨어 기반 클라이언트를 구성하는 경우 하드웨어가 할당할 링 수를 결정합니다. 하지만 rxringstxrings 등록 정보는 hw로 설정되며 실제로 할당된 링 수를 나타내지 않습니다. 대신 rxrings-effective txrings-effective 등록 정보를 확인하여 이 개수를 얻을 수 있습니다.

  1. 다음 단계 중 하나를 수행하여 정적 링 할당으로 하드웨어 기반 클라이언트를 구성합니다.
    • 정적 링 할당으로 클라이언트를 만들려면 다음 명령을 입력합니다.

      # dladm create-vnic -l link -p rxrings=hw[,txrings=hw] vnic
      link

      클라이언트를 만드는 데 사용 중인 데이터 링크를 나타냅니다.

      vnic

      구성 중인 클라이언트를 나타냅니다.

    • 기존 클라이언트에 링을 정적으로 할당하려면 다음 명령을 입력합니다.

      # dladm set-linkprop -p rxrings=hw[,txrings=hw] vnic
  2. 할당된 링 수를 식별하려면 다음 하위 단계를 수행합니다.
    1. 클라이언트의 등록 정보를 표시합니다.
      # dladm show-linkprop link

      여기서 link는 하드웨어 기반 클라이언트 또는 VNIC를 나타냅니다.

    2. 정적으로 할당한 링 유형에 해당하는 *rings-effective 등록 정보의 값을 확인합니다.

      예를 들어, Rx 링을 정적으로 할당한 경우 rxrings-effective 등록 정보를 확인합니다. Tx 링을 정적으로 할당한 경우 txrings-effective 등록 정보를 확인합니다. 이 숫자는 하드웨어가 할당한 링 수를 나타냅니다.

  3. 정적으로 할당된 링을 확인하려면 다음 하위 단계를 수행합니다.
    1. NIC의 링 사용을 표시합니다.
      # dladm show-phys -H link

      여기서 link는 주 클라이언트를 나타냅니다.

    2. 명령 출력 결과를 통해 첫번째 단계에서 구성한 하드웨어 기반 클라이언트에 할당된 Rx 링 또는 Tx 링을 확인합니다.

예 21-5 정적으로 할당된 링 식별

이 예에서는 ixgbe NIC에 구성된 클라이언트에 Rx 링이 정적으로 할당된 방식을 보여줍니다. 해당 NIC에서 Rx 링에는 정적 할당만 지원됩니다. 이 예는 다음과 같이 진행됩니다.

  1. 시스템의 링크를 표시합니다. 이 예에서는 시스템에 ixgbe0이라는 링크 하나만 있습니다.

  2. 정적으로 할당된 Rx 링이 있는 하드웨어 기반 클라이언트로 vnic1을 만듭니다.

  3. 링 정보를 표시하여 하드웨어가 할당한 링 수를 확인합니다.

  4. 링 사용을 표시하여 할당된 링을 식별합니다.

# dladm show-link
LINK     CLASS   MTU    STATE   BRIDGE   OVER
ixgbe0   phys    1500   down    --       --

# dladm create-vnic -l ixgbe0 -p rxrings=hw vnic1
# dladm show-linkprop vnic1
LINK    PROPERTY            PERM  VALUE  DEFAULT  POSSIBLE
...
vnic1   rxrings             rw    hw     --       sw,hw 
vnic1   rxrings-effective   r-    2      --       -- 
vnic1   txrings             rw    --     --       sw,hw,<1-7> 
vnic1   txrings-effective   r-    --     --       -- 

# dladm show-phys -H ixgbe0
LINK     RINGTYPE   RINGS     CLIENTS
ixgbe0   RX         0-1       <default,mcast>
ixgbe0   TX         0,2-7     <default>
ixgbe0   RX         2-3       vnic1 
ixgbe0   RX         4-5       -- 
ixgbe0   RX         6-7       --
ixgbe0   TX         1         vnic1
...

출력 결과에 따르면 vnic1이 Rx 링으로 구성된 후 하드웨어가 rxrings-effective 등록 정보에 반영된 대로 전용 Rx 링 두 개를 할당했습니다. dladm show-phys -H 명령의 출력 결과를 기준으로 Rx 링 23vnic1 전용으로 지정되었습니다.

클라이언트로 구성된 결과, vnic1은 전용 사용을 위해 Tx 링 1도 자동으로 받았습니다. 하지만 txrings 등록 정보가 명시적으로 설정되지 않았으므로 txrings-effective 등록 정보가 아무 값도 표시하지 않습니다.

풀 및 CPU

은 네트워크 처리를 CPU 풀에 바인딩할 수 있는 링크 등록 정보입니다. 이 등록 정보를 사용하면 네트워크 리소스 관리와 영역의 CPU 바인딩 및 관리를 보다 효율적으로 통합할 수 있습니다. Oracle Solaris에서 영역 관리에는 zonecfg 또는 poolcfg 명령을 사용하여 CPU 리소스 풀에 비네트워킹 프로세스를 바인딩하는 작업이 포함됩니다. 동일한 리소스 풀을 바인딩하여 네트워크 프로세스도 관리하려면 dladm set-linkprop 명령을 사용하여 링크의 pool 등록 정보를 구성합니다. 그런 다음 해당 링크를 영역에 할당합니다.

링크에 pool 등록 정보를 설정하고 링크를 영역의 네트워크 인터페이스로 할당하면 해당 링크가 영역의 풀에도 바인딩됩니다. 해당 영역이 배타적 영역이 되도록 설정된 경우 이 영역에 할당되지 않은 다른 데이터 링크가 풀의 CPU 리소스를 더 이상 사용할 수 없습니다.


주 - 별도의 등록 정보인 cpu를 설정하여 데이터 링크에 특정 CPU를 할당할 수 있습니다. cpupool 등록 정보는 상호 배타적입니다. 두 등록 정보를 지정된 데이터 링크에 모두 설정할 수는 없습니다. cpu 등록 정보를 사용하여 데이터 링크에 CPU 리소스를 할당하려면 링크에 CPU를 할당하는 방법을 참조하십시오.


영역 내의 풀에 대한 자세한 내용은 Oracle Solaris 관리: Oracle Solaris Zones, Oracle Solaris 10 Zones 및 리소스 관리의 13 장, 리소스 풀 만들기 및 관리(작업)를 참조하십시오. 풀 만들기 및 풀에 CPU 세트 할당에 대한 자세한 내용은 poolcfg(1M) 매뉴얼 페이지를 참조하십시오.

다음 그림에서는 pool 등록 정보가 데이터 링크에 할당된 경우 풀 작동 방식을 보여줍니다.

그림 21-1 영역에 할당된 VNIC의 pool 등록 정보

image:영역에 할당된 CPU 풀을 보여주는 그래픽

이 그림의 시스템에는 CPU가 8개 있습니다. 시스템에 구성된 풀이 없을 경우 모든 CPU가 기본 풀에 속하며 전역 영역에서 사용됩니다. 하지만 이 예에서는 pool99 풀이 생성되었으며 CPU 3CPU 4로 구성됩니다. 이 풀은 배타적 영역인 zone1과 연결됩니다. pool99vnic1의 등록 정보로 설정하면 pool99vnic1의 네트워킹 프로세스 관리 전용이 됩니다. vnic1zone1의 네트워킹 인터페이스에 할당된 후 pool99의 CPU가 zone1의 네트워킹 및 비네트워킹 프로세스를 모두 관리하도록 예약됩니다.

pool 등록 정보는 기본적으로 동적입니다. 일정 범위의 CPU로 영역 풀을 구성할 수 있으며 커널에 따라 풀의 CPU 세트에 할당되는 CPU가 결정됩니다. 데이터 링크에 대한 풀 변경 사항은 자동으로 구현되므로 해당 링크의 풀 관리가 간소화됩니다. 반면, cpu 등록 정보를 사용하여 링크에 특정 CPU를 할당하려면 할당할 CPU를 지정해야 합니다. 풀의 CPU 구성 요소를 변경할 때마다 cpu 등록 정보를 설정해야 합니다.

예를 들어, 그림 21-1의 시스템에서 CPU 4는 오프라인 상태로 전환되었습니다. pool 등록 정보는 동적이기 때문에 소프트웨어가 추가 CPU를 풀과 자동으로 연결합니다. 따라서 CPU 두 개로 이루어진 풀의 원래 구성이 보존됩니다. vnic1의 경우 변경 작업이 투명합니다. 다음 그림에서는 조정된 구성을 보여줍니다.

그림 21-2 pool 등록 정보의 자동 재구성

image:풀의 동적 구성을 보여주는 그래픽

추가 풀 관련 등록 정보는 데이터 링크의 CPU 또는 CPU 풀 사용에 대한 정보를 표시합니다. 이러한 등록 정보는 읽기 전용이며 관리자가 설정할 수 없습니다.

일반적으로 영역의 CPU 리소스를 관리하기 위해 초기 단계로 데이터 링크의 pool 등록 정보를 설정하지는 않습니다. 대체로 zonecfgpoolcfg와 같은 명령은 리소스 풀을 사용하도록 영역을 구성하는 데 사용됩니다. cpupool 링크 등록 정보 자체는 설정되지 않습니다. 이 경우 데이터 링크의 pool-effectivecpus-effective 등록 정보는 영역을 부트할 때 해당 영역의 구성에 따라 자동으로 설정됩니다. 기본 풀은 pool-effective 아래에 표시되고 cpus-effective 값은 시스템에서 선택합니다. 따라서 dladm show-linkprop 명령을 사용하는 경우 poolcpu 등록 정보는 비어 있지만 pool-effectivecpus-effective 등록 정보에는 값이 포함됩니다.

영역의 CPU 풀을 네트워킹 프로세스에 바인딩하는 대신 데이터 링크의 poolcpu 등록 정보를 직접 설정할 수도 있습니다. 이러한 등록 정보를 구성하면 해당 값이 pool-effectivecpus-effective 등록 정보에도 반영됩니다. 하지만 이 대체 단계는 영역의 네트워크 리소스 관리에 자주 사용되지 않습니다.

데이터 링크에 대한 CPU 풀을 구성하는 방법

다른 링크 등록 정보와 마찬가지로, 링크를 만들 때 또는 나중에 링크의 추가 구성이 필요할 때 데이터 링크에 대해 pool 등록 정보를 설정할 수 있습니다. 예를 들면 다음과 같습니다.

# dladm create-vnic -p pool=pool-name -l link vnic

VNIC를 만드는 동안 pool 등록 정보를 설정합니다. 기존 VNIC의 pool 등록 정보를 설정하려면 다음 구문을 사용합니다.

# dladm setlinkprop -p pool=pool-name vnic

다음 절차에서는 VNIC에 대해 CPU 풀을 구성하는 단계를 제공합니다.

시작하기 전에

다음을 완료한 상태여야 합니다.

  1. 링크의 pool 등록 정보를 영역에 대해 만든 CPU 풀로 설정합니다. VNIC의 존재 여부에 따라 다음 단계 중 하나를 수행합니다.
    • VNIC가 아직 생성되지 않은 경우 다음 구문을 사용합니다.

      # dladm create-vnic -l link -p pool=pool vnic

      여기서 pool은 영역에 대해 생성된 풀의 이름을 나타냅니다.

    • VNIC가 있는 경우 다음 구문을 사용합니다.

      # dladm setlinkprop -p pool=pool vnic
  2. VNIC를 사용하도록 영역을 설정합니다.
    zonecfg>zoneid:net> set physical=vnic

    주 - 영역에 네트워킹 인터페이스를 할당하는 방법을 설명하는 전체 단계는 Oracle Solaris 관리: Oracle Solaris Zones, Oracle Solaris 10 Zones 및 리소스 관리의 영역 구성, 확인 및 커밋을 참조하십시오.


예 21-6 배타적 IP 유형을 사용하여 영역에 링크의 CPU 풀 할당

이 예에서는 영역의 데이터 링크에 풀이 할당되는 방식을 보여줍니다. 이 시나리오는 그림 21-1의 구성을 기반으로 합니다. 이 예에서는 pool99라는 CPU 풀이 영역에 대해 이미 구성되었다고 가정합니다. 그런 다음 VNIC에 풀이 할당됩니다. 최종적으로, 비전역 영역 zone1이 VNIC를 네트워킹 인터페이스로 사용하도록 설정됩니다.

# dladm create-vnic -l e1000g0 -p pool99 vnic0

# zonecfg -c zone1
zonecfg:zone1> set ip-type=exclusive
zonecfg:zone1> add net
zonecfg:zone1>net> set physical=vnic0
zonecfg:zone1>net> end
zonecfg:zone1> exit

링크에 CPU를 할당하는 방법

다음 절차에서는 cpu 등록 정보를 구성하여 데이터 링크를 순회하는 트래픽을 처리하도록 특정 CPU를 할당하는 방법에 대해 설명합니다.

  1. 인터페이스에 대한 CPU 할당을 확인합니다.
    # dladm show-linkprop -p cpus link

    기본적으로 특정 인터페이스에는 CPU가 할당되지 않습니다. 따라서 명령 출력 결과의 VALUE 매개변수에는 항목이 포함되지 않습니다.

  2. 인터럽트 및 인터럽트가 연결된 CPU를 나열합니다.
    # echo ::interrupts | mdb -k

    CPU 번호를 포함하여 시스템의 각 링크에 대한 매개변수가 출력 결과에 나열됩니다.

  3. 링크에 CPU를 할당합니다.

    CPU는 링크의 인터럽트가 연결된 CPU를 포함할 수 있습니다.

    # dladm set-linkprop -p cpus=cpu1,cpu2,... link

    여기서 cpu1은 링크에 할당할 CPU 번호입니다. 링크 전용으로 여러 CPU를 지정할 수 있습니다.

  4. 링크 인터럽트를 검사하여 새 CPU 할당을 확인합니다.
    # echo ::interrupts | mdb -k
  5. (옵션) 링크와 연결된 CPU를 표시합니다.
    # dladm show-linkprop -p cpus link

예 21-7 인터페이스에 CPU 할당

이 예에서는 그림 18-3internal0 인터페이스에 특정 CPU를 전용으로 지정하는 방법을 보여줍니다.

여러 명령으로 생성된 출력 결과에서 다음 정보를 확인합니다. 알아보기 쉽도록 출력 결과에서 중요한 정보가 강조 표시됩니다.

# dladm show-linkprop -p cpus internal0
LINK          PROPERTY     PERM     VALUE     DEFAULT     POSSIBLE
internal0     cpus         rw       --        --          --

# echo ::interrupts | mdb -k
    Device   Shared   Type   MSG #   State   INO    Mondo   Pil   CPU
external#0   no       MSI    3       enbl    0x1b   0x1b    6     0
internal#0   no       MSI    2       enbl    0x1a   0x1a    6     18

# dladm set-linkprop -p cpus=14,18,19,20 internal0

# dladm show-linkprop -p cpus internal0
LINK        PROPERTY   PERM   VALUE        DEFAULT   POSSIBLE
internal0   cpus       rw     14,18,19,20  --        --

인터럽트가 포함된 모든 지원 스레드가 이제 새로 할당된 CPU 세트로 제한됩니다.