8.5. SR-IOV 네트워크에 가상 머신 연결
다음 단계를 수행하여 VM(가상 머신)을 SR-IOV(Single Root I/O Virtualization) 네트워크에 연결할 수 있습니다.
8.5.1. SR-IOV 네트워크 장치 구성 링크 복사링크가 클립보드에 복사되었습니다!
					SR-IOV Network Operator는 SriovNetworkNodePolicy.sriovnetwork.openshift.io CustomResourceDefinition을 OpenShift Container Platform에 추가합니다. SriovNetworkNodePolicy CR(사용자 정의 리소스)을 만들어 SR-IOV 네트워크 장치를 구성할 수 있습니다.
				
						SriovNetworkNodePolicy 오브젝트에 지정된 구성을 적용하면 SR-IOV Operator가 노드를 비우고 경우에 따라 노드를 재부팅할 수 있습니다.
					
구성 변경 사항을 적용하는 데 몇 분이 걸릴 수 있습니다.
사전 요구 사항
- 
							OpenShift CLI(
oc)를 설치합니다. - 
							
cluster-admin역할의 사용자로 클러스터에 액세스할 수 있어야 합니다. - SR-IOV Network Operator가 설치되어 있습니다.
 - 비운 노드에서 제거된 워크로드를 처리하기 위해 클러스터에 사용 가능한 노드가 충분합니다.
 - SR-IOV 네트워크 장치 구성에 대한 컨트롤 플레인 노드를 선택하지 않았습니다.
 
절차
SriovNetworkNodePolicy오브젝트를 생성한 후 YAML을<name>-sriov-node-network.yaml파일에 저장합니다.<name>을 이 구성의 이름으로 바꿉니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
 - CR 오브젝트의 이름을 지정합니다.
 - 2
 - SR-IOV Operator가 설치된 네임스페이스를 지정합니다.
 - 3
 - SR-IOV 장치 플러그인의 리소스 이름을 지정합니다. 리소스 이름에 대해 여러
SriovNetworkNodePolicy오브젝트를 생성할 수 있습니다. - 4
 - 구성할 노드를 선택하려면 노드 선택기를 지정합니다. 선택한 노드의 SR-IOV 네트워크 장치만 구성됩니다. SR-IOV CNI(Container Network Interface) 플러그인 및 장치 플러그인은 선택한 노드에만 배포됩니다.
 - 5
 - 선택 사항:
0에서99사이의 정수 값을 지정합니다. 숫자가 작을수록 우선 순위가 높아지므로 우선 순위10은 우선 순위99보다 높습니다. 기본값은99입니다. - 6
 - 선택 사항: 가상 기능의 최대 전송 단위(MTU) 값을 지정합니다. 최대 MTU 값은 NIC 모델마다 다를 수 있습니다.
 - 7
 - SR-IOV 물리적 네트워크 장치에 생성할 가상 기능(VF) 수를 지정합니다. Intel NIC(Network Interface Controller)의 경우 VF 수는 장치에서 지원하는 총 VF보다 클 수 없습니다. Mellanox NIC의 경우 VF 수는
128보다 클 수 없습니다. - 8
 nicSelector매핑은 Operator가 구성할 이더넷 장치를 선택합니다. 모든 매개변수에 값을 지정할 필요는 없습니다. 의도하지 않게 이더넷 장치를 선택할 가능성을 최소화하기 위해 이더넷 어댑터를 충분히 정밀하게 식별하는 것이 좋습니다.rootDevices를 지정하면vendor,deviceID또는pfNames의 값도 지정해야 합니다.pfNames와rootDevices를 동시에 지정하는 경우 동일한 장치를 가리키는지 확인하십시오.- 9
 - 선택 사항: SR-IOV 네트워크 장치의 공급업체 16진 코드를 지정합니다. 허용되는 유일한 값은
8086또는15b3입니다. - 10
 - 선택 사항: SR-IOV 네트워크 장치의 장치 16진수 코드를 지정합니다. 허용되는 값은
158b,1015,1017입니다. - 11
 - 선택 사항:이 매개변수는 이더넷 장치에 대한 하나 이상의 PF(물리적 기능) 이름 배열을 허용합니다.
 - 12
 - 이 매개변수는 이더넷 장치의 물리적 기능을 위해 하나 이상의 PCI 버스 주소 배열을 허용합니다. 주소를
0000:02: 00.1형식으로 입력합니다. - 13
 vfio-pci드라이버 유형은 OpenShift Virtualization의 가상 기능에 필요합니다.- 14
 - 선택 사항: 원격 직접 메모리 액세스(RDMA) 모드 사용 여부를 지정합니다. Mellanox 카드의 경우
isRdma를false로 설정합니다. 기본값은false입니다. 
참고isRDMA플래그가true로 설정된 경우 RDMA 가능 VF를 일반 네트워크 장치로 계속 사용할 수 있습니다. 어느 모드에서나 장치를 사용할 수 있습니다.- 
							선택 사항: 
SriovNetworkNodePolicy.Spec.NodeSelector를 사용하여 SR-IOV 가능 클러스터 노드에 레이블을 지정하지 않은 경우 레이블을 지정합니다. 노드 레이블 지정에 대한 자세한 내용은 "노드에서 라벨을 업데이트하는 방법 이해"를 참조하십시오. SriovNetworkNodePolicy오브젝트를 생성합니다.oc create -f <name>-sriov-node-network.yaml
$ oc create -f <name>-sriov-node-network.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow <name>은 이 구성의 이름을 지정합니다.구성 업데이트를 적용하면
sriov-network-operator네임스페이스의 모든 Pod가Running상태로 전환됩니다.SR-IOV 네트워크 장치가 구성되어 있는지 확인하려면 다음 명령을 입력합니다.
<node_name>을 방금 구성한 SR-IOV 네트워크 장치가 있는 노드 이름으로 바꿉니다.oc get sriovnetworknodestates -n openshift-sriov-network-operator <node_name> -o jsonpath='{.status.syncStatus}'$ oc get sriovnetworknodestates -n openshift-sriov-network-operator <node_name> -o jsonpath='{.status.syncStatus}'Copy to Clipboard Copied! Toggle word wrap Toggle overflow 
8.5.2. SR-IOV 추가 네트워크 구성 링크 복사링크가 클립보드에 복사되었습니다!
					SriovNetwork 오브젝트를 생성하여 SR-IOV 하드웨어를 사용하는 추가 네트워크를 구성할 수 있습니다.
				
					SriovNetwork 오브젝트를 생성하면 SR-IOV Network Operator가 NetworkAttachmentDefinition 오브젝트를 자동으로 생성합니다.
				
						SriovNetwork 오브젝트가 running 상태의 Pod 또는 가상 머신에 연결된 경우 SriovNetwork 오브젝트를 수정하거나 삭제하지 마십시오.
					
사전 요구 사항
- 
							OpenShift CLI(
oc)를 설치합니다. - 
							
cluster-admin권한이 있는 사용자로 로그인합니다. 
절차
- 
							다음 
SriovNetwork오브젝트를 생성한 후 YAML을<name>-sriov-network.yaml파일에 저장합니다.<name>을 이 추가 네트워크의 이름으로 변경합니다. 
- 1
 <name>을 오브젝트의 이름으로 바꿉니다. SR-IOV Network Operator는 동일한 이름으로NetworkAttachmentDefinition오브젝트를 생성합니다.- 2
 - SR-IOV Network Operator가 설치된 네임스페이스를 지정합니다.
 - 3
 <sriov_resource_name>을 이 추가 네트워크에 대한 SR-IOV 하드웨어를 정의하는SriovNetworkNodePolicy오브젝트의spec.resourceName매개변수 값으로 바꿉니다.- 4
 <target_namespace>를 SriovNetwork의 대상 네임스페이스로 바꿉니다. 대상 네임스페이스의 pod 또는 가상 머신만 SriovNetwork에 연결할 수 있습니다.- 5
 - 선택 사항:
<vlan>을 추가 네트워크의 VLAN(Virtual LAN) ID로 바꿉니다. 정수 값은0에서4095사이여야 합니다. 기본값은0입니다. - 6
 - 선택 사항:
<spoof_check>를 VF의 위조 확인 모드로 바꿉니다. 허용되는 값은 문자열"on"및"off"입니다.중요SR-IOV Network Operator가 지정한 값을 따옴표로 묶거나 CR을 거부해야 합니다.
 - 7
 - 선택 사항:
<link_state>를 가상 기능(VF)의 링크 상태로 바꿉니다. 허용되는 값은enable,disable및auto입니다. - 8
 - 선택 사항: VF의 경우
<max_tx_rate>를 최대 전송 속도(Mbps)로 바꿉니다. - 9
 - 선택 사항: VF의 경우
<min_tx_rate>를 최소 전송 속도(Mbps)로 바꿉니다. 이 값은 항상 최대 전송 속도보다 작거나 같아야 합니다.참고인텔 NIC는
minTxRate매개변수를 지원하지 않습니다. 자세한 내용은 BZ#1772847에서 참조하십시오. - 10
 - 선택 사항:
<vlan_qos>를 VF의 IEEE 802.1p 우선 순위 레벨로 바꿉니다. 기본값은0입니다. - 11
 - 선택 사항:
<trust_vf>를 VF의 신뢰 모드로 바꿉니다. 허용되는 값은 문자열"on"및"off"입니다.중요SR-IOV Network Operator가 지정한 값을 따옴표로 묶거나 CR을 거부해야 합니다.
 - 12
 - 선택 사항:
<capabilities>를 이 네트워크에 구성할 수 있는 기능으로 바꿉니다. 
오브젝트를 생성하려면 다음 명령을 입력합니다.
<name>을 이 추가 네트워크의 이름으로 변경합니다.oc create -f <name>-sriov-network.yaml
$ oc create -f <name>-sriov-network.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 선택 사항: 이전 단계에서 생성한
SriovNetwork오브젝트에 연결된NetworkAttachmentDefinition오브젝트가 존재하는지 확인하려면 다음 명령을 입력합니다.<namespace>를SriovNetwork오브젝트에 지정한 네임스페이스로 바꿉니다.oc get net-attach-def -n <namespace>
$ oc get net-attach-def -n <namespace>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 
8.5.3. SR-IOV 네트워크에 가상 머신 연결 링크 복사링크가 클립보드에 복사되었습니다!
VM 구성에 네트워크 세부 정보를 포함하여 VM(가상 머신)을 SR-IOV 네트워크에 연결할 수 있습니다.
프로세스
다음 예와 같이 VM 구성의
spec.domain.devices.interfaces및spec.networks스탠자에 SR-IOV 네트워크 세부 정보를 추가합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 가상 머신 구성을 적용합니다.
oc apply -f <vm_sriov>.yaml
$ oc apply -f <vm_sriov>.yaml1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
 - 가상 머신 YAML 파일의 이름입니다.