Using Virtualization to Improve Testing
-
Upload
cameroon45 -
Category
Technology
-
view
159 -
download
0
Transcript of Using Virtualization to Improve Testing
![Page 1: Using Virtualization to Improve Testing](https://reader036.fdocuments.in/reader036/viewer/2022081519/559321be1a28ab96418b4695/html5/thumbnails/1.jpg)
Anil DesaiIEEE Computer Society, Austin Chapter
April 18th, 2007
![Page 2: Using Virtualization to Improve Testing](https://reader036.fdocuments.in/reader036/viewer/2022081519/559321be1a28ab96418b4695/html5/thumbnails/2.jpg)
Anil Desai◦ Independent consultant (Austin, TX)◦ Author of virtualization books and articles
Managing / Scripting Microsoft Virtual Server SearchServerVirtualization.com The Definitive Guide to Virtual Platform Management
◦ Info: http://AnilDesai.net or [email protected]
![Page 3: Using Virtualization to Improve Testing](https://reader036.fdocuments.in/reader036/viewer/2022081519/559321be1a28ab96418b4695/html5/thumbnails/3.jpg)
I. An Overview of Virtualization Technology
II. Virtualization Features & Scenarios
III. Virtualization Benefits for Dev/Test
IV. Comparing Virtualization Approaches
V. Using Virtualization Features for Dev/ Test
VI. Managing and Optimizing Virtualization
![Page 4: Using Virtualization to Improve Testing](https://reader036.fdocuments.in/reader036/viewer/2022081519/559321be1a28ab96418b4695/html5/thumbnails/4.jpg)
![Page 5: Using Virtualization to Improve Testing](https://reader036.fdocuments.in/reader036/viewer/2022081519/559321be1a28ab96418b4695/html5/thumbnails/5.jpg)
Virtualization abstracts the underlying physical structure of various technologies◦ Examples:
Storage virtualization Network virtualization
Server virtualization◦ Creates multiple isolated environments◦ Allows multiple OS’s and workloads to run on the
same physical hardware◦ Solves the problem of tight coupling between
OS’s and hardware
![Page 6: Using Virtualization to Improve Testing](https://reader036.fdocuments.in/reader036/viewer/2022081519/559321be1a28ab96418b4695/html5/thumbnails/6.jpg)
![Page 7: Using Virtualization to Improve Testing](https://reader036.fdocuments.in/reader036/viewer/2022081519/559321be1a28ab96418b4695/html5/thumbnails/7.jpg)
Virtualization Scenarios
Simplified administration
Hardware independence/portability
Increased hardware utilization
Server consolidation Decreased provisioning
times Improved security
Software Development Testing / Quality
Assurance Product evaluations /
demonstrations Training Disaster Recovery
Virtualization Features
![Page 8: Using Virtualization to Improve Testing](https://reader036.fdocuments.in/reader036/viewer/2022081519/559321be1a28ab96418b4695/html5/thumbnails/8.jpg)
Component Specifications
Chipset Intel 440BX
CPU Based on the host CPU (single CPU only)
BIOS AMI BIOS
Video S3 Trio 32/64 with 4MB of video memory
Memory Up to 3.6GB
Input Devices PS/2 Mouse and Keyboard
Floppy Drives Up to two 1.44MB 3.5” floppy drives
Communications Ports
2 Serial Port1 Parallel Port
IDE Controllers Two channels, each of which supports up to two devices each (up to four IDE total devices)
SCSI Controllers Up to four Adaptec 2940 SCSI Controllers (each supports up to 7 devices; 28 devices total)
Network Interfaces
Up to four Intel 21140 10/100Mb network interface cards
![Page 9: Using Virtualization to Improve Testing](https://reader036.fdocuments.in/reader036/viewer/2022081519/559321be1a28ab96418b4695/html5/thumbnails/9.jpg)
![Page 10: Using Virtualization to Improve Testing](https://reader036.fdocuments.in/reader036/viewer/2022081519/559321be1a28ab96418b4695/html5/thumbnails/10.jpg)
![Page 11: Using Virtualization to Improve Testing](https://reader036.fdocuments.in/reader036/viewer/2022081519/559321be1a28ab96418b4695/html5/thumbnails/11.jpg)
![Page 12: Using Virtualization to Improve Testing](https://reader036.fdocuments.in/reader036/viewer/2022081519/559321be1a28ab96418b4695/html5/thumbnails/12.jpg)
![Page 13: Using Virtualization to Improve Testing](https://reader036.fdocuments.in/reader036/viewer/2022081519/559321be1a28ab96418b4695/html5/thumbnails/13.jpg)
![Page 14: Using Virtualization to Improve Testing](https://reader036.fdocuments.in/reader036/viewer/2022081519/559321be1a28ab96418b4695/html5/thumbnails/14.jpg)
![Page 15: Using Virtualization to Improve Testing](https://reader036.fdocuments.in/reader036/viewer/2022081519/559321be1a28ab96418b4695/html5/thumbnails/15.jpg)
![Page 16: Using Virtualization to Improve Testing](https://reader036.fdocuments.in/reader036/viewer/2022081519/559321be1a28ab96418b4695/html5/thumbnails/16.jpg)
![Page 17: Using Virtualization to Improve Testing](https://reader036.fdocuments.in/reader036/viewer/2022081519/559321be1a28ab96418b4695/html5/thumbnails/17.jpg)
Getting Started◦ Migrate existing apps / physical machines◦ Create new virtual machines from scratch
Virtualization may not work well for:◦ Resource-intensive applications
VMs may have RAM/CPU/SMP limitations◦ Performance testing◦ Hardware compatibility testing◦ Specific hardware requirements
USB Custom hardware devices
![Page 18: Using Virtualization to Improve Testing](https://reader036.fdocuments.in/reader036/viewer/2022081519/559321be1a28ab96418b4695/html5/thumbnails/18.jpg)
Conversion of an existing physical machine into a virtual machine◦ Operating system, settings, and all data
![Page 19: Using Virtualization to Improve Testing](https://reader036.fdocuments.in/reader036/viewer/2022081519/559321be1a28ab96418b4695/html5/thumbnails/19.jpg)
![Page 20: Using Virtualization to Improve Testing](https://reader036.fdocuments.in/reader036/viewer/2022081519/559321be1a28ab96418b4695/html5/thumbnails/20.jpg)
Simplified Administration Duplicating / recreating intermittent
problems Quick Deployment Portability (Moving / Copying VMs)
◦ For troubleshooting and recreating defects◦ Load-balancing
Standardized hardware configuration State management for virtual machines
![Page 21: Using Virtualization to Improve Testing](https://reader036.fdocuments.in/reader036/viewer/2022081519/559321be1a28ab96418b4695/html5/thumbnails/21.jpg)
Setting up a complex test lab◦ Testing multi-tier applications ◦ Isolated networks◦ Simulating multiple clients
Rapid setup and tear-down of test environments◦ Consistent configurations◦ Ability to easily roll-back changes◦ Automation of VM setup and software installation
![Page 22: Using Virtualization to Improve Testing](https://reader036.fdocuments.in/reader036/viewer/2022081519/559321be1a28ab96418b4695/html5/thumbnails/22.jpg)
Can revert virtual machines to their initial state
Can create “snapshots” after changes◦ Can roll back to a particular
snapshots
![Page 23: Using Virtualization to Improve Testing](https://reader036.fdocuments.in/reader036/viewer/2022081519/559321be1a28ab96418b4695/html5/thumbnails/23.jpg)
Number of VMs Estimated
memory per VM Estimated disk
space per VM Resource usage
estimates
VM Name CPU Memory Disk Network
WebApp01 Low Low Medium High
WebApp02 Low High Low Low
WinXPTest Low Low Medium Low
FileServer01 Low Medium High High
![Page 24: Using Virtualization to Improve Testing](https://reader036.fdocuments.in/reader036/viewer/2022081519/559321be1a28ab96418b4695/html5/thumbnails/24.jpg)
Workload CPU Util. Memory Util. Disk Util. Network Util.
Public Web Server
Low Low Low High
Web Application Server
Medium Medium Low Medium
Middle-Tier Server (CRM Application)
Medium High Low Low
Database Server (CRM Application)
High High High Medium
Approach: Categorize VMs based on resource utilizationCombine VMs that have “compatible” workloads
![Page 25: Using Virtualization to Improve Testing](https://reader036.fdocuments.in/reader036/viewer/2022081519/559321be1a28ab96418b4695/html5/thumbnails/25.jpg)
![Page 26: Using Virtualization to Improve Testing](https://reader036.fdocuments.in/reader036/viewer/2022081519/559321be1a28ab96418b4695/html5/thumbnails/26.jpg)
![Page 27: Using Virtualization to Improve Testing](https://reader036.fdocuments.in/reader036/viewer/2022081519/559321be1a28ab96418b4695/html5/thumbnails/27.jpg)
![Page 28: Using Virtualization to Improve Testing](https://reader036.fdocuments.in/reader036/viewer/2022081519/559321be1a28ab96418b4695/html5/thumbnails/28.jpg)
![Page 29: Using Virtualization to Improve Testing](https://reader036.fdocuments.in/reader036/viewer/2022081519/559321be1a28ab96418b4695/html5/thumbnails/29.jpg)
Virtual Server 2005 VirtualPC
Improved performance (multi-threaded)
Web-Based Administration
Scripting and automation support (COM API)
Improved security Advanced networking Manageability SCSI Device Support Reliability/availability
features (clustering)
Optimized for one or a few concurrent VMs (single-threaded)
Simplified administration
Sound card emulation Easier file sharing Automatic client
desktop resizing
![Page 30: Using Virtualization to Improve Testing](https://reader036.fdocuments.in/reader036/viewer/2022081519/559321be1a28ab96418b4695/html5/thumbnails/30.jpg)
Workload Virtualization Recommendation
Notes
Datacenter Server Consolidation
Hardware-Level orServer-Level
Performance is a key factor
Server applications are typically complex
Software Development and Testing Environments
Server-Level Manageability is a key requirement.
Users must be able to change hardware settings and OS levels.
Sharing End-User Productivity Applications
Application-Level orRemote Application Execution
Scalability is important. Applications are less
complex.
![Page 31: Using Virtualization to Improve Testing](https://reader036.fdocuments.in/reader036/viewer/2022081519/559321be1a28ab96418b4695/html5/thumbnails/31.jpg)
![Page 32: Using Virtualization to Improve Testing](https://reader036.fdocuments.in/reader036/viewer/2022081519/559321be1a28ab96418b4695/html5/thumbnails/32.jpg)
Create overall test plans and requirements◦ OS and version requirements◦ Service Packs / updates, etc.◦ Hardware configurations for VMs
CPU, Memory, Disk Space, Network configuration Create a naming convention for VMs Create base images Create network address conventions
◦ IP address ranges and subnets◦ Support for multi-tier applications◦ Multiple networks (host-only, routed, NATs, etc.)
![Page 33: Using Virtualization to Improve Testing](https://reader036.fdocuments.in/reader036/viewer/2022081519/559321be1a28ab96418b4695/html5/thumbnails/33.jpg)
Goals:◦ Minimize the number of base images◦ Include as much functionality as possible
![Page 34: Using Virtualization to Improve Testing](https://reader036.fdocuments.in/reader036/viewer/2022081519/559321be1a28ab96418b4695/html5/thumbnails/34.jpg)
![Page 35: Using Virtualization to Improve Testing](https://reader036.fdocuments.in/reader036/viewer/2022081519/559321be1a28ab96418b4695/html5/thumbnails/35.jpg)
Media-based deployments◦ Automatic mounting of ISOs
Network-based installations◦ Automated OS Deployment
Image-based or PXE Booting◦ Application Deployment
OS Startup Scripts and Network shares
Third-party software distribution tools
![Page 36: Using Virtualization to Improve Testing](https://reader036.fdocuments.in/reader036/viewer/2022081519/559321be1a28ab96418b4695/html5/thumbnails/36.jpg)
![Page 37: Using Virtualization to Improve Testing](https://reader036.fdocuments.in/reader036/viewer/2022081519/559321be1a28ab96418b4695/html5/thumbnails/37.jpg)
Common operations can be scripted or automated
Test Lab Management Applications◦ Web-based◦ Client-based
![Page 38: Using Virtualization to Improve Testing](https://reader036.fdocuments.in/reader036/viewer/2022081519/559321be1a28ab96418b4695/html5/thumbnails/38.jpg)
![Page 39: Using Virtualization to Improve Testing](https://reader036.fdocuments.in/reader036/viewer/2022081519/559321be1a28ab96418b4695/html5/thumbnails/39.jpg)
![Page 40: Using Virtualization to Improve Testing](https://reader036.fdocuments.in/reader036/viewer/2022081519/559321be1a28ab96418b4695/html5/thumbnails/40.jpg)
Establish a base library of images◦ Ensures consistency◦ Helps in troubleshooting◦ Prepare VMs for duplication (SysPrep)
Create a Library of ISO files Manage virtual machines as if they were physical
machines◦ Security updates
Automatic Updates (if supported in Guest OS) Microsoft Baseline Security Analyzer (MBSA) Windows Server Update Services (SUS)
◦ Patches◦ Corporate security standards
Configure anti-spyware / anti-malware exceptions◦ *.vhd, *.vud, *.vsv, *.iso
![Page 41: Using Virtualization to Improve Testing](https://reader036.fdocuments.in/reader036/viewer/2022081519/559321be1a28ab96418b4695/html5/thumbnails/41.jpg)
Profile your applications◦ Windows System Monitor
Counter Logs◦ Event Viewer◦ Task Manager◦ Windows Management Instrumentation (WMI)◦ Microsoft Operations Manager (MOM)◦ Systems Management Server (SMS)
Monitoring Approach:◦ Host Server: Aggregate performance data◦ Guest OS: Detailed resource usage
![Page 42: Using Virtualization to Improve Testing](https://reader036.fdocuments.in/reader036/viewer/2022081519/559321be1a28ab96418b4695/html5/thumbnails/42.jpg)
Backup and Recovery◦ Option 1:
Shut down/save state of the VM Copy all required files. Resume the VM
◦ Option 2: Use Backup Agents within the Guest OS.
Automating backups:◦ Build scripts/applications to automate virtual machine
backup and recovery: 1) Save state of the virtual machine 2) Copy all related files 3) Resume the virtual machine
![Page 43: Using Virtualization to Improve Testing](https://reader036.fdocuments.in/reader036/viewer/2022081519/559321be1a28ab96418b4695/html5/thumbnails/43.jpg)
Backup VM files from the host file system Host-Level Backup Options:
![Page 44: Using Virtualization to Improve Testing](https://reader036.fdocuments.in/reader036/viewer/2022081519/559321be1a28ab96418b4695/html5/thumbnails/44.jpg)
Resources from Anil Desai◦ Web Site (http://AnilDesai.net)◦ E-Mail: [email protected] ◦ Keystone Learning Course:
“Microsoft SQL Server 2005: Implementation and Maintenance (Exam 70-431)”
◦ The Rational Guide to Managing Microsoft Virtual Server 2005
◦ The Rational Guide to Scripting Microsoft Virtual Server 2005
![Page 45: Using Virtualization to Improve Testing](https://reader036.fdocuments.in/reader036/viewer/2022081519/559321be1a28ab96418b4695/html5/thumbnails/45.jpg)
Q & A, Discussion