SR-IOV 또는 DirectPath I/O 패스스루를 허용하도록 포트를 구성한 다음 물리적 하드웨어 인터페이스를 사용하는 OpenStack 인스턴스를 생성할 수 있습니다.
이 절차에서는 OpenStack Neutron을 사용하여 네트워킹 디바이스에 대한 패스스루를 사용하도록 설정합니다. 비네트워킹 디바이스는 비네트워킹 디바이스에 대한 패스스루 구성 항목을 참조하십시오.
사전 요구 사항
vSphere에서 SR-IOV 또는 DirectPath I/O를 사용하도록 설정합니다.
SR-IOV 디바이스 전용 계산 클러스터를 생성합니다. DRS 규칙은 이러한 디바이스에 적용되지 않습니다.
물리적 디바이스의 MAC 주소를 유지하려면 디바이스에서 직접 패스스루를 사용하도록 설정하기 전에 클러스터를 계산 노드로 추가합니다. 직접 패스스루를 사용하도록 이미 설정된 경우, 사용되지 않도록 설정하고 클러스터를 다시 시작하고 직접 패스스루를 사용하도록 다시 설정할 수 있습니다.
프로시저
- OpenStack 관리 서버에
viouser
로 로그인합니다.
- NSX-T Data Center 배포를 사용하는 경우에는 SR-IOV가 사용되도록 설정된 계산 클러스터마다 분산 스위치를 지정합니다.
- 배포에 custom.yml 파일을 사용하지 않는 경우에는 /opt/vmware/vio/custom 디렉토리에 템플릿 custom.yml 파일을 복사합니다.
sudo mkdir -p /opt/vmware/vio/custom
sudo cp /var/lib/vio/ansible/custom/custom.yml.sample /opt/vmware/vio/custom/custom.yml
- 텍스트 편집기에서 /opt/vmware/vio/custom/custom.yml 파일을 엽니다.
- nova_dvs_moid 매개 변수의 주석 처리를 제거합니다.
- 배포에 있는 각 계산 드라이버의 DNS 이름 및 이와 연결된 VDS의 MOID(관리 개체 ID)를 지정합니다.
예:
nova_dvs_moid:
compute01: dvs-35
compute02: dvs-36
각 계산 드라이버의 이름 앞에는 3개의 공백이 있습니다.
- 업데이트된 구성을 배포합니다.
sudo viocli deployment configure
구성을 배포하면 OpenStack 서비스가 일시적으로 중단됩니다.
root
사용자로 전환하고 클라우드 관리자 자격 증명 파일을 로드합니다.
sudo su -
source ~/cloudadmin.rc
- SR-IOV 디바이스에 대한 제공자 네트워크를 생성합니다.
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(관리 개체 ID)를 지정합니다.
NSX-T Data Center의 VLAN 네트워크의 경우 VLAN 전송 영역의 UUID를 지정합니다.
포트 그룹 네트워크의 경우 포트 그룹의 MOID를 지정합니다.
불투명 네트워크의 경우 논리적 스위치의 UUID를 지정합니다.
|
--provider:segmentation_id |
VLAN 기반 네트워크를 생성하려는 경우 VLAN ID를 입력합니다. |
- 패스스루 지원 포트를 생성합니다.
neutron port-create network-id --tenant-id project-uuid --name port-name --vnic_type {direct | direct-physical}
옵션 |
설명 |
network-id |
포트를 생성하려는 네트워크의 UUID를 지정합니다. 네트워크의 UUID는 openstack network list 명령을 실행하여 찾을 수 있습니다. |
--tenant-id |
포트를 생성하려는 프로젝트에 대한 UUID를 지정합니다. |
--name |
포트의 이름을 입력합니다. |
--vnic_type |
SR-IOV의 경우 direct를 입력하고 직접 패스스루의 경우 direct-physical을 입력합니다. |
참고:
direct 및 direct-physical 포트에 대해서는 포트 보안이 지원되지 않으며 생성된 포트에 대해 사용하지 않도록 자동으로 설정됩니다.
결과
이제 이 절차 중에 생성한 포트로 가상 시스템을 구성하여 패스스루 지원 가상 시스템을 배포할 수 있습니다.