51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

查看: 2085|回复: 2

vSphere Networking 系统测试知识整理

[复制链接]

该用户从未签到

发表于 2017-8-9 09:51:29 | 显示全部楼层 |阅读模式
vSphere Networking 系统测试知识整理,都是比较基础的内容。

1.基本知识
VC: 管理和控制host和各种网络等设备
Host: 提供CPU,内存,硬盘空间等。
Data Store: 大体分为 Host内置的存储和shared data store
iSCSI
Windows 创建iSCSI disk: iStorage Server
NAS:  

Windows 配置NFS服务,再本地磁盘中新建文件夹右击属性选择NFS
Linux 配置可以参考网上的教程


使用独立的存储设备原因:

    1. 节约硬件开支
2.设备安全性,便于管理和迁移。当Host出现设备故障是,虚拟机等设备由于存放在独立Data store上,disk file没有收到破坏,切换状态良好的Host即可重新使用。vSphere 如果开启HA等服务,出故障可自动vMotion到Cluster中的其他的Host上。
Network:
DVS: 分布式交换机
一般再DVS中新建不同的port group,在host上新增vmk,vmk连接这些port group。
不同种操作流量走的vmk不同。

例如:
    vmotion --- vmk5   在VC中做vMotion的操作是,再Exsi中输入esxtop, h是查看帮助文档, n查看网络,再网络流量监控中查看,流量是不是走的vmk5
VSS:  标准交换机
Host Profile:
Host配置文件,可以从已配置好的Host中抓取,但有些参数抓取不到。 可以用已存在的Profile attach到新加入的host中,快速进行批量配置。
由于内容较多,基础的只是先放一放, 下面从自动化项目开始归纳。
工具选择: Python+ Perforce+vSphere Web API(Python)
VCIP/****,项目过去半年多了,名字有些遗忘了, 获取VC中 ManagedObject , 主要注意层级关系, 比如想要获取vm中的某一网卡,从DC-Cluster-Host-VM-network

项目中主要用到的技术和脚本编写方式
1.结构很简单,编写公用使用的library, 编写规范要求方法功能相对单一,能再不同case中重复调用,必须又很高的可复用性。
比如:编写host的函数库, 从case出来,需要用开启SSH,开关重启,寻找匹配vMotion条件的其他Host等,单独编写成方法,再以后编写的测试脚本中使用
编写Host Profile的library时,由于配置内容相对较多,层级较深,根据功能点分割出来,更改密码,更改StatelessCashing等都单独作为方法。
编写Network traffic rule相关library时, 再VC中rule创建方式为 在dvpg中可以创建若干个rule,再在rule中加入若干个qualifier,最后再qualifier中加入sub qualifier list. 编写时从最小组成单元开始, 编写创建单独的sub qualifier(sq)的方法,返回最小组成单位sq,随后编写创建qualifier的方法,sq会被作为参数使用,最后编写创建rule的方法,前面的返回值同样会被用来作为参数。这样编写完成后前面2个方法可以被随后编写的UpdateRule等方法所复用,增强代码的复用性,节约时间成本。
2.Case脚本编写方法
主要使用的: optparse, argparse
脚本参数存放形式: yaml

argparse的编写形式
  • 添加可输入参数parser = argparse.ArgumentParser()parser.add_argument('--sth',                    dest="sth'",                    required = True,                    )2.实现输入不同种组合的参数完成对应工作流(1)首先按1中方式添加一个可操作的参数 arg在代码中加入可识别的参数值和方法的mapping关系argMapping = {    'dosth'             : do_sth
    }随后脚本识别该参数获取对应的value list,参数值可以用符号隔开,随后对value list遍历,按顺序调用方法完成不同种的操作方式。
Yaml
Yaml 主要用来存放创建各种object时需要的参数,再脚本中用dict的方式获取对应的值
Sample:
首先定义变量
define
    vm:
        vm_base: &vm_base vm_base_xx
        vm_base_storage: &vm_base_storage nsbu_nas_xx
        vm_network: &vm_network net-xxx-vm-xx
使用定义的变量
vm:
     base: *vm_base
     storage: *vm_base_storage
     network: *vm_network
脚本中yaml.load(file(g_opts.yamlFile))载入文件,g.yaml['vm']['base']等方式获取相关内容

回复

使用道具 举报

该用户从未签到

发表于 2017-10-5 22:41:25 | 显示全部楼层
什么公司要对vsphere进行性能测试?都是闭源的产品
回复 支持 反对

使用道具 举报

该用户从未签到

发表于 2017-10-21 17:08:04 | 显示全部楼层
我觉得挺好的,大家的看法呢












回复 支持 反对

使用道具 举报

本版积分规则

关闭

站长推荐上一条 /1 下一条

小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

GMT+8, 2024-4-18 17:35 , Processed in 0.066893 second(s), 23 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

快速回复 返回顶部 返回列表