ขั้นตอนการ สร้าง vlan และ config
โดย service ที่ รันในแต่ละโหนดจะเป็นดังภาพ
+ Packet install on compute node
1 2 3 |
apt-get install neutron-plugin-ml2 neutron-plugin-openvswitch-agent |
Service run
1 2 3 4 |
service openvswitch-switch restart service neutron-plugin-openvswitch-agent restart |
+ Packet install on network node
1 2 3 4 |
apt-get install neutron-plugin-ml2 neutron-plugin-openvswitch-agent \ neutron-l3-agent neutron-dhcp-agent neutron-metadata-agent |
Service run
1 2 3 4 5 6 7 |
# service neutron-plugin-openvswitch-agent restart # service neutron-l3-agent restart # service neutron-dhcp-agent restart # service neutron-metadata-agent restart # service openvswtich restart |
+ Packet install on controller node
1 2 3 |
apt-get install neutron-server neutron-plugin-ml2 python-neutronclient |
Service run
1 2 3 |
service neutron-server restart |
Config ส่วนใหญู่จะตาม เอกสาร openstack install แต่เปลี่ยน config ใน /etc/neutron/plugins/ml2/ml2_conf.ini เพื่อปรับ รูปแบบ network.
Config ในแต่ละ node
Controller Node
/etc/neutron/plugins/ml2/ml2_conf.ini บน controller node
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
[ml2] type_drivers = flat,vlan,gre,vxlan tenant_network_types = vlan mechanism_drivers = openvswitch [ml2_type_flat] flat_networks = external [ml2_type_vlan] network_vlan_ranges = external,vlan:1:4094 [ml2_type_gre] [ml2_type_vxlan] [securitygroup] enable_security_group = True enable_ipset = True firewall_driver = neutron.agent.linux.iptables_firewall.OVSHybridIptablesFirewallDriver |
Compute Node
/etc/neutron/plugins/ml2/ml2_conf.ini บน compute node
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
[ml2] type_drivers = flat,vlan,gre,vxlan tenant_network_types = vlan mechanism_drivers = openvswitch [ml2_type_flat] [ml2_type_vlan] network_vlan_ranges = vlan:1:4094 [ml2_type_gre] [ml2_type_vxlan] [securitygroup] enable_security_group = True enable_ipset = True firewall_driver = neutron.agent.linux.iptables_firewall.OVSHybridIptablesFirewallDriver [ovs] bridge_mappings = vlan:br-vlan [agent] |
/etc/nova/nova.conf บน compute node
1 2 3 4 5 6 |
network_api_class = nova.network.neutronv2.api.API security_group_api = neutron linuxnet_interface_driver = nova.network.linux_net.LinuxOVSInterfaceDriver firewall_driver = nova.virt.firewall.NoopFirewallDriver |
Command manual Add Swtich
1 2 3 4 5 |
ovs-vsctl add-br br-vlan ovs-vsctl add-br br-int ovs-vsctl add-port br-vlan {NIC_TO_VLAN(ethx)} |
Network Node
/etc/neutron/plugins/ml2/ml2_conf.ini บน compute node
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
[ml2] type_drivers = flat,vlan,gre,vxlan tenant_network_types = vlan mechanism_drivers = openvswitch [ml2_type_flat] flat_networks = external [ml2_type_vlan] network_vlan_ranges = vlan:1:4094 [ml2_type_gre] [ml2_type_vxlan] [securitygroup] enable_security_group = True enable_ipset = True firewall_driver = neutron.agent.linux.iptables_firewall.OVSHybridIptablesFirewallDriver [ovs] bridge_mappings = vlan:br-vlan,external:br-ex [agent] |
Command manual add port
1 2 3 4 5 6 |
ovs-vsctl add-br br-int ovs-vsctl add-br br-ex ovs-vsctl add-port br-ex {NIC_INTERNET} ;ovs-vsctl add-port br-ex eth1 |
Launch an instance
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
neutron net-create ext-net --router:external True \ --provider:physical_network external --provider:network_type flat neutron subnet-create ext-net --name ext-subnet --allocation-pool \ start=203.0.113.101,end=203.0.113.200 --disable-dhcp \ --gateway 203.0.113.1 203.0.113.0/24 openstack project show admin neutron net-create vlan100 --tenant_id 86ac4ccb6fa247469103c3cc76e138cb --provider:network_type vlan \ --provider:physical_network vlan --provider:segmentation_id 100 neutron net-create vlan101 --tenant_id 86ac4ccb6fa247469103c3cc76e138cb --provider:network_type vlan \ --provider:physical_network vlan --provider:segmentation_id 101 neutron subnet-create vlan100 --name demo-vlan100 --gateway 192.168.1.1 \ 192.168.1.0/24 neutron router-create demo-router neutron router-interface-add demo-router demo-vlan100 neutron router-gateway-set demo-router ext-net % nova boot --flavor s1.tiny --image cirros-0.3.3-x86_64 --nic net-id=1e11e1b6-62c3-418e-8090-7dca33bdb49d --security-group default app00 |