packstack安裝openstack train後配置網路
packstack allinone方式,在安裝過程中使用選項,參考https://www.rdoproject.org/networking/neutron-with-existing-external-network/
本文是allinone安裝之後,再配置的網路
系統:centos7.9, packstack-train(現在支援的是centos8以上的安裝了)
外網(public)使用flat方式,內網(private)使用的geneve方式,外網可用(flat 或 vlan),內網可用(geneve或vxlan)
注意外網使用flat方式要單獨佔用一個網絡卡。我這是兩網絡卡的環境
ovs-vsctl add-port br-ex eno2
ip link set br-ex up
systemctl restart network
ml2_conf.ini配置
如下,改動了的內容已標黃。
[ml2]
type_drivers=geneve,flat
tenant_network_types=geneve
mechanism_drivers=ovn
path_mtu=0
extension_drivers=port_security,qos
#註釋了firewall_driver,因為參考
[securitygroup]
enable_security_group=True
#firewall_driver=neutron.agent.linux.iptables_firewall.OVSHybridIptablesFirewallDriver
[ml2_type_geneve]
max_header_size=38
vni_ranges=10:100
#設定flat_networks為extnet,通過ovs-vsctl list Open_vSwitch查詢ovn-bridge-mappings值為extnet對映到網橋br-ex
[ml2_type_flat]
flat_networks=extnet
[ovn]
ovn_nb_connection=tcp:172.0.37.22:6641
ovn_sb_connection=tcp:172.0.37.22:6642
ovn_metadata_enabled=True
網絡卡配置
然後br-ex網橋預設是沒有br-ex的,建立檔案/etc/sysconfig/network-scripts/ifcfg-br-ex
DEVICE=br-ex
DEVICETYPE=ovs
TYPE=OVSBridge
BOOTPROTO=static
IPADDR=172.0.37.23
NETMASK=255.255.0.0
GATEWAY=172.0.0.254
DNS1=114.114.114.114
ONBOOT=yes
修改/etc/sysconfig/network-scripts/ifcfg-eno2內容為下,為防止eno2網絡卡原配置還要使用,在原選項前加#註釋掉。我這是有兩個網絡卡的eno1,和eno2,單網絡卡應該也可以,flat要單獨佔用網絡卡
DEVICE=eno2
TYPE=OVSPort
DEVICETYPE=ovs
OVS_BRIDGE=br-ex
ONBOOT=yes
然後重啟網路,會導致當前shell連線斷開,重連就是
systemctl restart network
neutron有個問題,ovs的external_ids的hostname是localhost。而我的實際hostname是localhostname.localdomain
修改ovs服務檔案(永久生效),ovs-vswitchd.service服務中檢視該檔案
vi /usr/share/openvswitch/scripts/ovs-ctl
把hn="$(hostname -f)" || hn="$(uname -n)"
改為hn="$(hostname)" || hn="$(uname -n)"
hostname -f獲取的是前半段localhost。而不是localhost.localdomain,改為hostname
然後重啟服務systemctl restart ovs-vswitchd.service
參考: dashborad建立網路https://blog.csdn.net/qq_28540443/article/details/109184700