Red Hat Training

A Red Hat training course is available for Red Hat OpenStack Platform

6.2. VLAN 네트워크 문제 해결

OpenStack Networking은 VLAN 네트워크를 SDN 스위치로 트렁크할 수 있습니다. VLAN 태그가 지정된 프로바이더 네트워크를 지원하므로 가상 인스턴스가 실제 네트워크의 서버 서브넷과 통합할 수 있습니다.

VLAN 공급자 네트워크에 대한 연결 문제를 해결하려면 다음 단계를 완료합니다.

  1. 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

    이 예에서 게이트웨이 IP 주소는 192.168.120.254 입니다.

    $ ping 192.168.120.254
  2. ping이 실패하면 다음을 수행합니다.

    1. 연결된 VLAN의 네트워크 흐름이 있는지 확인합니다.

      VLAN ID가 설정되지 않았을 수 있습니다. 이 예에서 OpenStack Networking은 VLAN 120을 프로바이더 네트워크로 트렁크하도록 구성되어 있습니다. (1단계 예제의 --provider:segmentation_id=120 참조)

    2. ovs-ofctl dump-flows <bridge-name> 명령을 사용하여 브리지 인터페이스에서 VLAN 흐름을 확인합니다.

      이 예에서는 브리지의 이름은 br-ex:

      # 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 명령을 사용하여 모든 에이전트가 올바른 이름으로 설정 및 등록되었는지 확인합니다.

    (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 에 올바르게 연결되어 있는지 확인합니다.