OpenStack優化以及配置外網(接上前一篇:CentOS7.5上配置Openstack-Rocky)
接上前一篇:https://www.cnblogs.com/zjd1396/p/9899634.html
四.優化
4.1計算節點磁碟空間管理
上圖可以看出本地磁碟空間總共只有98G,而本機的實際配置如下:
[[email protected] ~]# df -h
檔案系統 容量 已用 可用 已用% 掛載點
/dev/mapper/centos-root 99G 2.2G 92G 3% /
devtmpfs 79G 0 79G 0% /dev
tmpfs 79G 0 79G 0% /dev/shm
tmpfs 79G 11M 79G 1% /run
tmpfs 79G 0 79G 0% /sys/fs/cgroup
/dev/sda1 976M 154M 771M 17% /boot
/dev/mapper/centos-home 996G 72M 945G 1% /home
tmpfs 16G 0 16G 0% /run/user/0
也就是說需要修改儲存例項的路徑到/home(現在預設是/root,root總容量是99G,而home總容量是996G),修改方法為:
ü 先刪除已建立的例項;
ü [[email protected] ~]# mkdir /home/novainstances,用於存放例項,同時[[email protected] ~]# chmod 777 novainstances;
ü 編輯[[email protected] ~]# vi /etc/nova/nova.conf,修改如下引數:instances_path=/home/novainstances;
ü 重啟nova服務:[[email protected] ~]# systemctl restart libvirtd.service openstack-nova-compute.service;
ü 重新整理再看:
ü 建立兩個例項後,可以看到:[[email protected] novainstances]# ll
總用量 16
drwxr-xr-x 2 nova nova 4096 10月 31 11:09 11f2d8cf-5f36-474b-be44-0ba5105923b7
drwxr-xr-x 2 nova nova 4096 10月 31 11:09 945e9730-2c2d-4f1f-97b0-faac8584f8b6
drwxr-xr-x 2 nova nova 4096 10月 31 11:09 _base
drwxr-xr-x 2 nova nova 4096 10月 31 11:09 locks
4.2控制節點磁碟空間管理
上面的安裝過程只在計算節點安裝了nova-compute服務,實際上控制節點也有很強的硬體配置,也可以同樣安裝計算服務來跑例項。(注意,控制節點安裝計算服務也需要像計算節點一樣新增一個yum源,也需要修改儲存例項的路徑。)如下:
ü 現在看只有一個計算節點:
ü 安裝:[[email protected] /]# yum install openstack-nova-compute
ü 啟動服務:
[[email protected] ~]# systemctl restart libvirtd.service openstack-nova-compute.service
[[email protected] ~]# systemctl enable libvirtd.service openstack-nova-compute.service
ü 重新整理:
ü 再建立一個例項,已經跑到這個新計算節點上了:
4.3調整最大例項數等引數
下圖可以看出,系統預設最大例項數只有10:
控制節點上編輯:[[email protected] ~]# vi /etc/nova/nova.conf
在節點[DEFAULT]的最後新增如下引數:
quota_instances=10000
quota_cores=2000
quota_ram=512000000
quota_floating_ips=10000
重啟Nova服務再重新整理:
哈哈,誇張吧!
4.4配置外部網路
4.4.1配置vlan network
4.4.1.1準備工作
如前文所述,本控制節點有多塊網絡卡,其中兩塊連線到同一個交換機10.47.181.1上,第一塊ens44f0配置了地址10.47.181.26,第二塊ens44f1沒有配置地址,但要配置如下兩個引數:
BOOTPROTO=static(這裡用none也可以)
ONBOOT=yes
配置vlan時,就是要求走vlan資料的網絡卡不要配置IP地址。同時要求連線此網絡卡的交換機埠配置為trunk模式,不能是access模式。
剩下需要做的配置在2.9.4、2.9.5、3.2.3和3.2.4四個章節中已包含。
4.4.1.2建立第一個vlan network
來到dashboard,建立一個網路及其子網,配置如下:
其中物理網路default就是2.9.4中所述的物理網絡卡的label。
4.4.1.3建立第二個vlan network
過程同上。最後兩個vlan如下:
4.4.1.4建立例項並關聯網路
配置4個例項,建立例項的嚮導過程中分別選擇上述兩個vlan,完成後看到的網路拓撲圖如下:
4.4.2配置路由
ü 檢查配置頁面:
上面兩個vlan之間是隔離的(同一vlan內之間的例項能互相ping通),為了能互相ping通,需要配置路由。路由服務提供跨subnet互聯互通功能。本次練習沒有物理路由,就用Neutron支援的虛擬路由。
進入dashboard,可能出現找不到路由配置頁面的情況,如下:
此時需要在控制節點上修改配置:
[[email protected] ~]# vi /etc/openstack-dashboard/local_settings
OPENSTACK_NEUTRON_NETWORK = {
'enable_router': True,
......
然後重啟服務:
[[email protected] ~]# systemctl restart httpd.service memcached.service
現在重新整理dashboard後就可以看到了。
ü 檢查2.9.4中配置過的 /etc/neutron/l3_agent.ini
在[DEFAULT]節點修改如下配置:
interface_driver = neutron.agent.linux.interface.OVSInterfaceDriver
ü 回到dashboard上的建立路由頁面:
然後進入此路由的配置頁面,兩次點選增加介面:
將兩個子網分別新增進來,完成後可以看到兩個vlan的閘道器都被新增進來了:
此時兩個vlan之間的例項都可以互相ping通了。
4.4.3配置浮動IP
正常情況下,網路節點應該有第三塊物理網絡卡專門用於和外網互通。(比如我現在練習用的環境中,辦公網是10.*.*.*,而上面建立的幾個例項是192.168.*.*。)我們通過這第三塊物理網絡卡來給例項配置一個10網段的地址,這樣通過辦公網路就能直接訪問這些例項了。
如果有第三塊網絡卡,則步驟為:
ü 還是先在網路節點(即現在合一的控制節點)上新增網橋,把第三塊物理網絡卡加入到網橋:
[[email protected] ~]# ovs-vsctl add-br br-ex
[[email protected] ~]# ovs-vsctl add-port br-ex ens44f2
其中ens44f2為傳說中的第三塊網絡卡,並注意br-ex與前面為配置路由建立的br-eth不同。網絡卡名稱也不同。
ü 配置:[[email protected] ~]# vi /etc/neutron/plugins/ml2/openvswitch_agent.ini
修改[ovs]節點的如下配置,新增紅色字型:
bridge_mappings = default:br-eth,external:br-ex
ü 編輯:[[email protected] ~]# vi /etc/neutron/plugins/ml2/ml2_conf.ini
在[ml2_type_flat]節點修改如下配置:
flat_networks = external
[ovs]節點再增加如下紅色配置:
physical_interface_mappings = default:ens44f1,external:ens44f2
(這些配置是針對外部網路型別是flat,如果是vlan,則應該在[ml2_type_vlan]中增加如下紅色配置:network_vlan_ranges = default:3001:4000,external)
但目前條件有限,只有兩塊物理網絡卡(第三塊專門用於連線磁陣了)。因此現在嘗試在第二塊網絡卡上打通辦公網,給例項配置浮動IP。上面斜體字寫的配置全部去掉。然後只配置下面一處即可:
ü 編輯:[[email protected] ~]# vi /etc/neutron/l3_agent.ini
在[ml2_type_flat]節點修改如下配置:
external_network_bridge = br-eth
ü 重啟Neutron相關服務:
[[email protected] ~]# systemctl restart openstack-nova-api
[[email protected] ~]# systemctl restart neutron-server.service neutron-openvswitch-agent.service neutron-dhcp-agent.service neutron-metadata-agent.service
[[email protected] ~]# systemctl restart neutron-l3-agent.service
ü 回到dashboard,建立一個外部網路,如下:
其中的物理網路:如果有三塊網絡卡的方案,填寫external,如果是兩塊網絡卡,則填寫default(和前面配置vlan公用一個網絡卡)。
網路地址和閘道器就是現在網路節點(控制節點)真實分配的辦公網的閘道器。
填的地址池是連續的目前空閒的地址。
ü 將ext_net連線到router_100_101:
回到路由配置頁面,為router_100_101配置閘道器:
ü 進入浮動IP設定頁面,點“分配IP給專案”,如下:
反覆執行此分配動作幾次,就從之前設定的地址範圍(10.47.181.44,10.47.181.50)中隨機分配了如下幾個IP地址:
ü 分別給這個地址“關聯”例項即可,關聯後如下:
最後看網路拓撲圖如下:
好了,網路全通啦!!!