All hardware fully emulated.
Kernel is unaware it is virtualized.
Kernel modified to be “aware”
Direct access to some hardware
devices, so less emulation overhead.
CPU Technology: Intel-VT and AMD-V
What is it Good for?
Efficient Hypervisor by eliminating
need to “trap and emulate”
Running an unmodified version of an
OS as a Guest.
When is Intel-VT and AMD-V Needed?
32-bit 64-bit 32-bit 64-bit 32-bit 64-bit 32-bit 64-bit
Intel-VT No Yes No Yes Yes Yes No No
AMD-V No No No No Yes Yes No No
Kernel Fully virtualized
Modified Kernel Para-virtualized
What am I getting into?
Why Use Virtual Technologies?
Implement High Availability
VM Guest stays up and running even if
the physical Host machine goes
Three or More Physical Hosts
Clustered, Shared Filesystem
Increase Hardware Utilization
Run More on Less.
Boost CPU and RAM Utilization
Take full advantage of RAM and
Separate Service from Hardware
Liberate Windows Systems.
Backup and Restore a Fully
configured system cheaply.
Upgrade hardware painlessly.
Set up Once, distribute to multiple
Offsite Disaster Recovery through
simple backup/restore process.
Load balance across Data Centers.
Try New Things
Provision New Servers within an
Teardown/Rebuild of Servers is highly
Clone and perform “dry-runs” before
attempting on Production.
Order of Importance:
Fast Front-Side Bus (FSB)
Fast Hard Drives and Controllers
Take a Desktop, install 2gb of RAM.
Install VMWare Server Free.
Install Windows and Linux as guest
Get to know the terminology.
Try it in the Data Center…
Install Free versions of Xen or
VMWare Server on an underutilized
Bring up your new Service on VM
Get comfortable managing.
Learn to backup efficiently.
Make your Business Case…
Show your boss, make your case, get
Convert oldest, slowest or most
unstable servers first.
Save critical resources and high I/O
systems (databases, file servers) for
Get used to diagnosing issues,
pinpointing bottlenecks or stability
Watch Your Performance Closely
Know when you’re saturating:
Hard drive I/O throughput
Commercial/Enterprise Licenses make
this easier to monitor and manage.
For High Availability
Dedicated iSCSI VLAN w/dedicated
Line-speed, non-blocking switches
Host Bus Adaptors with TCP/IP
offload Engines (TOE).
Load-balancing Storage Processors on
What I’m Using
3 x Dell 2950’s Linux:
2 x quad-core Xeon 2.33ghz Oracle VM for Host
4x250gb RAID 5 SCSI Fedora Core 8, CentOS 4, CentOS
Dual port iSCSI HBA 5 Xen kernels for guests.
1 x Dell 2950 Red Hat’s Kickstart for
2 x quad-core Xeon 3.2ghz provisioning new VM guests.
5x250gb RAID 5 SAS CentOS repositories to maintain
Dual port iSCSI HBA patches on Oracle VM Host and
1 x Dell AX150i
2 storage processors Fedora Core repositories for FC8
12x500gb SATA II drives
2 x Dell 6248 GbE Switches
What’s Running in our Environment?
Rails Application Servers
Continuous Build Servers
Total 62 PostgreSQL Servers
Trac Wiki Servers
Whenever Guest Images are
provisioned or patched, Guest is
downed and image backed up to
We use automated deployment tools
and strict adherence to conventions
to configure guest VMs and deploy
our systems (Ruby on Rails).
Stress Rebuild over Restore.
All config files kept in Subversion,
which is hot copied to SAN via SAMBA
Mysql, Postgresql and SQL Server
2005 backed up to SAN via SAMBA
SAN backed up to portable 500gb
USB drives via rsync.