SR-IOV 패스스루를 허용하도록 포트를 구성한 다음 물리적 네트워크 어댑터를 사용하는 OpenStack 인스턴스를 생성할 수 있습니다.
사전 요구 사항
- vSphere에서 SR-IOV를 사용하도록 설정합니다. "vSphere 네트워킹" 에서 호스트 물리적 어댑터에서 SR-IOV 사용 항목을 참조하십시오.
- SR-IOV 디바이스 전용 계산 클러스터를 생성합니다. DRS 규칙은 이러한 디바이스에 적용되지 않습니다.
- 물리적 디바이스의 MAC 주소를 유지하려면 디바이스에서 패스스루를 사용하도록 설정하기 전에 클러스터를 계산 노드로 추가합니다. 패스스루를 사용하도록 이미 설정된 경우, 사용되지 않도록 설정하고 클러스터를 다시 시작하고 직접 패스스루를 사용하도록 다시 설정할 수 있습니다.
- VMware Integrated OpenStack 캐리어 버전 기능을 사용하도록 설정합니다. 캐리어 버전 기능을 사용하도록 설정을 참조하십시오.
프로시저
- Integrated OpenStack Manager에
root
사용자로 로그인합니다.
- Nova 컴퓨팅 구성을 편집합니다.
viocli update nova-compute
- nova_compute 섹션에서 다음 정보를 추가합니다.
pci:
passthrough_whitelist:
type: multistring
values:
- '{"product_id": "*", "vendor_id": "*", "physical_network": "*"}'
- NSX-T Data Center 배포를 사용하는 경우 vmware 섹션에서 dvs_moid 매개 변수를 추가합니다.
dvs_moid의 값은 SR-IOV 디바이스에 대한 계산 클러스터와 연결된 분산 스위치의 MOID(관리 개체 ID)로 설정합니다.
- 도구 상자를 열고
admin
계정에 대한 암호를 설정합니다.
toolbox
export OS_PASSWORD=admin-password
- SR-IOV 디바이스에 대한 제공자 네트워크를 생성합니다.
- NSX Data Center for vSphere 배포의 경우 VLAN 또는 포트 그룹 네트워크를 생성합니다.
- NSX-T Data Center 배포의 경우 VLAN 또는 불투명 네트워크를 생성합니다.
neutron net-create network-name --tenant-id project-uuid --provider:network_type {vlan | portgroup | nsx-net} --provider:physical_network physical-id [--provider:segmentation_id vlan-id]
옵션 |
설명 |
network-name |
네트워크의 이름을 입력합니다. |
--tenant-id |
포트를 생성하려는 프로젝트에 대한 UUID를 지정합니다. 프로젝트의 UUID는 openstack project list 명령을 실행하여 찾을 수 있습니다. |
--provider:network_type |
VLAN 네트워크에 대해 vlan, 포트 그룹에 대해 portgroup 또는 불투명 네트워크에 대해 nsx-net을 입력합니다. |
--provider:physical_network |
- NSX Data Center for vSphere의 VLAN 네트워크의 경우 분산 스위치의 MOID를 지정합니다.
- NSX-T Data Center의 VLAN 네트워크의 경우 VLAN 전송 영역의 UUID를 지정합니다.
- 포트 그룹 네트워크의 경우 포트 그룹의 MOID를 지정합니다.
- 불투명 네트워크의 경우 논리적 스위치의 UUID를 지정합니다.
|
--provider:segmentation_id |
VLAN 기반 네트워크를 생성하려는 경우 VLAN ID를 입력합니다. |
- 네트워크에서 서브넷을 생성합니다.
neutron subnet-create network-id --tenant-id project-uuid --name subnet-name
옵션 |
설명 |
network-id |
서브넷을 생성하려는 네트워크의 UUID를 지정합니다. 네트워크의 UUID는 openstack network list 명령을 실행하여 찾을 수 있습니다. |
--tenant-id |
서브넷을 생성하려는 프로젝트에 대한 UUID를 지정합니다. |
--name |
서브넷의 이름을 입력합니다. |
- --vnic_type direct 매개 변수를 사용하여 패스스루 지원 포트를 생성합니다.
neutron port-create network-id --tenant-id project-uuid --name port-name --vnic_type direct
옵션 |
설명 |
network-id |
포트를 생성하려는 네트워크의 UUID를 지정합니다. 네트워크의 UUID는 openstack network list 명령을 실행하여 찾을 수 있습니다. |
--tenant-id |
포트를 생성하려는 프로젝트에 대한 UUID를 지정합니다. |
--name |
포트의 이름을 입력합니다. |
참고: 패스스루 지원 포트에 대해서는 포트 보안이 지원되지 않으며 생성된 포트에 대해 사용하지 않도록 자동으로 설정됩니다.
결과
이 절차에서 생성된 포트로 인스턴스를 구성하여 SR-IOV 디바이스를 사용하도록 허용할 수 있습니다.