1. 程式人生 > >OpenStack優化以及配置外網(接上前一篇:CentOS7.5上配置Openstack-Rocky)

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(現在預設是/rootroot總容量是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 1031 11:09 11f2d8cf-5f36-474b-be44-0ba5105923b7

drwxr-xr-x 2 nova nova 4096 1031 11:09 945e9730-2c2d-4f1f-97b0-faac8584f8b6

drwxr-xr-x 2 nova nova 4096 1031 11:09 _base

drwxr-xr-x 2 nova nova 4096 1031 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.42.9.53.2.33.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地址:

 

ü 分別給這個地址“關聯”例項即可,關聯後如下:

 

最後看網路拓撲圖如下:

 

好了,網路全通啦!!!