51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 2237|回复: 2
打印 上一主题 下一主题

vSphere Networking 系统测试知识整理

[复制链接]
  • TA的每日心情
    无聊
    2024-9-19 09:07
  • 签到天数: 11 天

    连续签到: 2 天

    [LV.3]测试连长

    跳转到指定楼层
    1#
    发表于 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']等方式获取相关内容

    分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏
    回复

    使用道具 举报

    该用户从未签到

    2#
    发表于 2017-10-5 22:41:25 | 只看该作者
    什么公司要对vsphere进行性能测试?都是闭源的产品
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    3#
    发表于 2017-10-21 17:08:04 | 只看该作者
    我觉得挺好的,大家的看法呢












    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

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

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

    GMT+8, 2024-11-26 13:05 , Processed in 0.069632 second(s), 23 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

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