目录
一、简介
Openstack测试验证主要包括服务状态验证、功能测试、性能测试和高可用测试等部分。
Openstack组件服务比较多,安装部署完成后需要进行状态检查,然后才能创建镜像、虚拟机和云硬盘等资源。此外,对于HA高可用的部署架构,我们还需关系集群的状态,这里需要关心的集群有pacemaker集群、消息队列rabbitmq集群、数据库集群Galera、MongoDB集群。采用pacemake+Haproxy管理Openstack各服务资源,如果一个或两个控制节点或网络节点发生故障,不影响服务的可用性,从而确保Openstack平台的高可用,这里需要进行高可用测试,验证当前高可用架构的有效性。在确保集群状态正常后,再创建镜像、虚拟机、云硬盘等云资源,进行IaaS平台的功能测试。功能测试完成后,再进行平台的性能测试,主要有网络吞吐及I/O测试(物理机、虚拟机)、API并发性能测试、Ceph统一存储性能测试、数据库读写性能测试、磁盘I/O测试(物理盘、云硬盘的IOPS/随机读写/读写带宽等等)。
二、验证脚本
检验Openstack服务状态脚本check-openstack-service-status.sh
1 2 3 4 5 6 | #!/bin/sh . /root/keystonerc_admin openstack compute service list neutron agent-list cinder service-list ceilometer meter-list |
创建镜像测试脚本create-image.sh
1 2 3 4 5 6 | #!/bin/sh name=`uuidgen` . ~/keystonerc_admin openstack image list openstack image create "image-cirros-"$name --file ../../conf/cirros.raw --disk-format raw --container-format bare --public openstack image list |
创建public网络(外网)脚本 create-public-network.sh
1 2 3 4 5 6 | #!/bin/sh . ~/keystonerc_admin neutron net-create --shared --provider:physical_network external --provider:network_type flat public neutron subnet-create --name public-subnet --allocation-pool start=192.168.2.100,end=192.168.2.200 --dns-nameserver 8.8.8.8 --gateway 192.168.2.2 public 192.168.2.0/24 neutron net-update public --router:external openstack network list |
创建租户private网络(虚拟机网络),并创建外网访问的路由器,脚本create-private-network.sh
1 2 3 4 5 6 7 8 9 | #!/bin/sh . ~/keystonerc_admin neutron net-create private neutron subnet-create --name private-subnet --dns-nameserver 8.8.8.8 --gateway 155.100.3.1 private 155.100.3.0/24 openstack network list neutron router-create router neutron router-gateway-set router public neutron router-interface-add router private-subnet neutron router-port-list router |
基于以上镜像和网络资源,创建虚拟机create-vm.sh
1 2 3 4 | #!/bin/sh name=`uuidgen` . ~/keystonerc_admin openstack server create --flavor m1.tiny --image $(openstack image list |grep cirros|head -n 1|awk '{print $2}') --nic net-id=$(openstack network list |grep private|head -n 1|awk '{print $2}') --security-group default demo-vm-$name |
创建卷(云硬盘)create-volume.sh
1 2 3 4 5 | #!/bin/sh name=`uuidgen` . ~/keystonerc_admin cinder create --display-name demo-ceph-volume-$name --display-description "Cinder volume on Ceph" 2 cinder list |
三、参考文档
https://docs.openstack.org/mitaka/install-guide-rdo/glance-verify.html
OpenStack Docs: Verify operation
OpenStack Docs: Verify operation
OpenStack Docs: Verify operation
OpenStack Docs: Verify operation
OpenStackClient — OpenStack Command Line Client 6.1.0.dev69 documentation
四、源码
五、系列文章
“Openstack云平台脚本部署”系列文章目录如下:
Openstack云平台脚本部署之Galera高可用集群配置(二)
Openstack云平台脚本部署之RabbitMQ高可用集群部署(三)
Openstack云平台脚本部署之Memcached配置(五)
Openstack云平台脚本部署之Keystone认证服务配置(六)
Openstack云平台脚本部署之Glance镜像服务配置(七)
Openstack云平台脚本部署之Nova计算服务配置(八)
Openstack云平台脚本部署之Neutron网络服务配置(九)
Openstack云平台脚本部署之Dashboard配置(十)
Openstack云平台脚本部署之Cinder块存储服务配置(十一)
Openstack云平台脚本部署之Ceilometer数据收集服务配置(十二)
Openstack云平台脚本部署之Aodh告警服务配置(十三)
Openstack云平台脚本部署之Ceph存储集群配置(十四)