7.14.12.5. 중재된 장치 관리
미디어된 장치를 가상 머신에 할당하려면 먼저 장치를 생성하고 클러스터에 노출해야 합니다. 또한 중재된 장치를 재구성하고 제거할 수 있습니다.
7.14.12.5.1. 미디어된 장치 생성 및 노출 링크 복사링크가 클립보드에 복사되었습니다!
관리자는 조정된 장치를 생성하고 HyperConverged CR(사용자 정의 리소스)을 편집하여 클러스터에 노출할 수 있습니다.
사전 요구 사항
- IOMMU(Input-Output Memory Management Unit) 드라이버를 활성화했습니다.
하드웨어 벤더가 드라이버를 제공하는 경우 중재된 장치를 생성하려는 노드에 설치한 것입니다.
- NVIDIA 카드를 사용하는 경우 NVIDIA GRID 드라이버를 설치했습니다.
절차
다음 명령을 실행하여 기본 편집기에서
HyperConvergedCR을 엽니다.$ oc edit hyperconverged kubevirt-hyperconverged -n openshift-cnv예 7.1. 중재 장치가 구성된 구성 파일의 예
apiVersion: hco.kubevirt.io/v1 kind: HyperConverged metadata: name: kubevirt-hyperconverged namespace: openshift-cnv spec: mediatedDevicesConfiguration: mediatedDeviceTypes: - nvidia-231 nodeMediatedDeviceTypes: - mediatedDeviceTypes: - nvidia-233 nodeSelector: kubernetes.io/hostname: node-11.redhat.com permittedHostDevices: mediatedDevices: - mdevNameSelector: GRID T4-2Q resourceName: nvidia.com/GRID_T4-2Q - mdevNameSelector: GRID T4-8Q resourceName: nvidia.com/GRID_T4-8Q # ...spec.mediatedDevicesConfiguration스탠자에 추가하여 중재된 장치를 생성합니다.YAML 스니펫의 예
# ... spec: mediatedDevicesConfiguration: mediatedDeviceTypes:1 - <device_type> nodeMediatedDeviceTypes:2 - mediatedDeviceTypes:3 - <device_type> nodeSelector:4 <node_selector_key>: <node_selector_value> # ...중요OpenShift Virtualization 4.14 이전에는
mediatedDeviceTypes필드의 이름이mediatedDevicesTypes로 지정되었습니다. 중재된 장치를 구성할 때 올바른 필드 이름을 사용해야 합니다.클러스터에 노출하려는 장치의 이름 선택기 및 리소스 이름 값을 식별합니다. 다음 단계에서 이러한 값을
HyperConvergedCR에 추가합니다.다음 명령을 실행하여
resourceName값을 찾습니다.$ oc get $NODE -o json \ | jq '.status.allocatable \ | with_entries(select(.key | startswith("nvidia.com/"))) \ | with_entries(select(.value != "0"))'/sys/bus/pci/devices/<slot>:<bus>:<domain>.<function>/mdev_supported_types/<type>/name을 확인하여mdevNameSelector값을 찾습니다.예를 들어
nvidia-231유형의 이름 파일에는 선택기 문자열GRID T4-2Q가 포함되어 있습니다.GRID T4-2Q를mdevNameSelector값으로 사용하면 노드에서nvidia-231유형을 사용할 수 있습니다.
HyperConvergedCR의spec.permittedHostDevices.mediatedDevices스탠자에mdevNameSelector및resourceName값을 추가하여 중재된 장치를 클러스터에 노출합니다.YAML 스니펫의 예
# ... permittedHostDevices: mediatedDevices: - mdevNameSelector: GRID T4-2Q1 resourceName: nvidia.com/GRID_T4-2Q2 # ...- 변경 사항을 저장하고 편집기를 종료합니다.
검증
선택 사항: 다음 명령을 실행하여 장치가 특정 노드에 추가되었는지 확인합니다.
$ oc describe node <node_name>