IT/openstack

OpenStack 설치 (4) - Network 노드 (Neutron)

울티마 2015. 8. 19. 17:20

* Neutron은 많은 수의 VM을 다양한 네트워크 대역에서 운영할 때 좋을 듯

* 한 개의 대역 이내에서 운영이 가능할 경우 보다 간단한 nova-network 사용이 유리함

 

1. 커널 파라미터 조정
# sudo vi /etc/sysctl.conf
net.ipv4.ip_forward=1
net.ipv4.conf.all.rp_filter=0
net.ipv4.conf.default.rp_filter=0

# sudo sysctl -p

2. 패키지 설치 - OpenSwitch, L3 에이전트, DHCP 에이전트
# sudo apt-get install neutron-plugin-ml2 neutron-plugin-openvswitch-agent openvswitch-datapath-dkms neutron-l3-agent neutron-dhcp-agent

3. config 수정

$ sudo rm /var/lib/neutron/neutron.sqlite

$ sudo vi /etc/neutron/neutron.conf
[DEFAULT]
# Identity service
auth_strategy = keystone
# Message broker
rpc_backend = neutron.openstack.common.rpc.impl_kombu
rabbit_host = 192.168.0.221
rabbit_userid = guest
rabbit_password = rabbitpass
# Modular Layer 2 plugin
core_plugin = ml2
service_plugins = router
allow_overlapping_ips = True

[keystone_authtoken]
auth_uri = http://192.168.0.221:5000
auth_host =192.168.0.221
auth_protocol = http
auth_port = 35357
admin_tenant_name = service
admin_user = neutron
admin_password = neutronpass

[database]
connection = mysql://neutron:neutrondbpass@192.168.0.221/neutron

$ sudo vi /etc/neutron/l3_agent.ini
[DEFAULT]
interface_driver = neutron.agent.linux.interface.OVSInterfaceDriver
use_namespaces = True

$ sudo vi /etc/neutron/dhcp_agent.ini
[DEFAULT]
interface_driver = neutron.agent.linux.interface.OVSInterfaceDriver
dhcp_driver = neutron.agent.linux.dhcp.Dnsmasq
use_namespaces = True

$ sudo vi /etc/neutron/metadata_agent.ini
[DEFAULT]
auth_url = http://192.168.0.221:5000/v2.0
auth_region = regionOne
admin_tenant_name = service
admin_user = neutron
admin_password = neutronpass
nova_metadata_ip = 192.168.0.221
metadata_proxy_shared_secret = metadatasecret

- Controller 노드의 Nova API 서비스 재가동
# sudo service nova-api restart

$ sudo vi /etc/neutron/plugins/ml2/ml2_conf.ini
[ml2]
type_drivers = gre
tenant_network_types = gre
mechanism_drivers = openvswitch

[ml2_type_gre]
tunnel_id_ranges = 1:1000

[ovs]
local_ip = 10.10.10.222 #eth1 IP Address
tunnel_type = gre
enable_tunneling = True

[securitygroup]
firewall_driver = neutron.agent.linux.iptables_firewall.OVSHybridIptablesFirewallDriver
enable_security_group = True
metadata_proxy_shared_secret = metadatasecret

4. OpenVswitch 재가동
$ sudo service openvswitch-switch restart
$ sudo ovs-vsctl add-br br-int
$ sudo ovs-vsctl add-br br-ex
$ sudo ovs-vsctl add-port br-ex eth2

5. 서비스 재가동
$ sudo service neutron-dhcp-agent restart
$ sudo service neutron-plugin-openvswitch-agent restart
$ sudo service neutron-dhcp-agent restart
$ sudo service neutron-metadata-agent restart