Oracle® Solaris 11.2에서 OpenStack 설치 및 구성

인쇄 보기 종료

업데이트 날짜: 2015년 4월
 
 

OpenStack에서 내부 네트워크를 구성하는 방법

이 절차는 외부 네트워크를 나타내는 가상 네트워크를 만드는 방법을 보여줍니다. 이 가상 네트워크에서 DHCP는 사용되지 않습니다. 대신 유동 IP 주소가 만들어집니다. 이러한 유동 IP 주소는 특정 테넌트에 지정되며 해당 테넌트에 속하는 사용자용으로 Nova VM 인스턴스에 지정될 수 있습니다.

이 장의 샘플 다중 노드 아키텍처에서 컨트롤러에 Neutron 서비스가 포함되므로 컨트롤러 노드에서 다음 단계를 수행하십시오.

시작하기 전에

이 절차를 수행하려면 테넌트에 대한 내부 네트워크가 이미 있어야 합니다. 개인 네트워크를 만드는 절차는 내부 네트워크를 만드는 방법를 참조하십시오.

또한 l2-typevlan-range 등록 정보가 구성된 것과 같이 탄력적 가상 스위치가 이미 구성되어 있어야 합니다. 다음 예에서는 Step 9에서 이러한 등록 정보 설정을 구성할 때 이러한 설정을 표시하는 방법을 보여줍니다.

controller# evsadm show-controlprop -p l2-type -p vlan-range
PROPERTY   PERM  VALUE      DEFAULT  HOST
l2-type    rw    vlan       vlan     --
vlan-range rw    1,200-300  --       --

외부 네트워크에 연결할 개인 네트워크의 테넌트에 대한 정보도 알고 있어야 합니다. 테넌트 정보는 다음 명령을 사용하여 언제든지 표시할 수 있습니다.

keystone tenant-list

  1. Solaris IP 필터를 사용으로 설정합니다.
    controller# svcadm enable ipfilter
  2. 전체 호스트에서 IP 전달을 사용으로 설정합니다.
    controller# ipadm set-prop -p forwarding=on ipv4
  3. 필수 환경 변수를 설정합니다.
    controller# export OS_USERNAME=neutron
    controller# export OS_PASSWORD=service-password
    controller# export OS_TENANT_NAME=service-name
    controller# export OS_AUTH_URL=http://controller-name:5000/v2.0
  4. 공급자 라우터를 만듭니다.
    controller# neutron router-create router-name

    이 명령은 라우터 이름을 해당 ID와 함께 표시합니다. 이 ID를 사용하여 다음 단계에서 구성 파일을 업데이트합니다.

  5. L3 에이전트 구성 파일을 업데이트합니다.

    /etc/neutron/l3_agent.ini 파일에서 router_id 매개변수의 값을 이전 단계의 라우터 UUID로 설정합니다.

    router_id = router-ID
  6. neutron-l3-agent SMF 서비스를 사용으로 설정합니다.
    controller# svcadm enable neutron-l3-agent
  7. 외부 네트워크를 만듭니다.
    controller# neutron net-create --provider:network_type=vlan \
    --provider:segmentation_id=VLAN-nbr \
    --router:external=true network-name

    여기서 segmentation_id의 값은 VLAN 범위의 첫번째 숫자입니다.

  8. 서브넷을 만들어 이를 외부 네트워크에 연결합니다.

    이 문서의 샘플 구성에서는 DHCP가 사용 안함으로 설정되어 있습니다. 할당 풀은 서브넷에 지정된 유동 IP 주소의 범위로 구성됩니다.

    controller# neutron subnet-create --enable-dhcp=false --name subnet-name \
    --allocation-pool start=start-IP, end=end-IP network-name subnet-IP
    
  9. 라우터에 외부 네트워크를 추가합니다.
    controller# neutron router-gateway-set router-ID network-ID \
    

    주 -  router-ID/etc/neutron/l3_agent.ini 파일에서 얻을 수 있습니다. 필요한 경우 neutron net-list 명령을 사용하여 network-ID를 얻을 수 있습니다.
  10. 라우터에 테넌트의 개인 네트워크를 추가합니다.

    이 단계에서는 라우터 ID와 테넌트의 서브넷 ID가 필요합니다. 이 정보는 다음과 같이 얻을 수 있습니다.

    1. 테넌트의 서브넷 ID를 얻으려면 먼저 테넌트와 해당 ID를 표시한 다음 특정 테넌트 ID의 서브넷을 표시합니다.
      # keystone tenant-list
      # neutron net-list --tenant-id tenant-ID
    2. 라우터에 개인 네트워크를 추가합니다.

      외부 네트워크에 추가하려는 테넌트의 개인 네트워크 수에 따라 이 단계를 반복하십시오.

      controller# neutron router-interface-add router-ID subnet-ID
예 4-2  service 테넌트에 대한 외부 네트워크 만들기

다음 예에서는 Figure 3–3의 일부분을 참조로 사용합니다. 이 그림에서 테넌트 A에는 두 개의 VM 인스턴스가 있고, 각 인스턴스는 개인 네트워크에 속해 있습니다. 두 개의 개인 네트워크는 HRENG입니다. 두 개의 VM 인스턴스가 보다 광범위한 네트워크와 통신할 수 있도록 외부 인스턴스에 이러한 두 서브넷이 추가됩니다. 이 예에서는 Neutron 서비스에 대해 기본 사용자 이름과 암호를 사용한다고 가정합니다.

controller# svcadm enable ipfilter
controller# ipadm set-prop -p forwarding=on ipv4

controller# export OS_USERNAME=neutron
controller# export OS_PASSWORD=neutron
controller# export OS_TENANT_NAME=TenantA
controller# export OS_AUTH_URL=http://controller-name:5000/v2.0
controller# neutron router-create ext-router
Created a new router:
+-----------------------+-----------------+
| Field                 | Value           |
+-----------------------+-----------------+
| admin_state_up        | True            |
| external_gateway_info |                 |
| id                    | 97ro5-ut3er     |
| name                  | ext-router      |
| status                | ACTIVE          |
| tenant_id             | abcde12345      |
+-----------------------+-----------------+

이때 router_ID 매개변수를 97ro5-ut3er로 설정하여 /etc/neutron/l3_agent.ini 파일을 업데이트하십시오.

파일을 업데이트한 후 나머지 단계를 진행하십시오.

controller# svcadm enable neutron-l3-agent

controller# neutron net-create --provider:network_type=vlan \
--provider:segmentation_id=1 --router:external=true ext_network
Created a new network:
+--------------------------+-------------------+
| Field                    | Value             |
+--------------------------+-------------------+
| admin_state_up           | True              |
| id                       | 555ext-net555     |
| name                     | ext_network       |
| provider:network_type    | vlan              |
| provider:segmentation_id | 1                 |
| router:external          | True              |
| shared                   | False             |
| status                   | ACTIVE            |
| subnets                  |                   |
| tenant_id                | abcde12345        |
+--------------------------+-------------------+

controller# neutron subnet-create  --enable-dhcp=False \
--name ext_subnet --allocation-pool start=10.134.13.8,end=10.134.13.254 \
ext_network 10.134.13.0/24
Created a new subnet:

+------------------+--------------------------------------------------+
| Field            | Value                                            |
+------------------+--------------------------------------------------+
| allocation_pools | {"start": "10.134.13.8", "end": "10.134.13.254"} |
| cidr             | 10.134.13.0/24                                   |
| dns_nameservers  |                                                  |
| enable_dhcp      | False                                            |
| gateway_ip       | 10.134.13.1                                      |
| host_routes      |                                                  |
| id               | 444sub-net444                                    |
| ip_version       | 4                                                |
| name             | ext_subnet                                       |
| network_id       | 555ext-net555                                    |
| tenant_id        | abcde12345                                       |
+------------------+--------------------------------------------------+

controller# neutron router-gateway-set 97ro5-ut3er 555ext-net555
Set gateway for router 97ro5-ut3er

controller# keystone tenant-list
+------------+---------+---------+
|     id     |   name  | enabled |
+------------+---------+---------+
| 12345abcde | TenantA |  True   |
| 67890fghij | TenantB |  True   |
+------------+---------+---------+

controller# neutron net-list --tenant-id 12345abcde
+------------+------+-------------+
|     id     | name |   subnets   |
+------------+------+-------------+
| 1a3b5c7d9e | HR   | xyz-123-uvw |
| 2f4g6h8i0j | ENG  | 098-r2d2-56 |
+------------+------+-------------+

controller# neutron router-interface-add 97ro5-ut3er xyz-123-uvwHR added to the router.
Added interface xyz-123-uvw to router 97ro5-ut3er.

controller# neutron router-interface-add 97ro5-ut3er 098-r2d2-56ENG added to the router.
Added interface 098-r2d2-56 to router 97ro5-ut3er.

참조