一 准备网络节点并把相关网络配置好
[root@network0 ~]# vi /etc/sysconfig/network
[root@network0 ~]# cat /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=network0
[root@network0 ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
TYPE=Ethernet
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=static
IPADDR=10.20.0.20
NETMASK=255.255.255.0
[root@network0 ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth1
DEVICE=eth1
TYPE=Ethernet
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=static
IPADDR=172.16.0.20
NETMASK=255.255.255.0
[root@network0 ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth2
DEVICE=eth2
TYPE=Ethernet
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=static
IPADDR=192.168.4.20
NETMASK=255.255.255.0
[root@network0 ~]# service network restart
Shutting down interface eth0: [ OK ]
Shutting down interface eth3: [ OK ]
Shutting down loopback interface: [ OK ]
Bringing up loopback interface: [ OK ]
Bringing up interface eth0: Determining if ip address 10.20.0.20 is already in use for device eth0...
[ OK ]
Bringing up interface eth1: Determining if ip address 172.16.0.20 is already in use for device eth1...
[ OK ]
Bringing up interface eth2: Determining if ip address 192.168.4.20 is already in use for device eth2...
[ OK ]
Bringing up interface eth3:
Determining IP information for eth3... done.
[ OK ]二 安装Neutron相关的包
[root@network0 ~]# yum install -y libvirt openstack-neutron openstack-neutron-ml2 openstack-neutron-openvswitch三 允许ip forward
[root@network0 ~]# vi /etc/sysctl.conf
[root@network0 ~]# cat /etc/sysctl.conf
net.ipv4.ip_forward = 1
net.ipv4.conf.all.rp_filter=0
net.ipv4.conf.default.rp_filter = 0立即生效
[root@network0 ~]# sysctl -p
net.ipv4.ip_forward = 1
net.ipv4.conf.all.rp_filter = 0
net.ipv4.conf.default.rp_filter = 0
net.ipv4.conf.default.accept_source_route = 0
kernel.sysrq = 0
kernel.core_uses_pid = 1
net.ipv4.tcp_syncookies = 1
kernel.msgmnb = 65536
kernel.msgmax = 65536
kernel.shmmax = 68719476736
kernel.shmall = 4294967296
四 配置NTP
[root@network0 ~]# cat /etc/ntp.conf
server 10.20.0.10
fudge 10.20.0.10 stratum 10 # LCL is unsynchronized
[root@network0 ~]# /etc/init.d/ntpd restart
Shutting down ntpd: [ OK ]
Starting ntpd: [ OK ]
[root@network0 ~]# ntpdate -u 10.20.0.10
3 Mar 14:28:20 ntpdate[2934]: adjust time server 10.20.0.10 offset -0.000071 sec
[root@network0 ~]# ntpq -p
remote refid st t when poll reach delay offset jitter
==============================================================================
controller0 LOCAL(0) 6 u 40 64 1 2.939 -0.962 0.000五 配置Neutron keysone 认证
[root@network0 ~]# openstack-config --set /etc/neutron/neutron.conf DEFAULT auth_strategy keystone
st controller0
openstack-config --set /etc/neutron/neutron.conf keystone_authtoken auth_protocol http
openstack-config --set /etc/neutron/neutron.conf keystone_authtoken auth_port 35357
openstack-config --set /etc/neutron/neutron.conf keystone_authtoken admin_tenant_name service
openstack-config --set /etc/neutron/neutron.conf keystone_authtoken admin_user neutron
openstack-config --set /etc/neutron/neutron.conf keystone_authtoken admin_password neutron[root@netwo//controller0:5000config --set /etc/neutron/neutron.conf keystone_authtoken auth_uri http:
[root@network0 ~]# openstack-config --set /etc/neutron/neutron.conf keystone_authtoken auth_host controller0
[root@network0 ~]# openstack-config --set /etc/neutron/neutron.conf keystone_authtoken auth_protocol http
[root@network0 ~]# openstack-config --set /etc/neutron/neutron.conf keystone_authtoken auth_port 35357
[root@network0 ~]# openstack-config --set /etc/neutron/neutron.conf keystone_authtoken admin_tenant_name service
[root@network0 ~]# openstack-config --set /etc/neutron/neutron.conf keystone_authtoken admin_user neutron
[root@network0 ~]# openstack-config --set /etc/neutron/neutron.conf keystone_authtoken admin_password neutron六 配置qpid
[root@network0 ~]# openstack-config --set /etc/neutron/neutron.conf DEFAULT rpc_backend neutron.openstack.common.rpc.impl_qpid
[root@network0 ~]# openstack-config --set /etc/neutron/neutron.conf DEFAULT qpid_hostname 七 配置Neutron 使用ml2 + openvswitch +gre
[root@network0 ~]# openstack-config --set /etc/neutron/neutron.conf DEFAULT core_plugin ml2
[root@network0 ~]# openstack-config --set /etc/neutron/neutron.conf DEFAULT service_plugins router
[root@network0 ~]# openstack-config --set /etc/neutron/plugins/ml2/ml2_conf.ini ml2 type_drivers gre
penvswitch
openstack-config --set /etc/neutron/plugins/ml2/ml2_conf.ini ml2_type_gre tunnel_id_ranges 1:1000
openstack-config --set /etc/neutron/plugins/ml2/ml2_conf.ini ovs local_ip 192.168.4.20
openstack-config --set /etc/neutron/plugins/ml2/ml2_conf.ini ovs tunnel_type gre
openstack-config --set /etc/neutron/plugins/ml2/ml2_conf.ini ovs enable_tunneling True
openstack-config --set /etc/neutron/plugins/ml2/ml2_conf.ini securitygroup firewall_driver neutron.agent.linux.iptables_firewall.OVSHybridIptablesFirewallDriver
openstack-config --set /etc/neutron/plugins/ml2/ml2_conf.ini securitygroup enable_security_group True
[root@network0 ~]# openstack-config --set /etc/neutron/plugins/ml2/ml2_conf.ini ml2 tenant_network_types gre
[root@network0 ~]# openstack-config --set /etc/neutron/plugins/ml2/ml2_conf.ini ml2 mechanism_drivers openvswitch
[root@network0 ~]# openstack-config --set /etc/neutron/plugins/ml2/ml2_conf.ini ml2_type_gre tunnel_id_ranges 1:1000
[root@network0 ~]# openstack-config --set /etc/neutron/plugins/ml2/ml2_conf.ini ovs local_ip 192.168.4.20
[root@network0 ~]# openstack-config --set /etc/neutron/plugins/ml2/ml2_conf.ini ovs tunnel_type gre
[root@network0 ~]# openstack-config --set /etc/neutron/plugins/ml2/ml2_conf.ini ovs enable_tunneling True
[root@network0 ~]# openstack-config --set /etc/neutron/plugins/ml2/ml2_conf.ini securitygroup firewall_driver neutron.agent.linux.iptables_firewall.OVSHybridIptablesFirewallDriver
[root@network0 ~]# openstack-config --set /etc/neutron/plugins/ml2/ml2_conf.ini securitygroup enable_security_group True
[root@network0 ~]# ln -s /etc/neutron/plugins/ml2/ml2_conf.ini /etc/neutron/plugin.ini
[root@network0 ~]# cp /etc/init.d/neutron-openvswitch-agent /etc/init.d/neutronopenvswitch-agent.orig[root@network0 ~]# sed -i 's,plugins/openvswitch/ovs_neutron_plugin.ini,plugin.ini,g' /etc/init.d/neutron-openvswitch-agent八 配置L3
[root@network0 ~]# openstack-config --set /etc/neutron/l3_agent.ini DEFAULT interface_driver neutron.agent.linux.interface.OVSInterfaceDriver
[root@network0 ~]# openstack-config --set /etc/neutron/l3_agent.ini DEFAULT use_namespaces True九 配置dhcp agent
[root@network0 ~]# openstack-config --set /etc/neutron/dhcp_agent.ini DEFAULT interface_driver neutron.agent.linux.interface.OVSInterfaceDriver
[root@network0 ~]# openstack-config --set /etc/neutron/dhcp_agent.ini DEFAULT dhcp_driver neutron.agent.linux.dhcp.Dnsmasq
[root@network0 ~]# openstack-config --set /etc/neutron/dhcp_agent.ini DEFAULT use_namespaces True十 配置metadata agent
[root@network0 ~]# openstack-config --set /etc/neutron/metadata_agent.ini DEFAULT auth_url http://controller0:5000/v2.0
enant_name service
openstack-config --set /etc/neutron/metadata_agent.ini DEFAULT admin_user neutron
openstack-config --set /etc/neutron/metadata_agent.ini DEFAULT admin_password neutron
openstack-config --set /etc/neutron/metadata_agent.ini DEFAULT nova_metadata_ip controller0
openstack-config --set /etc/neutron/metadata_agent.ini DEFAULT metadata_proxy_shared_secret METADATA_SECRET[root@network0 ~]# openstack-config --set /etc/neutron/metadata_agent.ini DEFAULT auth_region rneionO
[root@network0 ~]# openstack-config --set /etc/neutron/metadata_agent.ini DEFAULT admin_tenant_name service
[root@network0 ~]# openstack-config --set /etc/neutron/metadata_agent.ini DEFAULT admin_user neutron
[root@network0 ~]# openstack-config --set /etc/neutron/metadata_agent.ini DEFAULT admin_password neutron
[root@network0 ~]# openstack-config --set /etc/neutron/metadata_agent.ini DEFAULT nova_metadata_ip controller0
[root@network0 ~]# openstack-config --set /etc/neutron/metadata_agent.ini DEFAULT metadata_proxy_shared_secret METADATA_SECRET
[root@network0 ~]# service openvswitch start
/usr/share/openvswitch/scripts/ovs-lib: line 65: /var/log/openvswitch/ovs-ctl.log: No such file or directory
tee: /var/log/openvswitch/ovs-ctl.log: No such file or directory
/etc/openvswitch/conf.db does not exist ... (warning).
Creating empty database /etc/openvswitch/conf.db [ OK ]
Starting ovsdb-server [ OK ]
Configuring Open vSwitch system IDs [ OK ]
Inserting openvswitch module [ OK ]
Starting ovs-vswitchd [ OK ]
Enabling remote OVSDB managers [ OK ]
[root@network0 ~]# chkconfig openvswitch on
[root@network0 ~]# ovs-vsctl add-br br-int
[root@network0 ~]# ovs-vsctl add-br br-ex
[root@network0 ~]# ovs-vsctl add-port br-ex eth1
十一 修改eth1和br-ext 网络配置
[root@network0 ~]# vi /etc/sysconfig/network-scripts/ifcfg-eth1
[root@network0 ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth1
DEVICE=eth1
ONBOOT=yes
BOOTPROTO=none
PROMISC=yes
[root@network0 ~]# vi /etc/sysconfig/network-scripts/ifcfg-br-ex
[root@network0 ~]# cat /etc/sysconfig/network-scripts/ifcfg-br-ex
DEVICE=br-ex
TYPE=Bridge
ONBOOT=no
BOOTPROTO=none
[root@network0 ~]# service network restart
Shutting down interface br-ex: [ OK ]
Shutting down interface eth0: [ OK ]
Shutting down interface eth1: [ OK ]
Shutting down interface eth2: [ OK ]
Shutting down interface eth3: [ OK ]
Shutting down loopback interface: [ OK ]
Bringing up loopback interface: [ OK ]
Bringing up interface eth0: Determining if ip address 10.20.0.20 is already in use for device eth0...
[ OK ]
Bringing up interface eth1: [ OK ]
Bringing up interface eth2: Determining if ip address 192.168.4.20 is already in use for device eth2...
[ OK ]
Bringing up interface eth3:
Determining IP information for eth3... done.
[ OK ]
[root@network0 ~]# ifconfig
br-int Link encap:Ethernet HWaddr 4A:F0:1C:B0:EF:45
inet6 addr: fe80::f871:f6ff:fe29:6b11/64 Scope:Link
UP BROADCAST RUNNING MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:6 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:0 (0.0 b) TX bytes:468 (468.0 b)
eth0 Link encap:Ethernet HWaddr 08:00:27:9C:E5:56
inet addr:10.20.0.20 Bcast:10.20.0.255 Mask:255.255.255.0
inet6 addr: fe80::a00:27ff:fe9c:e556/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:3255 errors:0 dropped:0 overruns:0 frame:0
TX packets:3528 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:255832 (249.8 KiB) TX bytes:617546 (603.0 KiB)
Interrupt:19 Base address:0xd020
eth1 Link encap:Ethernet HWaddr 08:00:27:42:26:7B
inet6 addr: fe80::a00:27ff:fe42:267b/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:10 errors:0 dropped:0 overruns:0 frame:0
TX packets:18 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:1524 (1.4 KiB) TX bytes:1188 (1.1 KiB)
Interrupt:16 Base address:0xd240
eth2 Link encap:Ethernet HWaddr 08:00:27:56:10:6C
inet addr:192.168.4.20 Bcast:192.168.4.255 Mask:255.255.255.0
inet6 addr: fe80::a00:27ff:fe56:106c/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:10 errors:0 dropped:0 overruns:0 frame:0
TX packets:24 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:1524 (1.4 KiB) TX bytes:1440 (1.4 KiB)
Interrupt:17 Base address:0xd260
eth3 Link encap:Ethernet HWaddr 08:00:27:35:5E:AB
inet addr:10.0.5.15 Bcast:10.0.5.255 Mask:255.255.255.0
inet6 addr: fe80::a00:27ff:fe35:5eab/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:31825 errors:0 dropped:0 overruns:0 frame:0
TX packets:16333 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:33255703 (31.7 MiB) TX bytes:997439 (974.0 KiB)
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:5 errors:0 dropped:0 overruns:0 frame:0
TX packets:5 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:872 (872.0 b) TX bytes:872 (872.0 b)
[root@network0 ~]# ip link set br-ex up
[root@network0 ~]# sudo ip addr add 172.16.0.20/24 dev br-ex
[root@network0 ~]# service network restart
Shutting down interface br-ex: [ OK ]
Shutting down interface eth0: [ OK ]
Shutting down interface eth1: [ OK ]
Shutting down interface eth2: [ OK ]
Shutting down interface eth3: [ OK ]
Shutting down loopback interface: [ OK ]
Bringing up loopback interface: [ OK ]
Bringing up interface eth0: Determining if ip address 10.20.0.20 is already in use for device eth0...
[ OK ]
Bringing up interface eth1: [ OK ]
Bringing up interface eth2: Determining if ip address 192.168.4.20 is already in use for device eth2...
[ OK ]
Bringing up interface eth3:
Determining IP information for eth3... done.
[ OK ]十二 启动Neutron服务
[root@network0 ~]# service neutron-openvswitch-agent start
Starting neutron-openvswitch-agent: [ OK ]
[root@network0 ~]# service neutron-l3-agent start
Starting neutron-l3-agent: [ OK ]
[root@network0 ~]# service neutron-dhcp-agent start
Starting neutron-dhcp-agent: [ OK ]
[root@network0 ~]# service neutron-metadata-agent start
Starting neutron-metadata-agent: [ OK ]
[root@network0 ~]# chkconfig neutron-openvswitch-agent on
[root@network0 ~]# chkconfig neutron-l3-agent on
[root@network0 ~]# chkconfig neutron-dhcp-agent on
[root@network0 ~]# chkconfig neutron-metadata-agent on
在控制节点查看
[root@controller0 rules.d]# neutron agent-list
+--------------------------------------+--------------------+----------+-------+----------------+
| id | agent_type | host | alive | admin_state_up |
+--------------------------------------+--------------------+----------+-------+----------------+
| 07d77f19-6b73-4b9e-aefd-571b78106d9c | Open vSwitch agent | network0 | :-) | True |
| 2f7ae2c1-e571-4825-a346-2e976e669436 | L3 agent | network0 | :-) | True |
| 4ec1d9fa-1d0d-485e-bf85-d819d506514a | DHCP agent | network0 | :-) | True |
| 59c83278-443b-43d0-879f-6b7953de5f38 | Metadata agent | network0 | :-) | True |
+--------------------------------------+--------------------+----------+-------+----------------+
reboot
[root@network0 ~]# ps -ef|grep neutron
neutron 2205 1 0 15:01 ? 00:00:00 /usr/bin/python /usr/bin/neutron-dhcp-agent --log-file /var/log/neutron/dhcp-agent.log --config-file /usr/share/neutron/neutron-dist.conf --config-file /etc/neutron/neutron.conf --config-file /etc/neutron/dhcp_agent.ini
neutron 2219 1 0 15:01 ? 00:00:00 /usr/bin/python /usr/bin/neutron-l3-agent --log-file /var/log/neutron/l3-agent.log --config-file /usr/share/neutron/neutron-dist.conf --config-file /etc/neutron/neutron.conf --config-file /etc/neutron/l3_agent.ini --config-file /etc/neutron/fwaas_driver.ini
neutron 2260 1 0 15:01 ? 00:00:00 /usr/bin/python /usr/bin/neutron-metadata-agent --log-file /var/log/neutron/metadata-agent.log --config-file /usr/share/neutron/neutron-dist.conf --config-file /etc/neutron/neutron.conf --config-file /etc/neutron/metadata_agent.ini
neutron 2300 1 0 15:01 ? 00:00:00 /usr/bin/python /usr/bin/neutron-openvswitch-agent --log-file /var/log/neutron/openvswitch-agent.log --config-file /usr/share/neutron/neutron-dist.conf --config-file /etc/neutron/neutron.conf --config-file /etc/neutron/plugin.ini
root 2595 2300 0 15:01 ? 00:00:00 sudo neutron-rootwrap /etc/neutron/rootwrap.conf ovsdb-client monitor Interface name,ofport --format=json
root 2597 2595 0 15:01 ? 00:00:00 /usr/bin/python /usr/bin/neutron-rootwrap /etc/neutron/rootwrap.conf ovsdb-client monitor Interface name,ofport --format=json
root 2758 2710 0 15:02 pts/0 00:00:00 grep neutron
[root@network0 ~]# ip addr add 172.16.0.20/24 dev br-ex十三 验证:网络节点ping控制节点
[root@network0 ~]# ping 172.16.0.10
PING 172.16.0.10 (172.16.0.10) 56(84) bytes of data.
64 bytes from 172.16.0.10: icmp_seq=1 ttl=64 time=3.30 ms
64 bytes from 172.16.0.10: icmp_seq=2 ttl=64 time=0.333 ms
^[64 bytes from 172.16.0.10: icmp_seq=3 ttl=64 time=0.373 ms
64 bytes from 172.16.0.10: icmp_seq=4 ttl=64 time=0.391 ms
64 bytes from 172.16.0.10: icmp_seq=5 ttl=64 time=0.197 ms
^C
--- 172.16.0.10 ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 4175ms
rtt min/avg/max/mdev = 0.197/0.920/3.306/1.194 ms其中控制节点配置如下:
[root@controller0 rules.d]# cat /etc/sysconfig/network-scripts/ifcfg-eth1
DEVICE=eth1
TYPE=Ethernet
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=static
IPADDR=172.16.0.10
NETMASK=255.255.255.0

本文详细介绍了在Linux环境中配置OpenStack Neutron网络服务的过程,包括网络节点的设置、Neutron相关软件包的安装、配置文件的调整等步骤,并验证了配置的有效性。
1845

被折叠的 条评论
为什么被折叠?



