在OpenStack官方11月26日提供的《安装指南》中提到有一个部署模型,大体如下图所示
(图1 OpenStack系统架构图)
图1表现的是每一个节点中所安装的主要组件以及网络接口信息。更精准的展示如图2所示。图中显示的“Internet”网络接口参考图2中对网络接口的解释。
(图2 OpenStack网络架构图)
图2所示,红色属于管理网络,咖啡色属于虚拟机网络,青色是外部网络,蓝色是存储网络。
OpenStack中各种网络的功能
管理网络一般是带有默认网关的可访问Internet的网络,通过此网络完成各个组件的安装以及内部通信,如数据库、消息队列、keystone等API等数据的传输。每一个节点的管理网络是互通的。
虚拟机网络(隧道网络)不带默认网关(通常一个Linux主机,默认网关只能有一个),此网络接口用于计算节点与网络节点的点对点通信,如openswitch中包含的gre、vxlan等通信,所有的计算节点都能通过此网卡与网络节点进行通信。
外部网络是OpenStack平台中的虚拟机与Internet间的通信,此网络接口同样不需要配置网关,虚拟机网卡通过网桥的方式连接到Internet,实际上,此网卡不进行任何IP配置,即不需要配置IP地址、掩码、网关,启动协议设置为none,但要保证此网卡是开机启动的。
存储网络顾名思义传输的是特定格式的存储数据,不具有默认网关,只要保证计算节点与存储节点间互通即可。
(图3 OpenStack最小系统要求)
关于最小配置,我根据自己的实验环境搭建了一套,经过实际测试,是完全可以用的。具体配置如表格1所示。
控制节点 | 1*2vCPU | 2GB内存 | 1*1Gbps网卡 | 16GB硬盘 | LVM分区 | 管理网络a | ||
网络节点 | 1*2vCPU | 2GB内存 | 2*1Gbps网卡 | 16GB硬盘 | LVM分区 | 管理网络b | 隧道网络a | 外部网络 |
计算节点 | 2*2vCPU | 4GB内存 | 3*1Gbps网卡 | 40GB硬盘 | LVM分区 | 管理网络c | 隧道网络b |
表格1
注释:没有配置任何存储节点。
管理网络abc之间互通。
隧道网络ab之间互通。
OpenStack平台中的虚拟机可以ping通路由器网关以及外部网络所有的网关。
操作系统的部分配置可以参见图4。
(图4 OpenStack操作系统配置参考)
注释:
1.主机名称最好与OpenStack中的组件名称区分开来,例如不要用controller这样的主机名称。
2.IP全部设置为静态IP,管理网络和隧道网络具有相同的IP地址的第四段。
3.配置网卡时,全部设置为开机自启动。
4.因为是测试环境,所以为避免麻烦,可以将所有密码设置为一个简单的相同的密码。
5.控制节点上可以选装图形界面以及qemu-img、qemu-kvm、virt-manager等虚拟化包,便于制作OpenStack image。
6.所有的节点都不需要开启防火墙,此版本的安全组功能与防火墙无关,SELinux也可以禁用掉,否则有时需要用chcon、setsebool等进行处理。
7.如果想在VMware虚拟化平台上实现OpenStack(虚拟化中的虚拟化),要至少满足两个先决条件:
1).开启“外部网络”“分布式交换机”、“标准交换机”或在Nexus 1000v命令行中启用“混杂模式”,关于“混杂模式”,可以去Google一下。
2).VMware ESXi主机必须启用虚拟化中的虚拟化(嵌套虚拟化)功能,方法:
编辑ESXi(5.0及以上)中的/etc/vmware/config,添加vhv.allow ="TRUE",然后重启ESXi主机;
编辑ESXi(5.1及以上)中的/etc/vmware/config,添加vhv.enable ="TRUE",然后重启ESXi主机;
另附一张OpenStack流程图,见下图:
(图5 OpenStack系统流程图)
注释:图片不清楚的参考附件。
end