Table of Contents
controller
注意事项
- 安装好组件后使用API执行命令可能会报错Server Internal Error 500。 这多数是由于数据库服务配置不正确导致的。 请检查上一节中提到的数据库安装
- 控制节点的Endpoint可能会由于不正当操作导致异常, 这时其他节点相关服务的日志中会有关于地址解析的日志记录。 可以直接进入数据库相关服务查看endpoints表,若发现其中有localhost.localdomain相关内容可试着改为controller。
Identity Service
- 依照官方提供的安装过程并未出现问题
- 请注意安装过程中的几个概念
- Project:一个Project中有自己的quotas(配额,包括该项目中有多少资源权限,可以创建多少虚拟机等)
- User:可以属于一个或多个Project,包含用户名密码,作为个人登录的凭证。
- Role:定义了一组操作的权限集合,可赋予User。
Image Service
-
执行镜像创建语句
glance image-create --name "cirros-0.3.4-x86_64" --file /tmp/images/ cirros-0.3.4-x86_64-disk.img --disk-format qcow2 --container-format bare --visibility public --progress
可能出现Bad Argument错误,搜索相关问题可能会找到关于Endpoint API版本的问题,而实际上问题可能不在这里。 我曾遇到这个问题始终找不到原因所在, 而重装后问题消失。 所以这个问题八成是配置文件的错误引起的,请仔细检查或重装该节点。
-
这里的镜像是不带GUI的,测试环境足够了。关于创建带有GUI的镜像在以后的章节中介绍。
Compute Service
-
控制节点上安装完Compute节点是没有验证的,在配置完计算节点后进行验证操作。
nova service-list
结果应至少包含以下几个:
Binary Host Zone Status State nova-conductor controller internal enabled up nova-cert controller internal enabled up nova-scheduler controller internal enabled up nova-consoleauth controller internal enabled up nova-compute compute1 nova enabled up 可能包含其他项(应该是不启动状态),但这几项一定要正常。若有问题请检查控制、计算节点的NTP服务和消息队列日志。
-
执行Endpoint验证操作
nova endpoints
结果可能包含Warning,不影响使用。
Network Service
- 控制节点上的网络组件比较简单,保证验证结果包含文档中给出的内容即可。
DashBoard
- Dashboard需要用到Apache,请确保其正确性。
- 安装后可能出现404,400错误。这种错误一般是由于配置不正确导致的,找不出错误的话重新安装。
- 登陆session超时之后就没法再登陆了(至少在FireFox上如此),没有详细错误信息,只提示请联系管理员。 这时候需要清理保存的session和cookie,重新打开主页即可。
- 安装完Dashboard之后很多操作就可以不用命令去执行了,要熟悉其功能。
network
除基础环境外,网络节点只配置了Network Service
组件介绍
- Modular Layer 2 (ML2) plug-in 为实例提供虚拟网络的建立
- Layer-3 (L3) agent 为实例提供路由服务
- DHCP agent 在虚拟网络使用动态地址分配
- metadata agent 为实例提供配置信息,比如身份验证等
Network Service
- 4个组件有四个配置文件,同时还要将ml2的相关内容添加到neutron.conf中。 要确保这5个文件的正确性,分别查看日志排除错误信息。
- 这里需要一个网桥,ex-br与enp2s12(之前没设置IP地址的网卡)绑定,在创建网络之后所有的虚拟机都将由这条通路出去。
创建网络
- 需要一些基本的网络概念,IP地址、子网掩码、子网划分。
- 内部图解
- External network
- 外部网络设置时的IP浮动范围,子网掩码等取决于enp2s12网卡的网络环境。
- 范围内的地址可作为租户网络的网关,绑定给租户路由,为实例提供网络访问。
- 范围内的地址可申请并绑定给某实例,这时该实例可以由ssh或windows远程桌面访问到。其可见性与enp2s12网段相同, 即若外部网络浮动范围内的IP地址为公网地址,则所有人都可以访问;若为内网地址则内网同一网段的人可以访问。
- Tenant network
- 租户网络不唯一,可将虚拟机分配到不同的网络下方便管理。
- 每一个租户网络要对应一个租户路由,该路由器要绑定一个外部网络的IP地址作为网关,使该租户网络可获得网络连接。
- 分配给租户网络的虚拟机将由DHCP agent分配到一个该租户网络下的IP地址。
compute
计算节点配置基础环境后只需要安装计算和网络组件
Compute Service
-
在配置完后访问
可能会报错could not connect to server (1006)。 这里可以先不解决,在*网络节点配置完成后,访问实例*仍然报错的话,在确保网络通畅的情况下清除iptables表项即可。
-
在控制节点上执行
tcpdump -nni eno1 port 5900
- 使用浏览器访问,应该在能看到相关输出,若没有请检查网络。
-
在计算节点上执行
iptables -F
- 这时应该正常了
- 参考内容 https://ask.openstack.org/en/question/46158/vnc-console-failed-to-connect-to-server-code-1006/
-
-
计算节点要保证硬件支持虚拟化,在BIOS中CPU的BIOS CPU virtualization 要启用。
Network Service
- 计算节点只安装了openvswitch服务(ML2),提供了实例的虚拟网络建立。