탐색 링크 건너뛰기 | |
인쇄 보기 종료 | |
Oracle Solaris 11.1에서 가상 네트워크 사용 Oracle Solaris 11.1 Information Library (한국어) |
1. Oracle Solaris에서 네트워크 가상화 및 리소스 관리
2. Oracle Solaris에서 가상 네트워크 만들기 및 관리
3. Oracle Solaris의 네트워크 리소스 관리
NIC에서 수신(Rx) 링과 전송(Tx) 링은 각각 시스템이 네트워크 패킷을 받고 보내는 하드웨어 리소스입니다. 다음 절에서는 링의 개요 및 네트워킹 프로세스에 링을 할당하는 데 사용되는 절차를 차례로 제공합니다. 링을 할당하는 명령을 실행할 때 작동하는 방식을 보여주는 예도 제공됩니다.
VNIC 및 기타 데이터 링크와 같은 MAC 클라이언트는 시스템과 다른 네트워크 노드 간의 통신을 사용으로 설정하기 위해 NIC를 통해 구성됩니다. 클라이언트는 구성된 후 Rx 및 Tx 링을 모두 사용하여 각각 네트워크 패킷을 수신하거나 전송합니다. MAC 클라이언트는 하드웨어 기반이거나 소프트웨어 기반일 수 있습니다. 하드웨어 기반 클라이언트는 다음 조건 중 하나를 충족합니다.
하나 이상의 Rx 링을 전용으로 사용합니다.
하나 이상의 Tx 링을 전용으로 사용합니다.
하나 이상의 Rx 링과 하나 이상의 Tx 링을 전용으로 사용합니다.
이러한 조건을 하나도 충족하지 않는 클라이언트는 소프트웨어 기반 MAC 클라이언트입니다.
하드웨어 기반 클라이언트는 NIC에 따라 배타적으로 사용하도록 링을 지정할 수 있습니다. nxge와 같은 NIC는 동적 링 할당을 지원합니다. 이러한 NIC에서는 하드웨어 기반 클라이언트를 구성할 수 있을 뿐만 아니라 링을 할당할 수 있는 경우 해당 클라이언트에 할당할 링 수를 결정하는 유연성도 있습니다. 링 사용은 항상 기본 인터페이스(예: net0)에 최적화됩니다. 주 인터페이스를 주 클라이언트라고도 합니다. 다른 클라이언트의 배타적 사용에 지정되지 않은 사용 가능한 링은 모두 주 인터페이스에 자동으로 지정됩니다.
ixge와 같은 기타 NIC는 정적 링 할당만 지원합니다. 이러한 NIC에서는 하드웨어 기반 클라이언트만 만들 수 있습니다. 클라이언트는 클라이언트당 고정된 링 세트를 사용하여 자동으로 구성됩니다. 고정된 세트는 NIC 드라이버의 초기 구성 도중 결정됩니다. 정적 링 할당과 관련된 드라이버의 초기 구성에 대한 자세한 내용은 Oracle Solaris 11.1 조정 가능 매개변수 참조 설명서을 참조하십시오.
소프트웨어 기반 클라이언트는 링을 배타적으로 사용하지 않습니다. 대신 링을 다른 기존의 소프트웨어 기반 클라이언트 또는 기본 클라이언트와 공유합니다. 소프트웨어 기반 클라이언트가 사용하는 링은 링 할당에서 우선순위를 갖는 하드웨어 기반 클라이언트 수에 따라 달라집니다.
기본 클라이언트 및 다른 보조 클라이언트 사이의 차이점을 이해하는 것이 중요합니다. 기본 클라이언트는 NIC의 물리적 데이터 링크입니다. 설치 중 Oracle Solaris에서 제공하는 일반 이름에 따라 기본 클라이언트는 이름이 netN으로 지정됩니다. 여기서 N은 인스턴스 번호입니다. 데이터 링크의 일반 이름에 대한 설명은 Oracle Solaris 11 네트워킹 소개의 네트워크 장치 및 데이터 링크 이름을 참조하십시오. VNIC는 물리적 데이터 링크를 통해 생성된 보조 클라이언트입니다. 이러한 클라이언트가 하드웨어 기반 클라이언트이면 링을 배타적으로 사용할 수 있습니다. 그렇지 않으면 클라이언트가 소프트웨어 기반입니다.
VLAN을 사용하면 VLAN을 만드는 방법에 따라 링 지정이 다르게 진행됩니다. VLAN은 다음 두 가지 방식 중 하나로 생성됩니다.
dladm create-vlan 하위 명령 사용:
# dladm create-vlan -l link -v vid vlan
dladm create-vnic 하위 명령 사용:
# dladm create-vnic -l link -v vid vnic
dladm create-vlan 하위 명령으로 생성된 VLAN은 기본 인터페이스와 동일한 MAC 주소를 공유합니다. 따라서 이 VLAN은 기본 인터페이스의 Rx 및 Tx 링도 공유합니다. dladm create-vnic 명령을 사용하여 VNIC로 생성된 VLAN에는 기본 인터페이스와 다른 MAC 주소가 있습니다. 이러한 VLAN에 대한 링 할당은 기본 링크에 대한 할당과 독립적입니다. 따라서 NIC가 하드웨어 기반 클라이언트를 지원하는 경우 이 VLAN에 고유한 전용 링을 지정할 수 있습니다.
링을 관리하려면 dladm 명령을 사용하여 두 개의 링 등록 정보를 설정할 수 있습니다.
rxrings는 지정한 링크에 지정된 Rx 링 수를 나타냅니다.
txrings는 지정한 링크에 지정된 Tx 링 수를 나타냅니다.
각 등록 정보를 세 가지 가능한 값 중 하나로 설정할 수 있습니다.
sw는 소프트웨어 기반 클라이언트를 구성하고 있음을 나타냅니다. 클라이언트는 링을 배타적으로 사용하지 않습니다. 대신 클라이언트는 유사하게 구성된 다른 기존 클라이언트와 링을 공유합니다.
n > 0(0보다 큰 수)은 하드웨어 기반 클라이언트의 구성에만 적용됩니다. 이 숫자는 배타적 사용을 위해 클라이언트에 할당되는 링의 수량을 나타냅니다. 기본 NIC가 동적 링 할당을 지원하는 경우에만 숫자를 지정할 수 있습니다.
hw도 하드웨어 기반 클라이언트의 구성에 적용됩니다. 하지만 이러한 클라이언트의 경우 실제 전용 링 수를 지정할 수 없습니다. 대신 클라이언트당 고정된 링 수가 NIC 드라이버의 초기 구성에 따라 이미 설정되어 있습니다. 기본 NIC가 정적 링 할당을 지원하는 경우에만 *rings 등록 정보를 hw로 설정합니다.
현재 링 지정 및 사용에 대한 정보를 제공하려면 다음과 같은 추가 읽기 전용 링 등록 정보를 사용할 수 있습니다.
rxrings-available 및 txrings-available은 할당할 수 있는 Rx 및 Tx 링 수를 나타냅니다.
rxhwclnt-available 및 txhwclnt-available은 NIC에 구성할 수 있는 Rx 및 Tx 하드웨어 기반 클라이언트 수를 나타냅니다.
데이터 링크의 수신 및 전송 링 사용을 관리하려면 다음 주요 dladm 하위 명령을 사용합니다.
dladm show-linkprop – Rx 및 Tx 링을 포함하여 링크 등록 정보의 현재 값을 표시합니다. 출력 결과에는 데이터 링크의 링 지원 기능에 대한 다음 정보가 제공됩니다. Rx 및 Tx 링을 사용하도록 구성할 수 있는 클라이언트 유형을 확인하려면 이 정보가 필요합니다.
만들 수 있는 사용 가능한 클라이언트
사용 가능한 클라이언트에 할당할 수 있는 사용 가능한 링
동적 및 정적 링 할당을 지원할 수 있는 기능
정적 링 할당만 지원될 경우 기존 클라이언트에 대한 현재 링 배포
링 할당에 대한 데이터 링크 등록 정보에서는 이 명령의 출력 결과를 해석하는 방법에 대해 보다 자세히 설명합니다.
dladm show-phys -H datalink – 물리적 데이터 링크의 링이 기존 클라이언트에서 현재 사용되는 방식을 표시합니다.
dladm create-vnic -p ring-properties vnic – 트래픽 서비스를 위해 사용할 특정 개수의 Tx 또는 Rx 링이 포함된 클라이언트를 만듭니다.
dladm set-linkprop -p ring-properties datalink – 해당 링을 사용할 수 있고 링 할당이 지원된다는 가정하에 특정 클라이언트에 링을 할당합니다.
이 단원에서는 데이터 링크의 링 관련 등록 정보를 표시하는 dladm show-linkprop 출력 결과에 대해 설명합니다.
이 단원에서는 링 관련 등록 정보에 대한 명령 출력 결과 예제를 제공하고 가져올 수 있는 정보 유형을 설명합니다. 예제에 사용된 NIC는 다음과 같습니다.
net0(nxge 사용)
net1(ixgbe 사용)
net2(e1000g 사용)
예 3-1 nxge 링 정보
다음 예제에서는 nxge에 대한 링 정보를 보여줍니다.
# dladm show-linkprop net0 LINK PROPERTY PERM VALUE DEFAULT POSSIBLE ... net0 rxrings rw -- -- sw,<1-7> ... net0 txrings rw -- -- sw,<1-7> ... net0 rxrings-available r- 5 -- -- net0 txrings-available r- 5 -- -- net0 rxhwclnt-available r- 2 -- -- net0 txhwclnt-available r- 2 -- -- ...
net0에서는 POSSIBLE 필드의 값이 rxrings 및 txrings에 대해 sw 및 <1-7>입니다. 이러한 값은 nxge가 하드웨어 기반 클라이언트 및 소프트웨어 기반 클라이언트를 모두 지원함을 나타냅니다. <1-7> 범위는 클라이언트에 대해 설정할 수 있는 Rx 링 또는 Tx 링의 개수 한도를 나타냅니다. 범위는 또한 NIC가 수신 및 전송측에서 모두 동적 링 할당을 지원한다는 것을 나타냅니다.
또한 *rings-available 등록 정보는 Rx 링 5개와 Tx 링 5개를 하드웨어 기반 클라이언트에 할당할 수 있음을 나타냅니다.
하지만 *clnt-available 등록 정보는 사용 가능한 Rx 링을 배타적으로 사용할 수 있는 두 클라이언트만 구성할 수 있음을 보여줍니다. 마찬가지로, 사용 가능한 Tx 링을 배타적으로 사용할 수 있는 두 클라이언트만 구성할 수 있습니다.
예 3-2 ixgbe 링 정보
다음 예제에서는 ixgbe에 대한 링 정보를 보여줍니다.
# dladm show-linkprop net1 LINK PROPERTY PERM VALUE DEFAULT POSSIBLE ... net1 rxrings rw -- -- sw,hw ... net1 txrings rw -- -- sw,hw,<1-7> ... net1 rxrings-available r- 0 -- -- net1 txrings-available r- 5 -- -- net1 rxhwclnt-available r- 0 -- -- net1 txhwclnt-available r- 7 -- -- ...
net1의 경우 rxrings 및 txrings 모두에 대한 POSSIBLE 필드 값 sw 및 hw는 ixgbe가 하드웨어 기반 클라이언트와 소프트웨어 기반 클라이언트를 모두 지원함을 나타냅니다. Rx 링에는 정적 링 지정만 지원되며, 이 경우 하드웨어가 각 하드웨어 기반 클라이언트에 고정된 Rx 링 세트를 지정합니다. 하지만 Tx 링에서 <1–7> 범위는 동적 할당이 지원됨을 나타냅니다. 이 예제에서 하드웨어 기반 클라이언트를 최대 7개의 링에 지정하기 위해 Tx 링의 개수를 확인할 수 있습니다.
또한 *rings-available 등록 정보는 Tx 링 5개를 하드웨어 기반 클라이언트에 할당할 수 있지만 Rx 링은 할당할 수 없음을 나타냅니다.
최종적으로, *hwclnt-available 등록 정보를 기반으로 Tx 링을 배타적으로 사용할 하드웨어 기반 Tx 클라이언트를 7개 구성할 수 있습니다. 하지만 동적 Rx 링 할당은 지원되지 않기 때문에 Rx 링을 배타적으로 사용하는 하드웨어 기반 클라이언트를 만들 수 없습니다.
*rings-available 등록 정보 중 하나의 VALUE 필드 아래에 0이 있으면 다음 중 하나를 의미할 수 있습니다.
클라이언트에 할당할 수 있는 링이 더 이상 없습니다.
동적 링 할당이 지원되지 않습니다.
rxrings 및 txrings의 POSSIBLE 필드를 rxrings-available 및 txrings-available의 VALUE 필드와 비교하여 0의 의미를 확인할 수 있습니다.
예를 들어, 다음과 같이 txrings-available이 0이라고 가정합니다.
# dladm show-linkprop net1 LINK PROPERTY PERM VALUE DEFAULT POSSIBLE ... net1 rxrings rw -- -- sw,hw net1 txrings rw -- -- sw,hw,<1-7> net1 rxrings-available r- 0 -- -- net1 txrings-available r- 0 -- -- ...
이 출력 결과에서 rxrings-available의 VALUE 필드는 0이고 rxrings의 POSSIBLE 필드는 sw,hw입니다. 결합된 정보는 NIC가 동적 링 할당을 지원하지 않으므로 Rx 링을 사용할 수 없음을 의미합니다. 전송측에서 txrings-available의 VALUE 필드는 0이고 txrings의 POSSIBLE 필드는 sw,hw,<1-7>입니다. 결합된 정보는 모든 Tx 링이 이미 할당되었기 때문에 Tx 링을 사용할 수 없음을 나타냅니다. 하지만 txrings의 POSSIBLE 필드에 따라 동적 링 할당은 지원됩니다. 따라서 Tx 링을 사용할 수 있게 되면 해당 링을 할당할 수 있습니다.
예 3-3 e1000g 링 정보
다음 예제에서는 e1000g에 대한 링 정보를 보여줍니다.
# dladm show-linkprop net2 LINK PROPERTY PERM VALUE DEFAULT POSSIBLE ... net2 rxrings rw -- -- -- ... net2 txrings rw -- -- -- ... net2 rxrings-available r- 0 -- -- net2 txrings-available r- 0 -- -- net2 rxhwclnt-available r- 0 -- -- net2 txhwclnt-available r- 0 -- -- ...
출력 결과에 따르면 e1000g에서 링 할당이 지원되지 않으므로 링과 하드웨어 기반 클라이언트를 모두 구성할 수 없습니다.
두 개의 읽기 전용 데이터 링크 등록 정보는 데이터 링크의 기존 클라이언트에서 링이 현재 사용되는 방법에 대한 정보를 제공합니다.
rxrings-effective
txrings-effective
링 사용 및 링이 클라이언트에 배포된 링에 대한 정보를 가져오려면 dladm show-linkprop 및 dladm show-phys -H 하위 명령을 모두 사용합니다.
다음 예제에서는 Rx 및 Tx 링 사용 및 이러한 링이 클라이언트 사이에 배포된 방식과 관련하여 두 명령으로 생성되는 서로 다른 출력 결과 유형을 보여줍니다.
예 3-4 기본 클라이언트의 링 사용
기본 클라이언트는 NIC의 물리적 데이터 링크를 통해 구성된 인터페이스입니다. 이 예제에서 NIC는 ixgbe 카드입니다. 기본적으로 해당 데이터 링크는 net0입니다. net0을 통한 IP 인터페이스가 기본 클라이언트입니다.
# dladm show-linkprop net0 LINK PROPERTY PERM VALUE DEFAULT POSSIBLE ... net0 rxrings rw -- -- sw,hw net0 rxrings-effective r 2 -- -- net0 txrings rw -- -- sw,hw,<1-7> net0 txrings-effective r 8 -- -- net0 txrings-available r- 7 -- -- net0 rxrings-available r- 0 -- -- net0 rxhwclnt-available r- 3 -- -- net0 txhwclnt-available r- 7 -- -- ... # dladm show-phys -H net0 LINK RINGTYPE RINGS CLIENTS net0 RX 0-1 <default,mcast> net0 TX 0-7 <default>net0 net0 RX 2-3 net0 net0 RX 4-5 -- net0 RX 6-7 --
출력 결과는 기본 클라이언트 net0에서 링의 사용 및 배포에 대한 다음 정보를 제공합니다.
rxrings-effective는 net0이 두 개의 Rx 링을 자동으로 수신함을 나타냅니다. txrings-effective는 net0에서 8개의 Tx 링이 사용됨을 나타냅니다. 기본적으로 사용되지 않은 모든 링은 주 클라이언트에 자동으로 지정됩니다.
dladm show-phys -H 명령을 기반으로 net0에 할당된 두 개의 Rx 링은 링 2 및 3입니다. Tx 링의 경우 net0은 링 0~7을 사용합니다.
예 3-5 보조 클라이언트의 링 사용
이 예제에서는 net0을 통해 VNIC 클라이언트 vnic1이 구성되었고 ixgbe 카드의 물리적 데이터 링크가 구성된 것으로 가정합니다.
# 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- 1 -- -- ... # dladm show-linkprop net0 LINK PROPERTY PERM VALUE DEFAULT POSSIBLE ... net0 rxrings rw -- -- sw,hw net0 rxrings-effective r- 2 -- -- net0 txrings rw -- -- sw,hw,<1-7> net0 txrings-effective r- -- -- -- net0 txrings-available r- 6 -- -- net0 rxrings-available r- 0 -- -- net0 rxhwclnt-available r- 3 -- -- net0 txhwclnt-available r- 6 -- -- ... # dladm show-phys -H net0 LINK RINGTYPE RINGS CLIENTS net0 RX 0-1 <default,mcast> net0 TX 0,2-7 <default>net0 net0 RX 2-3 net0 net0 RX 4-5 vnic1 net0 RX 6-7 -- net0 TX 1 vnic1
세 가지 명령으로 조합된 출력 결과는 다음 정보를 제공합니다.
vnic1의 rxrings-effective는 이 VNIC가 두 개의 Rx 링을 자동으로 수신함을 나타냅니다. txrings-effective는 vnic1에서 한 개의 Tx 링이 사용됨을 나타냅니다. 이러한 링은 *ring 등록 정보에 대해 설정된 hw 값으로 표시된 것처럼 정적으로 할당됩니다.
dladm show-phys -H 명령을 기반으로 net0에 할당된 두 개의 Rx 링은 링 2 및 3입니다. Tx 링의 경우 net0은 링 0 및 링 2~7을 사용합니다. vnic1은 Tx 링에 대해 링 1을 사용하고 Rx 링에 대해 링 4 및 5를 사용합니다.
vnic1은 정적 링 할당의 하드웨어 기반 클라이언트로 구성됩니다. 따라서 net0을 통해 만들 수 있는 사용 가능한 Tx 하드웨어 클라이언트(txhwclnt-available)의 개수는 6개로 줄어듭니다.
이 절차에서는 링 할당에 대한 지원 유형을 기반으로 데이터 링크에 클라이언트를 구성하는 방법을 설명합니다. 데이터 링크의 링 할당 기능 표시 및 데이터 링크에 대한 링 사용 및 링 지정 표시에 설명된 대로 데이터 링크 링 등록 정보를 표시하는 dladm 명령의 출력 결과를 해석할 수 있는지 확인합니다. 이 정보는 클라이언트 구성 방식을 안내합니다.
# dladm show-linkprop datalink
출력 결과에서 다음을 확인합니다.
NIC가 하드웨어 기반 클라이언트를 지원하는지 여부
NIC가 지원하는 링 할당 유형
하드웨어 기반 클라이언트에 할당할 링의 가용성
링크에 구성할 수 있는 하드웨어 기반 클라이언트의 가용성
NIC가 동적 링 할당을 지원하는 경우 다음 구문을 통해 하드웨어 기반 클라이언트를 만듭니다.
# dladm create-vnic -p rxrings=number[,txrings=number] -l link vnic
클라이언트가 이전에 만들어진 경우 다음 구문을 사용합니다.
# dladm set-linkprop -p rxrings=number[,txrings=number] vnic
주 - 일부 NIC는 Rx 링 또는 Tx 링에서 동적 링 할당을 지원하지만 두 유형에서 모두 지원하지는 않습니다. 동적 링 할당이 지원되는 링 유형에 대해 number를 지정합니다.
NIC가 정적 링 할당을 지원하는 경우 다음 구문을 통해 하드웨어 기반 클라이언트를 만듭니다.
# dladm create-vnic -p rxrings=hw[,txrings=hw] -l link vnic
클라이언트가 이전에 만들어진 경우 다음 구문을 사용합니다.
# dladm set-linkprop -p rxrings=hw[,txrings=hw] vnic
주 - 일부 NIC는 Rx 링 또는 Tx 링에서 정적 링 할당을 지원하지만 두 유형에서 모두 지원하지는 않습니다. 정적 링 할당이 지원되는 링 유형에 대해 hw를 지정합니다.
NIC가 소프트웨어 기반 클라이언트만 지원하는 경우 다음 구문을 통해 하드웨어 기반 클라이언트를 만듭니다.
# dladm create-vnic -p rxrings=sw[,txrings=sw] -l link vnic
클라이언트가 이전에 만들어진 경우 다음 구문을 사용합니다.
# dladm set-linkprop -p rxrings=sw[,txrings=sw] vnic
# dladm show-linkprop vnic
# dladm show-phys -H datalink
참조
Rx 및 Tx 링을 포함하여 가상 네트워크에서 네트워크 트래픽을 처리하기 위해 플로우를 사용하고 시스템 리소스를 할당하는 방법을 표시하는 예제를 보려면 예 3-8을 참조하십시오.