6.2. VLAN 네트워크 문제 해결
OpenStack Networking은 VLAN 네트워크를 SDN 스위치로 트렁크할 수 있습니다. VLAN 태그가 지정된 프로바이더 네트워크를 지원하므로 가상 인스턴스가 실제 네트워크의 서버 서브넷과 통합할 수 있습니다.
VLAN 공급자 네트워크에 대한 연결 문제를 해결하려면 다음 단계를 완료합니다.
ping <gateway-IP-address>
를 사용하여 게이트웨이를 ping합니다.다음 명령을 사용하여 네트워크를 생성하는 이 예제를 고려하십시오.
openstack network create --provider-network-type vlan --provider-physical-network phy-eno1 --provider-segment 120 provider openstack subnet create --no-dhcp --allocation-pool start=192.168.120.1,end=192.168.120.153 --gateway 192.168.120.254 --network provider public_subnet
Copy to clipboardCopied# openstack network create --provider-network-type vlan --provider-physical-network phy-eno1 --provider-segment 120 provider # openstack subnet create --no-dhcp --allocation-pool start=192.168.120.1,end=192.168.120.153 --gateway 192.168.120.254 --network provider public_subnet
이 예에서 게이트웨이 IP 주소는 192.168.120.254 입니다.
ping 192.168.120.254
Copy to clipboardCopied$ ping 192.168.120.254
ping이 실패하면 다음을 수행합니다.
연결된 VLAN의 네트워크 흐름이 있는지 확인합니다.
VLAN ID가 설정되지 않았을 수 있습니다. 이 예에서 OpenStack Networking은 VLAN 120을 프로바이더 네트워크로 트렁크하도록 구성되어 있습니다. (1단계 예제의 --provider:segmentation_id=120 참조)
ovs-ofctl dump-flows <bridge-name>
명령을 사용하여 브리지 인터페이스에서 VLAN 흐름을 확인합니다.이 예에서는 브리지의 이름은 br-ex:
ovs-ofctl dump-flows br-ex
Copy to clipboardCopied# ovs-ofctl dump-flows br-ex NXST_FLOW reply (xid=0x4): cookie=0x0, duration=987.521s, table=0, n_packets=67897, n_bytes=14065247, idle_age=0, priority=1 actions=NORMAL cookie=0x0, duration=986.979s, table=0, n_packets=8, n_bytes=648, idle_age=977, priority=2,in_port=12 actions=drop
6.2.1. VLAN 구성 및 로그 파일 검토
OpenStack Networking(neutron) 에이전트 -
openstack network agent list
명령을 사용하여 모든 에이전트가 올바른 이름으로 설정 및 등록되었는지 확인합니다.openstack network agent list
Copy to clipboardCopied(overcloud)[stack@undercloud~]$ openstack network agent list +--------------------------------------+--------------------+-----------------------+-------+----------------+ | id | agent_type | host | alive | admin_state_up | +--------------------------------------+--------------------+-----------------------+-------+----------------+ | a08397a8-6600-437d-9013-b2c5b3730c0c | Metadata agent | rhelosp.example.com | :-) | True | | a5153cd2-5881-4fc8-b0ad-be0c97734e6a | L3 agent | rhelosp.example.com | :-) | True | | b54f0be7-c555-43da-ad19-5593a075ddf0 | DHCP agent | rhelosp.example.com | :-) | True | | d2be3cb0-4010-4458-b459-c5eb0d4d354b | Open vSwitch agent | rhelosp.example.com | :-) | True | +--------------------------------------+--------------------+-----------------------+-------+----------------+
- /var/log/containers/neutron/openvswitch-agent.log 를 검토합니다. 이 로그는 생성 프로세스에서 VLAN 트렁킹을 구성하기 위해 ovs-ofctl 명령을 사용했는지 확인합니다.
-
/etc/neutron/l3_agent.ini 파일에서 external_network_bridge 의 유효성을 검사합니다.
external_network_bridge
매개변수에 하드 코딩된 값이 있는 경우 L3-agent와 함께 프로바이더 네트워크를 사용할 수 없으며 필요한 흐름을 생성할 수 없습니다.external_network_bridge
값은 'external_network_bridge = "" ' 형식이어야 합니다. - /etc/neutron/plugin.ini 파일에서 network_vlan_ranges 값을 확인합니다. 공급자 네트워크의 경우 숫자 VLAN ID를 지정하지 마십시오. VLAN 분리 프로젝트 네트워크를 사용하는 경우에만 ID를 지정합니다.
-
OVS 에이전트 구성 파일 브리지 매핑의 유효성을 검사하고
phy-eno1에 매핑된 브리지가 있으며
에 올바르게 연결되어 있는지 확인합니다.eno1