Introduction xv
CHAPTER 1 Understanding Virtualization 1
Describing Virtualization 1
Microsoft Windows Drives Server Growth 3
Explaining Moore's Law 6
Understanding the Importance of Virtualization 9
Examining Today's Trends 11
Virtualization and Cloud Computing 14
Understanding Virtualization Software Operation 15
Virtualizing Servers 15
Virtualizing Desktops 15
Virtualizing Applications 17
CHAPTER 2 Understanding Hypervisors 19
Describing a Hypervisor 19
Exploring the History of Hypervisors 20
Understanding Type 1 Hypervisors 21
Understanding Type 2 Hypervisors 23
Understanding the Role of a Hypervisor 24
Holodecks and Traffic Cops 24
Resource Allocation 25
Comparing Today's Hypervisors 27
VMware ESX 27
Citrix Xen 29
Microsoft Hyper-V 31
Other Solutions 32
CHAPTER 3 Understanding Virtual Machines 35
Describing a Virtual Machine 35
Examining CPU in a Virtual Machine 38
Examining Memory in a Virtual Machine 39
Examining Network Resources in a Virtual Machine 39
Examining Storage in a Virtual Machine 41
Understanding How a Virtual Machine Works 42
Working with Virtual Machines 43
Understanding Virtual Machine Clones 44
Understanding Templates 45
Understanding Snapshots 47
Understanding OVF 48
CHAPTER 4 Creating a Virtual Machine 51
Performing P2V Conversions 51
Investigating the Physical-to-Virtual Process 52
Hot and Cold Cloning 53
Loading Your Environment 54
Exploring VMware Player 60
Building a New Virtual Machine 63
Thinking About VM Confi guration 64
Creating a First VM 65
CHAPTER 5 Installing Windows on a Virtual Machine 71
Loading Windows into a Virtual Machine 71
Installing Windows 7 72
Installing VMware Tools 83
Understanding Confi guration Options 89
Optimizing a New Virtual Machine 95
CHAPTER 6 Installing Linux on a Virtual Machine 97
Loading Linux into a Virtual Machine 97
Installing Linux into a Virtual Machine 98
Installing VMware Tools 113
Understanding Confi guration Options 117
Optimizing a New Linux Virtual Machine 122
CHAPTER 7 Managing CPUs for a VM 125
Understanding CPU Virtualization 125
Confi guring VM CPU Options 129
Tuning Practices for VM CPUs 130
Choosing Multiple vCPUs vs. a Single vCPU 131
Hyper-Threading 132
Working with Intel and AMD Servers 134
CHAPTER 8 Managing Memory for a Virtual Machine 137
Understanding Memory Virtualization 137
Confi guring VM Memory Options 140
Tuning Practices for VM Memory 142
Calculating Memory Overhead 143
Memory Optimizations 144
CHAPTER 9 Managing Storage for a Virtual Machine 151
Understanding Storage Virtualization 151
Confi guring VM Storage Options 156
Tuning Practices for VM Storage 162
CHAPTER 10 Managing Networking for a Virtual Machine 171
Understanding Network Virtualization 171
Confi guring VM Network Options 181
Tuning Practices for Virtual Networks 187
CHAPTER 11 Copying a Virtual Machine 191
Cloning a Virtual Machine 191
Working with Templates 197
Saving a Virtual Machine State 201
Creating a Snapshot 204
Merging Snapshots 208
CHAPTER 12 Managing Additional Devices in Virtual Machines 211
Using Virtual Machine Tools 212
Understanding Virtual Devices 213
Confi guring a CD/DVD Drive 214
Confi guring a Floppy Disk Drive 215
Confi guring a Sound Card 218
Confi guring USB Devices 219
Confi guring Graphic Displays 221
Confi guring Other Devices 222
CHAPTER 13 Understanding Availability 227
Increasing Availability 227
Protecting a Virtual Machine 230
Protecting Multiple Virtual Machines 234
Protecting Datacenters 238
CHAPTER 14 Understanding Applications in a Virtual Machine 243
Examining Virtual Infrastructure Performance Capabilities 243
Deploying Applications in a Virtual Environment 248
Understanding Virtual Appliances and vApps 256
Index 261