Introduction xv
Chapter 1 Understanding Virtualization 1
Describing Virtualization 1
Microsoft Windows Drives Server Growth 3
Explaining Moore¢s Law 7
Understanding the Importance of Virtualization 10
Examining Today¢s Trends 12
Virtualization and Cloud Computing 15
Hyperconverged Infrastructure 16
Understanding Virtualization Software Operation 17
Virtualizing Servers 17
Virtualizing Desktops 18
Virtualizing Applications 19
Chapter 2 Understanding Hypervisors 23
Describing a Hypervisor 23
Exploring the History of Hypervisors 24
Understanding Type 1 Hypervisors 25
Understanding Type 2 Hypervisors 27
Understanding the Role of a Hypervisor 28
Holodecks and Traffic Cops 28
Resource Allocation 30
Comparing Today¢s Hypervisors 31
VMware ESX 31
Citrix Hypervisor (Xen) 33
Microsoft Hyper- V 35
Other Solutions 36
Chapter 3 Understanding Virtual Machines 39
Describing a Virtual Machine 39
Examining CPUs in a Virtual Machine 42
Examining Memory in a Virtual Machine 43
Examining Network Resources in a Virtual Machine 44
Examining Storage in a Virtual Machine 45
Understanding How a Virtual Machine Works 47
Working with Virtual Machines 49
Understanding Virtual Machine Clones 50
Understanding Templates 51
Understanding Snapshots 52
Understanding OVF 53
Understanding Containers 54
Chapter 4 Creating a Virtual Machine 57
Performing P2V Conversions 57
Investigating the Physical- to- Virtual Process 58
Hot and Cold Cloning 59
Loading Your Environment 60
Loading VMware Workstation Player 61
Exploring VMware Workstation Player 66
Loading VirtualBox 70
Building a New Virtual Machine 75
Thinking About VM Configuration 76
Creating a First VM 77
Chapter 5 Installing Windows on a Virtual Machine 83
Loading Windows into a Virtual Machine 83
Installing Windows 11 84
Installing VMware Tools 97
Understanding Configuration Options 102
Optimizing a New Virtual Machine 107
Chapter 6 Installing Linux on a Virtual Machine 111
Loading Linux into a Virtual Machine 111
Exploring Oracle VM VirtualBox 112
Installing Linux into a Virtual Machine 115
Installing VirtualBox Guest Additions 126
Understanding Configuration Options 129
Optimizing a New Linux Virtual Machine 135
Chapter 7 Managing CPUs for a Virtual Machine 139
Understanding CPU Virtualization 139
Configuring VM CPU Options 143
Tuning Practices for VM CPUs 145
Choosing Multiple vCPUs vs a Single vCPU 145
Hyperthreading 146
Working with Intel and AMD Servers 147
Chapter 8 Managing Memory for a Virtual Machine 151
Understanding Memory Virtualization 151
Configuring VM Memory Options 154
Tuning Practices for VM Memory 156
Calculating Memory Overhead 157
Memory Optimizations 158
Chapter 9 Managing Storage for a Virtual Machine 165
Understanding Storage Virtualization 165
Configuring VM Storage Options 171
Tuning VM Storage 179
Chapter 10 Managing Networking for a Virtual Machine 187
Understanding Network Virtualization 187
Configuring VM Network Options 198
Tuning Practices for Virtual Networks 203
Chapter 11 Copying a Virtual Machine 207
Cloning a Virtual Machine 207
Working with Templates 217
Saving a Virtual Machine State 221
Creating a Snapshot 224
Merging Snapshots 228
Chapter 12 Managing Additional Devices in Virtual Machines 231
Using Virtual Machine Tools 231
Understanding Virtual Devices 234
Configuring a CD/DVD Drive 234
Configuring a Floppy Disk Drive 235
Configuring a Sound Card 239
Configuring USB Devices 240
Configuring Graphic Displays 242
Configuring Other Devices 243
Chapter 13 Understanding Availability 249
Increasing Availability 249
Protecting a Virtual Machine 252
Protecting Multiple Virtual Machines 256
Protecting Data Centers 261
Chapter 14 Understanding Applications in a Virtual Machine 265
Examining Virtual Infrastructure Performance Capabilities 265
Deploying Applications in a Virtual Environment 270
Understanding Virtual Appliances and vApps 279
Open Stack and Containers 281
Cloud and the Future of Virtualization 282
Appendix: Answers to Additional Exercises 285
Glossary 295
Index 301