OpenStack优化以及配置外网(接上前一篇:CentOS7.5上配置Openstack-Rocky)

接上前一篇:https://www.cnblogs.com/zjd1396/p/9899634.html

四.优化

4.1计算节点磁盘空间管理

 

上图可以看出本地磁盘空间总共只有98G而本机的实际配置如下:

[root@compute ~]# 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),修改方法为:

ü 先删除已创建的实例;

ü [root@compute ~]# mkdir /home/novainstances,用于存放实例,同时[root@compute ~]# chmod 777 novainstances;

ü 编辑[root@compute ~]# vi /etc/nova/nova.conf,修改如下参数:instances_path=/home/novainstances;

ü 重启nova服务:[root@compute ~]# systemctl restart libvirtd.service openstack-nova-compute.service;

ü 刷新再看:

 

ü 创建两个实例后,可以看到:[root@compute 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源,也需要修改保存实例的路径。)如下:

ü 现在看只有一个计算节点:

 

ü 安装:[root@compute /]# yum install openstack-nova-compute

ü 启动服务:

[root@controller ~]# systemctl restart libvirtd.service openstack-nova-compute.service

[root@controller ~]# systemctl enable libvirtd.service openstack-nova-compute.service

ü 刷新:

 

ü 再创建一个实例,已经跑到这个新计算节点上了:

 

4.3调整最大实例数等参数

下图可以看出,系统缺省最大实例数只有10

 

控制节点上编辑:[root@controller ~]# 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,可能出现找不到路由配置页面的情况,如下:

 

此时需要在控制节点上修改配置:

[root@controller ~]# vi /etc/openstack-dashboard/local_settings

OPENSTACK_NEUTRON_NETWORK = {

    'enable_router': True,

......

然后重启服务:

[root@controller ~]# 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网段的地址,这样通过办公网络就能直接访问这些实例了。

如果有第三块网卡,则步骤为:

ü 还是先在网络节点(即现在合一的控制节点)上添加网桥,把第三块物理网卡加入到网桥:

[root@controller ~]# ovs-vsctl add-br br-ex

[root@controller ~]# ovs-vsctl add-port br-ex ens44f2

其中ens44f2为传说中的第三块网卡,并注意br-ex与前面为配置路由创建的br-eth不同。网卡名称也不同。

ü 配置:[root@controller ~]# vi /etc/neutron/plugins/ml2/openvswitch_agent.ini

修改[ovs]节点的如下配置,新增红色字体:

bridge_mappings = default:br-eth,external:br-ex

ü 编辑:[root@controller ~]# 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上面斜体字写的配置全部去掉。然后只配置下面一处即可:

ü 编辑:[root@controller ~]# vi /etc/neutron/l3_agent.ini

[ml2_type_flat]节点修改如下配置:

external_network_bridge = br-eth

ü 重启Neutron相关服务:

[root@controller ~]# systemctl restart openstack-nova-api

[root@controller ~]# systemctl restart neutron-server.service neutron-openvswitch-agent.service neutron-dhcp-agent.service neutron-metadata-agent.service

[root@controller ~]# 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地址:

 

ü 分别给这个地址“关联”实例即可,关联后如下:

 

最后看网络拓扑图如下:

 

好了,网络全通啦!!!

猜你喜欢

转载自www.cnblogs.com/zjd1396/p/9899649.html
今日推荐