Stein 오픈스택 클라우드 서버 구축(7) - 네트워크 서비스 (Neutron) 설치 및 구성

blog post 

 

이번 포스팅에서는 VM의 네트워킹 서비스를 제공하는 Neutron 서비스를 구축해보도록 하겠습니다. 특히 이번 과정에서는 앞서 구성 개요 포스트에서 말씀드린 것과 같이 VM의 네트워크 트래픽 처리를 전담하는 별도의 노드(이하 네트워크 노드)를 구성할 계획입니다. 별도 노드 없이 개별 컴퓨트 노드에서 vm 네트워크 트래픽을 자체적으로 처리하는 구성도 추후에 따로 다루도록 하겠습니다.

 

 

1. 전체 구성

 

본 포스팅을 통해 다음과 같은 서비스를 최종적으로 구성해 보도록 하겠습니다.

 

 

이번 네트워크 서비스를 구성하는 과정에서 위와 같이 총 3개의 노드가 구축됩니다. 기본적인 네트워킹 기능은 Neutron을 통해 제공되며, VM이 Neutron을 통해 네트워킹 서비스를 활용할 수 있어야 하므로 Nova 서비스와 상호작용 합니다.

 

또한 오픈스택 호스트 시스템에서 l2 스위치 서비스로서, 본 과정에서는 openvswitch를 중심으로 진행합니다. 물론 경우에 따라서 linuxbridge 서비스로 대체할 수 있습니다. 두 스위치 에이전트 타입 모두 오픈스택의 l2 기반 네트워크 구성에 필요한 대부분의 기능을 제공하기 때문에 기능상의 큰 차이는 없으나, 관리자 입장에서 openvswitch 나 linuxbridge의 커맨드에 대한 친숙도에 따라 선택적으로 진행하실 것을 추천드립니다. 두 에이전트의 커맨드를 사용하는 방식이 완전히 다르기 때문입니다. 결과적으로 추후에 모든 오픈스택 시스템을 구축 완료한 후에 에이전트 타입을 다시 바꾸는 과정이 쉽지 않기 때문에 본 구축 과정을 통해 확실히 스위치 에이전트 타입을 결정하고 진행하시길 바랍니다.

 

다음 과정에서 컨트롤러, 컴퓨트, 네트워크 노드 별로 구성하도록 하겠습니다.

 

 

 

컨트롤러 노드 구성

 

 

앞서 구성한 Nova 서비스와 마찬가지로 Neutron 서비스 역시 컨트롤러 노드에서는 전체 네트워크 정보, 메타데이터 등을 관리하는 서버역할을 담당합니다. 다음 과정을 컨트롤러 노드에서 진행합니다.

 

 

 

1. Neutron 서비스 사용자 및 역할 추가

 

 

다음과 같이 Neutron 서비스에 대하여 사용자, 역할 등을 추가합니다.

 

# 사용자로서 neutron을 추가합니다. servicepassword 부분은 본인이 원하는 패스워드로 변경.
[root@Controller ~]# openstack user create --domain default --project service --password servicepassword neutron 
+---------------------+----------------------------------+
| Field               | Value                            |
+---------------------+----------------------------------+
| default_project_id  | 8d3e3541755f454f84dafacd37b4303c |
| domain_id           | default                          |
| enabled             | True                             |
| id                  | 4250b123569f460d84061fd3c7ae476e |
| name                | neutron                          |
| options             | {}                               |
| password_expires_at | None                             |
+---------------------+----------------------------------+

# 방금 추가한 사용자 neutron에 관리자(admin)역할을 부여합니다.
[root@Controller ~]# openstack role add --project service --user neutron admin

# 사용자 neutron을 서비스 엔트리에 저장합니다.
[root@Controller ~]# openstack service create --name neutron --description "OpenStack Networking service" network 
+-------------+----------------------------------+
| Field       | Value                            |
+-------------+----------------------------------+
| description | OpenStack Networking service     |
| enabled     | True                             |
| id          | c2f7a49a68e74c078851f2767d668227 |
| name        | neutron                          |
| type        | network                          |
+-------------+----------------------------------+

# keystone의 호스트(즉 컨트롤러 노드의 통신용ip)를 환경변수로 지정합니다.
[root@Controller ~]# export controller=10.0.0.26

# neutron 서비스의 endpoint를 추가합니다. (public)
[root@Controller ~]# openstack endpoint create --region RegionOne network public http://$controller:9696 
+--------------+----------------------------------+
| Field        | Value                            |
+--------------+----------------------------------+
| enabled      | True                             |
| id           | d785220b47834b6e9165897f617c4c86 |
| interface    | public                           |
| region       | RegionOne                        |
| region_id    | RegionOne                        |
| service_id   | c2f7a49a68e74c078851f2767d668227 |
| service_name | neutron                          |
| service_type | network                          |
| url          | http://10.0.0.26:9696            |
+--------------+----------------------------------+

# neutron 서비스의 endpoint를 추가합니다. (internal)
[root@Controller ~]# openstack endpoint create --region RegionOne network internal http://$controller:9696 
+--------------+----------------------------------+
| Field        | Value                            |
+--------------+----------------------------------+
| enabled      | True                             |
| id           | 0f1348ceb0274e0d8e11470e56676330 |
| interface    | internal                         |
| region       | RegionOne                        |
| region_id    | RegionOne                        |
| service_id   | c2f7a49a68e74c078851f2767d668227 |
| service_name | neutron                          |
| service_type | network                          |
| url          | http://10.0.0.26:9696            |
+--------------+----------------------------------+

# neutron 서비스의 endpoint를 추가합니다. (admin)
[root@Controller ~]# openstack endpoint create --region RegionOne network admin http://$controller:9696 
+--------------+----------------------------------+
| Field        | Value                            |
+--------------+----------------------------------+
| enabled      | True                             |
| id           | fd01482049d0427592de8c985a0aa443 |
| interface    | admin                            |
| region       | RegionOne                        |
| region_id    | RegionOne                        |
| service_id   | c2f7a49a68e74c078851f2767d668227 |
| service_name | neutron                          |
| service_type | network                          |
| url          | http://10.0.0.26:9696            |
+--------------+----------------------------------+

 

2. DB 생성

 

 

다음과 같이 Neutron DB를 생성합니다.

 

[root@Controller ~]# mysql -u root -p 
Enter password:
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 56
Server version: 10.3.10-MariaDB MariaDB Server

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

# 아래 password에 본인이 원하는 패스워드로 대체하여 입력합니다.
MariaDB [(none)]> create database neutron_ml2; 
Query OK, 1 row affected (0.00 sec)
MariaDB [(none)]> grant all privileges on neutron_ml2.* to neutron@'localhost' identified by 'password'; 
Query OK, 0 rows affected (0.00 sec)
MariaDB [(none)]> grant all privileges on neutron_ml2.* to neutron@'%' identified by 'password'; 
Query OK, 0 rows affected (0.00 sec)
MariaDB [(none)]> flush privileges; 
Query OK, 0 rows affected (0.00 sec)
MariaDB [(none)]> exit 
Bye

 

 

 

3. Neutron 서버 설치 및 구성

 

 

Neutron 서버 구성에 필요한 서비스를 설치합니다.

 

[root@Controller ~]# yum --enablerepo=centos-openstack-stein,epel -y install openstack-neutron openstack-neutron-ml2

 

neutron.conf 파일을 아래와 같이 새로 생성하거나 기존 옵션 파일을 사용하여 옵션 값을 지정해 줍니다.

// 필요한 옵션만 설정하기 위해 기본 neutron.conf 옵션 파일을 백업하고 새로운 옵션 파일을 만듭니다.
// 참고: 만약 기존 neutron 옵션 파일을 그냥 사용하고자 하는 경우에는 아래 mv 작업을 하지 않아도 무관합니다.
[root@Controller ~]# mv /etc/neutron/neutron.conf /etc/neutron/neutron.conf.org 
[root@Controller ~]# vi /etc/neutron/neutron.conf

// 만약 옵션 파일을 새로 만들 경우에는 아래 옵션 전체를 입력합니다.
// 기존 옵션 파일을 사용하고자 하는 경우에는 옵션을 직접 찾아서 아래 값으로 바꿔줍니다.
[DEFAULT]
core_plugin = ml2
service_plugins = router
auth_strategy = keystone
state_path = /var/lib/neutron
dhcp_agent_notification = True
allow_overlapping_ips = True
notify_nova_on_port_status_changes = True
notify_nova_on_port_data_changes = True

# 자신의 rabbitmq 관련 정보를 입력합니다 (ip, password 변경)
transport_url = rabbit://openstack:password@10.0.0.26

# Keystone 인증 정보입니다. 
# 아래 ip들을 keystone이 세팅된 현재 컨트롤러 노드의 통신용 포트의 ip로 바꾸고 password 부분을 본인의 패스워드로 변경합니다.
[keystone_authtoken]
www_authenticate_uri = http://10.0.0.26:5000
auth_url = http://10.0.0.26:5000
memcached_servers = 10.0.0.26:11211
auth_type = password
project_domain_name = default
user_domain_name = default
project_name = service
username = neutron
password = servicepassword

# 방금 생성한 neutron db 정보입니다. password와 ip에 본인의 구성에 맞게 변경합니다.
[database]
connection = mysql+pymysql://neutron:password@10.0.0.26/neutron_ml2

# nova 서비스 정보입니다. 
# ip와 password 부분을 본인의 정보로 변경합니다.
[nova]
auth_url = http://10.0.0.26:5000
auth_type = password
project_domain_name = default
user_domain_name = default
region_name = RegionOne
project_name = service
username = nova
password = servicepassword

[oslo_concurrency]
lock_path = $state_path/tmp

 

위에서 neutron.conf 파일을 새로 생성했을 경우 해당 파일에 대한 권한을 수정합니다.

 

[root@Controller ~]# chmod 640 /etc/neutron/neutron.conf 
[root@Controller ~]# chgrp neutron /etc/neutron/neutron.conf 

 

metatadata_agent.ini 파일에서 아래와 같이 옵션을 설정합니다.

 

[root@Controller ~]# vi /etc/neutron/metadata_agent.ini

[DEFAULT]
# 아래 정보를 추가합니다.

# Nova API 서버 정보를 명시합니다.
nova_metadata_host = 10.0.0.26

# 메타데이터 프록시에 대한 암호를 metadata_secret으로 지정합니다.
metadata_proxy_shared_secret = metadata_secret

# 아래 옵션의 주석을 해제하고 memcache 서버가 설치된 컨트롤러 노드의 주소로 변경합니다.
memcache_servers = 10.0.0.26:11211

 

ml2 설정을 진행합니다.

 

[root@Controller ~]# vi /etc/neutron/plugins/ml2/ml2_conf.ini
# 아래 [ml2] 섹션 전체를 본 설정 파일의 가장 하단에 추가합니다.
[ml2]
type_drivers = flat,vlan,gre,vxlan
tenant_network_types =
mechanism_drivers = openvswitch
extension_drivers = port_security

 

nova.conf 파일에서도 다음과 같이 neutron 관련 옵션을 설정합니다.

 

[root@Controller ~]# vi /etc/nova/nova.conf
# DEFAULT 섹션에 아래 옵션을 추가해 줍니다.

[DEFAULT]
...
use_neutron = True
linuxnet_interface_driver = nova.network.linux_net.LinuxOVSInterfaceDriver
firewall_driver = nova.virt.firewall.NoopFirewallDriver

# 본 설정 파일 가장 하단에 아래의 [neutron] 섹션 전체를 추가해 줍니다.
# ip 및 servicepassword를 본인이 설정한 neutron 서비스 정보로 바꿔줍니다.
[neutron]
auth_url = http://10.0.0.26:5000
auth_type = password
project_domain_name = default
user_domain_name = default
region_name = RegionOne
project_name = service
username = neutron
password = servicepassword
service_metadata_proxy = True
metadata_proxy_shared_secret = metadata_secret

 

 

4. Selinux 및 방화벽 설정

 

 

Selinux 및 방화벽을 사용하는 경우, 아래와 같이 필요한 서비스 및 포트를 오픈합니다.

 

[root@Controller ~]# yum --enablerepo=centos-openstack-stein -y install openstack-selinux 
[root@Controller ~]# setsebool -P neutron_can_network on 
[root@Controller ~]# setsebool -P daemons_enable_cluster_mode on
[root@Controller ~]# firewall-cmd --add-port=9696/tcp --permanent 
[root@Controller ~]# firewall-cmd --reload

 

 

5. Neutron 서버 시작

 

 

다음과 같이 Neutron 관련 설정을 DB에 반영하고 서비스를 시작합니다.

 

[root@Controller ~]# ln -s /etc/neutron/plugins/ml2/ml2_conf.ini /etc/neutron/plugin.ini 
[root@Controller ~]# su -s /bin/bash neutron -c "neutron-db-manage --config-file /etc/neutron/neutron.conf --config-file /etc/neutron/plugin.ini upgrade head" 
[root@Controller ~]# systemctl start neutron-server neutron-metadata-agent 
[root@Controller ~]# systemctl enable neutron-server neutron-metadata-agent 
[root@Controller ~]# systemctl restart openstack-nova-api

 

 

 

 



 

 

네트워크 노드

 

 

아래 과정을 통해 추후 구축할 가상 네트워크를 구성하기 위한 neutron 서비스를 구성해 줍니다. 다음 작업은 네트워크 노드에서 진행합니다.

 

 

 
1. Neutron 서비스 설치 및 구성

 

 

다음과 같이 네트워킹에 필요한 서비스들을 설치합니다.

 

[root@Network ~]# yum --enablerepo=centos-openstack-stein,epel -y install openstack-neutron openstack-neutron-ml2 openstack-neutron-openvswitch libibverbs

 

Neutron 기본 옵션을 설정합니다.

 

// 필요한 옵션만 설정하기 위해 기본 neutron 옵션 파일을 백업하고 새로운 옵션 파일을 만듭니다.
// 참고: 만약 기존 neutron 옵션 파일을 그냥 사용하고자 하는 경우에는 아래 mv 작업을 하지 않아도 무관합니다.
[root@Network ~]# mv /etc/neutron/neutron.conf /etc/neutron/neutron.conf.org 
[root@Network ~]# vi /etc/neutron/neutron.conf

// 만약 옵션 파일을 새로 만들 경우에는 아래 옵션 전체를 입력합니다.
// 기존 옵션 파일을 사용하고자 하는 경우에는 옵션을 직접 찾아서 아래 값으로 바꿔줍니다.
[DEFAULT]
core_plugin = ml2
service_plugins = router
auth_strategy = keystone
state_path = /var/lib/neutron
allow_overlapping_ips = True

# 자신의 rabbitmq 관련 정보를 입력합니다 (ip, password 변경)
transport_url = rabbit://openstack:password@10.0.0.26

# Keystone 인증 정보입니다. 
# 아래 ip들을 keystone이 세팅된 현재 컨트롤러 노드의 통신용 포트의 ip로 바꾸고 password 부분을 본인의 패스워드로 변경합니다.
[keystone_authtoken]
www_authenticate_uri = http://10.0.0.26:5000
auth_url = http://10.0.0.26:5000
memcached_servers = 10.0.0.26:11211
auth_type = password
project_domain_name = default
user_domain_name = default
project_name = service
username = neutron
password = servicepassword

[oslo_concurrency]
lock_path = $state_path/lock

# 앞서 neutron.conf 파일을 새로 생성했을 경우 해당 파일에 대한 권한을 수정합니다.
[root@Network ~]# chmod 640 /etc/neutron/neutron.conf 
[root@Network ~]# chgrp neutron /etc/neutron/neutron.conf 

 

 

l3 agent 옵션을 설정합니다. l3 에이전트는 주로 가상 네트워크에서 라우터의 동작 방식을 정의합니다.

 

[root@Network ~]# vi /etc/neutron/l3_agent.ini
[DEFAULT]
...
# 아래 옵션을 추가합니다
interface_driver = openvswitch

 

 dhcp 에이전트를 설정합니다.

 

[root@Network ~]# vi /etc/neutron/dhcp_agent.ini
[DEFAULT]
...
# 아래 옵션을 추가합니다.
interface_driver = openvswitch
dhcp_driver = neutron.agent.linux.dhcp.Dnsmasq
enable_isolated_metadata = true

 

metadata 에이전트를 설정합니다.

 

[root@Network ~]# vi /etc/neutron/metadata_agent.ini

[DEFAULT]
#아래 옵션을 추가합니다.

# Nova API 서버 정보를 명시합니다.
nova_metadata_host = 10.0.0.26

# 메타데이터 프록시에 대한 암호를 metadata_secret으로 지정합니다.
metadata_proxy_shared_secret = metadata_secret

# 아래 옵션의 주석을 해제하고 memcache 서버가 설치된 컨트롤러 노드의 주소로 변경합니다.
memcache_servers = 10.0.0.26:11211

 

 

ml2 에이전트를 설정합니다.

 

[root@Network ~]# vi /etc/neutron/plugins/ml2/ml2_conf.ini
# 아래 [ml2] 섹션 전체를 본 설정 파일의 가장 하단에 추가합니다.
[ml2]
type_drivers = flat,vlan,gre,vxlan
tenant_network_types =
mechanism_drivers = openvswitch
extension_drivers = port_security

 

메커니즘 드라이버를 openvswitch로 구성할 계획이므로 openvswitch 설정파일을 지정합니다.

 

[root@Network ~]# vi /etc/neutron/plugins/ml2/openvswitch_agent.ini
# [securitygroup] 섹션을 설정 파일 가장 하단에 추가해 줍니다.
[securitygroup]
firewall_driver = openvswitch
enable_security_group = true
enable_ipset = true

 

 

2. Selinux 설정

 

 

만약 Selinux를 사용중이라면 관련 서비스를 허용합니다.

 

[root@Network ~]# yum --enablerepo=centos-openstack-stein -y install openstack-selinux 
[root@Network ~]# setsebool -P neutron_can_network on 
[root@Network ~]# setsebool -P haproxy_connect_any on 
[root@Network ~]# setsebool -P daemons_enable_cluster_mode on 
[root@Network ~]# vi my-ovsofctl.te
# create new
module my-ovsofctl 1.0;

require {
        type neutron_t;
        class capability sys_rawio;
}

#============= neutron_t ==============
allow neutron_t self:capability sys_rawio;

[root@network ~]# checkmodule -m -M -o my-ovsofctl.mod my-ovsofctl.te 
checkmodule: loading policy configuration from my-ovsofctl.te
checkmodule: policy configuration loaded
checkmodule: writing binary representation (version 17) to my-ovsofctl.mod

[root@Network ~]# semodule_package --outfile my-ovsofctl.pp --module my-ovsofctl.mod 
[root@Network ~]# semodule -i my-ovsofctl.pp 

 

 

3. 서비스 재시작

 

 

서비스를 재시작 합니다.

 

[root@Network ~]# ln -s /etc/neutron/plugins/ml2/ml2_conf.ini /etc/neutron/plugin.ini 
[root@Network ~]# systemctl start openvswitch 
[root@Network ~]# systemctl enable openvswitch 
[root@Network ~]# ovs-vsctl add-br br-int 
[root@Network ~]# for service in dhcp-agent l3-agent metadata-agent openvswitch-agent; do
systemctl start neutron-$service
systemctl enable neutron-$service
done 

 

 

 

컴퓨트 노드

 

 

VM이 네트워크 서비스를 사용하기 위해 컴퓨트 노드에서도 다음 작업을 진행합니다.

 

 

1. Neutron 서비스 설치 및 설정

 

 

다음과 같이 네트워킹 관련 Neutron 서비스를 설치합니다.

 

[root@Compute0 ~]# yum --enablerepo=centos-openstack-stein,epel -y install openstack-neutron openstack-neutron-ml2 openstack-neutron-openvswitch

 

Neutron 서비스 관련 기본 설정을 합니다.

 

// 필요한 옵션만 설정하기 위해 기본 nova 옵션 파일을 백업하고 새로운 옵션 파일을 만듭니다.
// 참고: 만약 기존 nova 옵션 파일을 그냥 사용하고자 하는 경우에는 아래 mv 작업을 하지 않아도 무관합니다.
[root@Compute0 ~]# mv /etc/neutron/neutron.conf /etc/neutron/neutron.conf.org 
[root@Compute0 ~]# vi /etc/neutron/neutron.conf

// 만약 옵션 파일을 새로 만들 경우에는 아래 옵션 전체를 입력합니다.
// 기존 옵션 파일을 사용하고자 하는 경우에는 옵션을 직접 찾아서 아래 값으로 바꿔줍니다.
[DEFAULT]
# 본인의 현재 컨트롤러 노드의 통신용 ip로 입력
core_plugin = ml2
service_plugins = router
auth_strategy = keystone
state_path = /var/lib/neutron
allow_overlapping_ips = True

# 자신의 rabbitmq 관련 정보를 입력합니다 (ip, password 변경)
transport_url = rabbit://openstack:password@10.0.0.26

# Keystone 인증 정보입니다. 
# 아래 ip들을 keystone이 세팅된 현재 컨트롤러 노드의 통신용 포트의 ip로 바꾸고 password 부분을 본인의 패스워드로 변경합니다.
[keystone_authtoken]
www_authenticate_uri = http://10.0.0.26:5000
auth_url = http://10.0.0.26:5000
memcached_servers = 10.0.0.26:11211
auth_type = password
project_domain_name = default
user_domain_name = default
project_name = service
username = neutron
password = servicepassword

[oslo_concurrency]
lock_path = $state_path/lock

# 앞서 neutron.conf 파일을 새로 생성했을 경우 해당 파일에 대한 권한을 수정합니다.
[root@Compute0 ~]# chmod 640 /etc/neutron/neutron.conf 
[root@Compute0 ~]# chgrp neutron /etc/neutron/neutron.conf 

 

ml2 에이전트 기본 설정을 진행합니다.

 

[root@Compute0 ~]# vi /etc/neutron/plugins/ml2/ml2_conf.ini
# 아래 [ml2] 섹션 전체를 본 설정 파일의 가장 하단에 추가합니다.
[ml2]
type_drivers = flat,vlan,gre,vxlan
tenant_network_types =
mechanism_drivers = openvswitch
extension_drivers = port_security

 

메커니즘 드라이버로 openvswitch 옵션을 설정합니다.

 

[root@Compute0 ~]# vi /etc/neutron/plugins/ml2/openvswitch_agent.ini
# [securitygroup] 섹션을 설정 파일 가장 하단에 추가해 줍니다.
[securitygroup]
firewall_driver = openvswitch
enable_security_group = true
enable_ipset = true

 

컴퓨트 노드에서는 Nova 서비스에서도 네트워킹 관련 옵션을 설정합니다.

 

[root@Compute0 ~]# vi /etc/nova/nova.conf

# Default 섹션에서 다음 옵션을 추가/변경합니다.
[DEFAULT]
...
use_neutron = True
linuxnet_interface_driver = nova.network.linux_net.LinuxOVSInterfaceDriver
firewall_driver = nova.virt.firewall.NoopFirewallDriver
vif_plugging_is_fatal = True
vif_plugging_timeout = 300

# 본 설정 파일 가장 하단에 아래의 [neutron] 섹션 전체를 추가해 줍니다.
# ip 및 servicepassword를 본인이 설정한 neutron 서비스 정보로 바꿔줍니다.
[neutron]
auth_url = http://10.0.0.26:5000
auth_type = password
project_domain_name = default
user_domain_name = default
region_name = RegionOne
project_name = service
username = neutron
password = servicepassword
service_metadata_proxy = True
metadata_proxy_shared_secret = metadata_secret

 

 

2. Selinux 설정

 

 

 

만약 Selinux를 사용한다면 아래와 같이 관련 서비스를 허용합니다.

 

[root@Compute0 ~]# yum --enablerepo=centos-openstack-stein -y install openstack-selinux 
[root@Compute0 ~]# setsebool -P neutron_can_network on 
[root@Compute0 ~]# setsebool -P daemons_enable_cluster_mode on 
[root@Compute0 ~]# vi my-ovsofctl.te
# create new
module my-ovsofctl 1.0;

require {
        type neutron_t;
        class capability sys_rawio;
}

#============= neutron_t ==============
allow neutron_t self:capability sys_rawio;

[root@Compute0 ~]# checkmodule -m -M -o my-ovsofctl.mod my-ovsofctl.te 
checkmodule: loading policy configuration from my-ovsofctl.te
checkmodule: policy configuration loaded
checkmodule: writing binary representation (version 17) to my-ovsofctl.mod
[root@Compute0 ~]# semodule_package --outfile my-ovsofctl.pp --module my-ovsofctl.mod 
[root@Compute0 ~]# semodule -i my-ovsofctl.pp 

 

 

3. 서비스 재시작

 

 

다음과 같이 서비스를 재시작 합니다.

 

[root@Compute0 ~]# ln -s /etc/neutron/plugins/ml2/ml2_conf.ini /etc/neutron/plugin.ini 
[root@Compute0 ~]# systemctl start openvswitch 
[root@Compute0 ~]# systemctl enable openvswitch 
[root@Compute0 ~]# ovs-vsctl add-br br-int 
[root@Compute0 ~]# systemctl restart openstack-nova-compute 
[root@Compute0 ~]# systemctl start neutron-openvswitch-agent 
[root@Compute0 ~]# systemctl enable neutron-openvswitch-agent

 

 

여기까지 기본적인 네트워킹 관련 서비스 구축을 마쳤습니다. 추가로 이제 실제 VM이 사용할 테넌트의 네트워크를 설정해야 합니다. 관련 구성은 다음 포스트에서 진행하도록 하겠습니다.

 

TAGS.

Comments