一、项目介绍

Shaker项目是由Mirantis发起,专门针对OpenStack网络性能的测试工具。通过模拟不同的网络场景和heat模板,创建虚拟机,并在虚拟机里运行iperf、iperf3、netperf等工具来对网络进行自动化性能测试,并且把测试的结果以网页的形式输出。

目前OpenStack的另外一个著名测试工具Rally, 也是由Mirantis发起,可以针对OpenStack进行整体测试,也可以对OpenStack的功能,存储的性能进行压力测试,以及测试磁盘的IOPS,并提供很好的Web展示。

Rally与Shaker各自的侧重点,两个工具结合起来,在OpenStack交付给用户的场景下,可以提供一份相对客观的验收报告。

二、环境说明

需要有一个可用的OpenStack环境,并配置好Heat服务,因为Shaker需要使用编排服务来启动各种场景下的虚拟机,本文环境如下:

controller/shaker 172.20.5.15/24
compute01 172.20.5.16/24
compute02 172.20.5.17/24

三、安装配置

1、openstack安装配置

、基础配置

使用本次安装教程,会安装ceilometer+gnocchi集成、heat、FWAAS、VPNAAS、LBAASv1等

# 所有节点全部执行
mkdir /etc/yum.repos.d/bak
mv /etc/yum.repos.d/*repo /etc/yum.repos.d/bak
cat >> /etc/yum.repos.d/openstack-mitaka.repo << EOF
[base]
name=CentOS-$releasever - Base
baseurl=http://172.20.2.44/base enabled=1
gpgcheck=0 [mitaka]
name=mitaka
baseurl=http://172.20.2.44/openstack-mitaka enabled=1
gpgcheck=0 [epel]
name=epel
baseurl=http://172.20.2.44/epel enabled=1
gpgcheck=0
EOF yum install python-cheetah python-gnocchi python-nova libvirt libvirt-devel libvirt-client -y
2、安装配置openstack环境 # 控制节点执行
yum install -y openstack-packstack
packstack --gen-answer-file=openstack.txt
/usr/bin/sleep 5 # 这里第一行修改compute节点对应的IP地址,这里测试compute节点IP地址是172.20.5.16,172.20.5.17,IP地址之间用逗号(,)隔开
sed -i \
-e 's@CONFIG_COMPUTE_HOSTS=.*@CONFIG_COMPUTE_HOSTS=172.20.5.16,172.20.5.17@g' \
-e 's@CONFIG_CEILOMETER_METERING_BACKEND=.*@CONFIG_CEILOMETER_METERING_BACKEND=gnocchi@g' \
-e 's@CONFIG_NAGIOS_INSTALL=.*@CONFIG_NAGIOS_INSTALL=n@g' \
-e 's@CONFIG_SWIFT_INSTALL=.*@CONFIG_SWIFT_INSTALL=n@g' \
-e 's@CONFIG_HEAT_INSTALL=.*@CONFIG_HEAT_INSTALL=y@g' \
-e 's@CONFIG_HEAT_CLOUDWATCH_INSTALL=.*@CONFIG_HEAT_CLOUDWATCH_INSTALL=y@g' \
-e 's@CONFIG_HEAT_CFN_INSTALL=.*@CONFIG_HEAT_CFN_INSTALL=y@g' \
-e 's@CONFIG_NEUTRON_FWAAS=.*@CONFIG_NEUTRON_FWAAS=y@g' \
-e 's@CONFIG_NEUTRON_VPNAAS=.*@CONFIG_NEUTRON_VPNAAS=y@g' \
-e 's@CONFIG_LBAAS_INSTALL=.*@CONFIG_LBAAS_INSTALL=y@g' \
-e 's@CONFIG_MARIADB_PW=.*@CONFIG_MARIADB_PW=root1234@g' \
-e 's@CONFIG_KEYSTONE_ADMIN_PW=.*@CONFIG_KEYSTONE_ADMIN_PW=admin@g' \
-e 's@CONFIG_KEYSTONE_API_VERSION=.*@CONFIG_KEYSTONE_API_VERSION=v3@g' openstack.txt
3、安装前后配置 # 控制节点执行
packstack --answer-file=openstack.txt # 安装过程会修改yum源。这里需要执行如下指令,修改过来
sed -i 's@enabled=.*@enabled=1@g' /etc/yum.repos.d/openstack-mitaka.repo # 漫长的等待之后,如果不报错,进行下面操作 sed -i \
-e 's@type_drivers =.*@type_drivers = flat,vxlan@g' \
-e 's@#flat_networks =.*@flat_networks = *@g' /etc/neutron/plugins/ml2/ml2_conf.ini # 对接gnocchi后期配置
openstack-config --set /etc/ceilometer/ceilometer.conf DEFAULT event_dispatchers gnocchi
openstack-config --set /etc/ceilometer/ceilometer.conf api gnocchi_is_enabled true
openstack-config --set /etc/ceilometer/ceilometer.conf dispatcher_gnocchi filter_project services
openstack-config --set /etc/ceilometer/ceilometer.conf dispatcher_gnocchi archive_policy low
openstack-config --set /etc/ceilometer/ceilometer.conf dispatcher_gnocchi resources_definition_file gnocchi_resources.yaml openstack-service restart ceilometer # 在计算节点1上执行ssh互信
sed -i \
-e 's@nova.*@nova:x:162:162:OpenStack Nova Daemons:/var/lib/nova:/bin/bash@g' /etc/passwd echo nova | passwd --stdin nova su - nova # 在计算节点2上执行ssh互信
sed -i \
-e 's@nova.*@nova:x:162:162:OpenStack Nova Daemons:/var/lib/nova:/bin/bash@g' /etc/passwd # 修改成自己的计算节点IP地址 echo nova | passwd --stdin nova su - nova # 修改成自己的计算节点IP地址
ssh-keygen -t rsa -f ~/.ssh/id_rsa -P '' ssh-copy-id -i .ssh/id_rsa.pub nova@172.20.5.17 ssh-keygen -t rsa -f ~/.ssh/id_rsa -P '' ssh-copy-id -i .ssh/id_rsa.pub nova@172.20.5.16
4、在控制节点上配置NFS共享存储 # 在公司openstack上创建一个cinder卷,挂载到controller节点上,作为共享存储盘使用。如果只是作为测试建议100G可用 # 分区,格式化 # 分区
fdisk /dev/vdc <<EOF
n
p
1 w
EOF # 格式化
mkfs.xfs /dev/vdc1 # 挂载
mount /dev/vdc1 /opt/nova/instances/ # NFS共享
yum -y install nfs-utils rpcbind -y mkdir -p /opt/nova/instances
echo "/opt/nova/instances 172.20.0.0/16(rw,no_root_squash,no_all_squash,sync)" > /etc/exports
exportfs -r
chmod -R 777 /opt/nova/instances/
systemctl enable rpcbind.service
systemctl start rpcbind.service
systemctl enable nfs-server.service
systemctl start nfs-server.service
5、2个计算节点使用NFS showmount -e 172.20.5.15
mount -t nfs 172.20.5.15:/opt/nova/instances /var/lib/nova/instances/
chown -R nova.nova /var/lib/nova

openstack-mitaka安装配置

2、shaker安装配置

yum install git gcc-c++ python-devel
git clone http://git.trystack.cn/openstack/shaker
cd shaker
pip install . cd ..
source keystonerc_admin export ELEMENTS_PATH=shaker/shaker/resources/image_elements
disk-image-create -o shaker-image.qcow2 centos vm shaker

ubuntu16.04源

deb-src http://archive.ubuntu.com/ubuntu xenial main restricted #Added by software-properties
deb http://mirrors.aliyun.com/ubuntu/ xenial main restricted
deb-src http://mirrors.aliyun.com/ubuntu/ xenial main restricted multiverse universe #Added by software-properties
deb http://mirrors.aliyun.com/ubuntu/ xenial-updates main restricted
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-updates main restricted multiverse universe #Added by software-properties
deb http://mirrors.aliyun.com/ubuntu/ xenial universe
deb http://mirrors.aliyun.com/ubuntu/ xenial-updates universe
deb http://mirrors.aliyun.com/ubuntu/ xenial multiverse
deb http://mirrors.aliyun.com/ubuntu/ xenial-updates multiverse
deb http://mirrors.aliyun.com/ubuntu/ xenial-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-backports main restricted universe multiverse #Added by software-properties
deb http://archive.canonical.com/ubuntu xenial partner
deb-src http://archive.canonical.com/ubuntu xenial partner
deb http://mirrors.aliyun.com/ubuntu/ xenial-security main restricted
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-security main restricted multiverse universe #Added by software-properties
deb http://mirrors.aliyun.com/ubuntu/ xenial-security universe
deb http://mirrors.aliyun.com/ubuntu/ xenial-security multiverse

ubuntu16.04源

opensack-mitaka网络性能测试shaker的更多相关文章

  1. TCP/UDP网络性能测试工具 - Netperf (zz) ..网络测试工具

    在构建或管理一个网络系统时,我们更多的是关心网络的可用性,即网络是否连通,而对于其整体的性能往往考虑不多. 除了netperf以外.       还有很多其它的网络性能测试工具.       如db, ...

  2. 网络性能测试工具iperf详细使用图文教程

      Iperf是一个网络性能测试工具.Iperf可以测试TCP和UDP带宽质量.Iperf可以测量最大TCP带宽,具有多种参数和UDP特性. Iperf可以报告带宽,延迟抖动和数据包丢失.利用Iper ...

  3. 网络性能测试工具iperf详细使用图文教程【转载】

    原文:http://blog.163.com/hlz_2599/blog/static/142378474201341341339314/ 参考:http://man.linuxde.net/iper ...

  4. 微软Azure云主机及blob存储的网络性能测试

    http://www.cnblogs.com/sennly/p/4137024.html 微软Azure云主机及blob存储的网络性能测试 1. 测试目的 本次测试的目的在于对微软Azure的云主机. ...

  5. 网络性能测试工具Iperf/Jperf解读

    Iperf 是一个网络性能测试工具.Iperf 可以测试TCP 和UDP 带宽质量.Iperf 可以测量最大TCP 带宽,具有多种参数和UDP 特性. Iperf 可以报告带宽,延时抖动和数据包丢失. ...

  6. 网络性能测试工具-Iperf

    一.简单介绍 Iperf是一个网络性能测试工具,Iperf可以测试TCP和UDP带宽质量,Iperf可以测量最大TCP带宽,具有多种参数和UDP特性.Iperf可以报告带宽,延迟抖动和数据包丢失.利用 ...

  7. netperf 网络性能测试

    Netperf是一种网络性能的测量工具,主要针对基于TCP或UDP的传输.Netperf根据应用的不同,可以进行不同模式的网络性能测试,即批量数据传输(bulk data transfer)模式和请求 ...

  8. IPERF 网络性能测试

    Iperf 是一个网络性能测试工具.Iperf可以测试最大TCP和UDP带宽性能.Iperf具有多种参数和UDP特性,可以根据需要调整.Iperf可以报告带宽,延迟抖动和数据包丢失. Iperf 参数 ...

  9. ethr 微软开源的tcp udp http 网络性能测试工具

    ethr 是微软开源的tcp udp http 网络性能测试工具包包含的server 以及 client 我们可以远程测试 同时对于https icmp 的支持也在开发中,tcp 协议支持连接.带宽. ...

随机推荐

  1. eclipse欺骗了我

    Java源文件(.java)和Java的字节码文件(.class)跟 package 是个什么关系? 平时使用 eclipse 的时候,发现 .java 文件目录必须和 package 包名保持一致, ...

  2. Java Synchronized 与 ThreadLocal 异同

    同:都是为了线程安全 异:synchronized是利用锁的机制,使变量或代码块在某一时该只能被一个线程访问.而ThreadLocal为每一个线程都提供了变量的副本, 使得每个线程在某一时间访问到的并 ...

  3. Python高级教程-生成器

    生成器(Generator) 通过列表生成式,可以直接创建一个列表.但是,受内存限制,列表的容量肯定是有限的.而且,创建一个包含100万个元素的列表,不仅占用很大的存储空间,如果我们仅仅需要访问前面几 ...

  4. sql server等待类型

    sql server 各种等待类型-转 sql server各个等待类型及解决办法:https://www.sqlskills.com/help/waits/writelog/其他等待类型的描述和解决 ...

  5. 008-CentOS添加环境变量

    在Linux CentOS系统上安装完php和MySQL后,为了使用方便,需要将php和mysql命令加到系统命令中,如果在没有添加到环境变量之前,执行“php -v”命令查看当前php版本信息时时, ...

  6. Linux学习笔记—文件与文件系统的压缩与打包(转载)

    压缩文件的用途与技术 例如,计算机都是以byte单位来计量的,1byte占8bit.如果存储数字1,那么1byte就会空出7bit.采用一定的计算方式,压缩这些空间可以大大降低文件存储. Linux系 ...

  7. easymake cmake xmake nmake ...

    最简单的Makefile,但是还是大程序少不了makefile工具 #CC=arm-linux-gnueabihf-CC=target:    $(CC)gcc -o algo_main algo_m ...

  8. GIT学习笔记(5):变基

    GIT学习笔记(5):变基rebase 变基 引入变基 在Git中整合来自不同分支的修改主要有两种方法:merge以及rebase. 整合分支最容易的方法是merge,他会把两个分支的最新快照以及两者 ...

  9. nginx ip无法访问

    CentOS 7.0默认使用的是firewall作为防火墙,这里改为iptables防火墙步骤. 1.关闭firewall: systemctl stop firewalld.service #停止f ...

  10. python中命令行参数

    python中的命令行参数 python中有一个模块sys,sys.argv这个属性提供了对命令行参数的访问.命令行参数是调用某个程序时除程序名外的其他参数. sys.argv是命令行参数的列表 le ...