zhouzengchao
4 Beryllium

【集中讨论】如何搭建产品测试环境?

     本帖背景和目的:学习一门技术,不可或缺的就是搭环境做测试,关键问题在于怎么搭?怎么测?用哪些工具?软硬件各有什么要求?搭建过程中都有哪些问题,如何解决?带着这些问题,我特地开了本帖,希望为大家建立一个分享、交流搭建测试环境的平台,让我们的学习之路更为平坦。你可以说说自己的工具、经验、推荐、最佳实践等等。没有唯一的做法,只有最适合、最合理的做法。也可以提出自己的疑问,集大众之力去解决。

testing.jpg

我简单谈谈自己搭建测试环境的做法:

硬件环境:

  1. Intel i5 CPU (关键是支持Intel-VT-xIntel-VT-d[可选]、硬件DEP[可选])
  2. 主板支持最大32GB内存(大容量内存是运行10+ VM的必须)
  3. OS硬盘SSD,数据硬盘为TB级(存放VM
  4. 网络:一般家里带有InternetLAN网络就足以了

软件环境:

1. 主机虚拟化软件VMWare Workstationhttps://my.vmware.com/web/vmware/evalcenter?p=vmware-workstation9 (注册帐号可以下载30天试用版)同类型产品很多,比如VirtuaBox、VPC、Virtual Server、QEMU等等,大家可以自由选择。

2. 共享存储

3. Server Hypervisor

4. OpenFlow网络:Mininet - http://yuba.stanford.edu/foswiki/bin/view/OpenFlow/Mininet

5. 云平台:

6. 虚拟网络:这个比较复杂,个人还没实战过。先可以推荐几个网站,这些更多的是SDN实现,而非专门的网络虚拟化。有兴趣的朋友可以研究+交流:

     其实还漏了很多,比如应用程序虚拟化、桌面虚拟化、存储虚拟化,这也是开这个帖子的原因之一,在下个人能力有限,不可能面面俱到,希望集众人之力,让我们的测试环境变得更为完整。

常见问题:(这里是我目前遇到的一些疑问和解决方案,供参考)

A1: ESXi此类软件通常是直接安装在硬件之上的,必须有专门的服务器才能测试吗?

Q1: 你可以先在自己的工作机(比如WINDOWS 7)上安装VMWARE Workstation,随后创建ESXi虚拟机,再用ESXi虚拟机创建虚拟机,即nested VM。不要太担心性能,因为你只是测试,而且我试过,nested VM的性能还是不错的。个人还尝试过用KVMnested VM,但性能就很差,安装一个nested VM都要好久(我尝试的是WINXP,几乎跑不动,CPU基本都在90%以上)。所以,推荐Workstation

A2:为什么需要Shared Storage,直接用VM自带的虚拟硬盘不就可以了?

Q2:因为集群环境通常都需要shared storage,比如VMWare vMotion这种功能也都是要在群集环境下才能工作的。

Tip1:我选择workstation还有一个重要原因,就是它可以虚拟化Intel-VT-x or AMD-V,其它产品是否有这个功能我没具体查过,知道的朋友可以分享一下经验。为什么需要这个功能,首先,有些软件必须在硬件支持Intel-VT-x or AMD-v的情况下才能安装,比如Microsoft Hyper-V,我试过在workstation上安装Windows Server 2012,随后安装Hyper-V role,但提示CPU不支持硬件虚拟化。随后,为vCPU打开硬件虚拟化功能后,就能安装了,KVM也一样,不过KVM似乎并不强行要求硬件虚拟化,只不过没有硬件虚拟化性能会很差。

注意:以上仅是我个人搭建测试环境的做法,并非必须如此,其中也可能存在不合理和错误,总之方法和工具的选择在于个人。

63 回复数
Roger_Wu
5 Rhenium

Re: 【集中讨论】如何搭建产品测试环境?

现在比以前方便多了,04/05年以前做多平台软件售后的,谁家实验室里都跑满了各种操作系统的物理机。现在基本上少数几台强力一点的hypervisor就行了。

后来包括像Cisco路由器这样的都出了模拟器,有Dynamips、GNS (graphical network simulator)这样的利器,自学CCIE都不是梦。

0 项奖励
huangh
2 Bronze

Re: 【集中讨论】如何搭建产品测试环境?

这个有意思。记得以前做实验搭环境,用得最多的还是Vmware搭虚机,那时物理机配置不高,划分给虚拟机内存时还要精打计算。现在内存越来越白菜价,物理机器上的标配也高了,同时跑几个虚机轻松多了。话说回来,虚拟机技术这些年的发展真是挺快的,用起来越来越顺心。

zhouzengchao
4 Beryllium

Re: 【集中讨论】如何搭建产品测试环境?

支持nested-vm是关键,让我们可以测试hypervisor程序。

0 项奖励
liulei_it
5 Tungsten

Re: 【集中讨论】如何搭建产品测试环境?

唉,自己搭建环境还是费一般周折的再说了购买硬件的价格也不便宜。

最近偶在网上加入了俱乐部,给钱对方负责提供硬件环境随便你怎么捣鼓,

0 项奖励
zhouzengchao
4 Beryllium

Re: 【集中讨论】如何搭建产品测试环境?

我这台只是普通的家用机,有硬件条件只是测试的第一步,关键还是之后如何利用软件来实现测试环境。

0 项奖励
yanzs
4 Tellurium

Re: 【集中讨论】如何搭建产品测试环境?

看起来很复杂,有机会可以试试,但是硬件条件是个问题!!

0 项奖励
zhouzengchao
4 Beryllium

Re: 【集中讨论】如何搭建产品测试环境?

目前虚拟化软件的功能让我们能自家台式机就可以做各种测试,其实是降低了对硬件的要求。

0 项奖励
yanzs
4 Tellurium

Re: 【集中讨论】如何搭建产品测试环境?

嗯,虚拟化软件确实是个好东西!

0 项奖励
liulei_it
5 Tungsten

Re: 【集中讨论】如何搭建产品测试环境?

就咱拿点可怜的salary要想自己搭建环境实在太难了。

0 项奖励