Cover Page

VIRTUALIZATION

ESSENTIALS

SECOND EDITION

 

 

Matthew Portnoy

 

 

 

Wiley Logo

To my friends
and family,
near and far
.

Acknowledgments

A project is rarely a solo affair, and this one depended on a large crew for it to arrive. I need to thank Scott Lowe for shoveling the path and aiming me at the correct door. My deepest gratitude goes to Mark Milow for helping me climb aboard this rocket, to Mike Szfranski for your always open book of knowledge, to Nick Gamache for the insights, and to Tony Damiano for keeping our vehicle in the fast lane.

My heartfelt thanks also go to the virtual team at Sybex: Kelly Talbot, Stephanie McComb, Van Van Noy, Kathy Grider-Carlyle, and Barath Kumar Rajasekaran for their steadfast support, forcing me to improve with each chapter and keeping it all neat and clean. Special thanks go to Agatha Kim for getting this whole adventure rolling.

I need to thank my family beginning with my parents, teachers both, who instilled me with a love of reading and writing and set me on a path that somehow led here. Thank you to my boys, Lucas and Noah, who fill our days with laughter and music. And finally, a huge hug to my wife, Elizabeth, who encouraged me even when she had no idea what I was writing about. I love you.

About the Author

image

Matthew Portnoy has been an information technology professional for more than 30 years, working in organizations such as NCR, Sperry/Unisys, Stratus Computer, Oracle, and VMware. He has been in the center of many of the core technological trends during this period, including the birth of the PC, client-server computing, fault tolerance and availability, the rise of the Internet, and now virtualization, which is the foundation for cloud computing. As both a presales and post-sales analyst, he has worked with all of the disciplines computing offers, including innumerable programming languages, operating systems, application design and development, database operations, networking, security, availability, and virtualization. He has spoken at the industry's largest virtualization conference, VMworld, and is a frequent speaker at user group meetings. He also has been teaching virtualization and database classes as an adjunct professor at Wake Tech Community College in Raleigh, North Carolina, since 2007.

Introduction

We live in an exciting time. The information age is exploding around us, giving us access to dizzying amounts of data the instant it becomes available. Smart phones and tablets provide an untethered experience that offers streaming video, audio, and other media formats to just about any place on the planet. Even people who are not “computer literate” use Facebook to catch up with friends and family, use Google to research a new restaurant choice and print directions to get there, or Tweet their reactions once they have sampled the fare. The budding Internet-of-things will only catalyze this data eruption. The infrastructure supporting these services is also growing exponentially, and the technology that facilitates this rapid growth is virtualization.

On one hand, virtualization is nothing more than an increasingly efficient use of existing resources that delivers huge cost savings in a brief amount of time. On the other, virtualization also offers organizations new models of application deployment for greater uptime to meet user expectations, modular packages to provide new services in minutes instead of weeks, and advanced features that bring automatic load balancing, scalability without downtime, self-healing, self-service provisioning, and many other capabilities to support business-critical applications that improve on traditional architecture. Large companies have been using this technology for 10 to 15 years, while smaller and medium-sized businesses are just getting there now. Some of them might miss the movement altogether and jump directly to cloud computing, the next evolution of application deployment. Virtualization is the foundation for cloud computing as well.

This quantum change in our world echoes similar trends from our recent history as electrical power and telephony capabilities spread and then changed our day-to-day lives. During those periods, whole industries sprang up out of nothing, providing employment and opportunity to people who had the foresight and chutzpah to seize the moment. That same spirit and opportunity is available today as this area is still being defined and created right before our eyes. If not virtualization vendors, there are hardware partners who provide servers, networking vendors for connectivity, storage partners for data storage, and everyone provides services. Software vendors are designing and deploying new applications specifically for these new architectures. Third parties are creating tools to monitor and manage these applications and infrastructure areas. As cloud computing begins to become the de facto model for development, deployment, and maintaining application services, this area will expand even further.

The first generation of virtualization specialists acquired their knowledge out of necessity: They were server administrators who needed to understand the new infrastructure being deployed in their data centers. Along the way, they picked up some networking knowledge to manage the virtual networks, storage knowledge to connect to storage arrays, and application information to better interface with the application teams. Few people have experience in all of those areas. Whether you have some virtualization experience or none at all, this text will give you the foundation to understand what virtualization is, why it is a crucial portion of today's and tomorrow's information technology infrastructure, and the opportunity to explore and experience one of the most exciting and fastest growing topics in technology today.

Good reading and happy virtualizing!

Who Should Read This Book

This text is designed to provide the basics of virtualization technology to someone who has little or no prior knowledge of the subject. This book will be of interest to you if you are an IT student looking for information about virtualization or if you are an IT manager who needs a better understanding of virtualization fundamentals as part of your role. This book might also be of interest if you are an IT professional who specializes in a particular discipline (such as server administration, networking, or storage) and are looking for an introduction into virtualization or cloud computing as a way to advance inside your organization.

The expectation is that you have:

This text would not be of interest if you are already a virtualization professional and you are looking for a guidebook or reference.

What You Need

The exercises and illustrations used in this text were created on a system with Windows 10 as the operating system. VMware Workstation Player version 12 is used as the virtualization platform. It is available as a free download from http://downloads.vmware.com/d/. It is recommended that you have at least 2 GB of memory, though more will be better. The installation requires 150 MB of disk storage. Also used is Oracle VirtualBox version 5. It is available as a free download from http://www.virtualbox.org. It is recommended that you have at least 2GB of memory. VirtualBox itself requires only about 30 MB of disk storage, but virtual machines will require more.

The examples demonstrate the creation and use of two virtual machines: one running Windows 10, the other running Ubuntu Linux. You will need the installation media for those as well. Each of the virtual machines requires about 30 GB of disk space.

What Is Covered in This Book

Here's a glance at what is in each chapter.

  1. Chapter 1: Understanding Virtualization Introduces the basic concepts of computer virtualization beginning with mainframes and continues with the computing trends that have led to current technologies.
  2. Chapter 2: Understanding Hypervisors Focuses on hypervisors, the software that provides the virtualization layer, and compares some of the current offerings in today's marketplace.
  3. Chapter 3: Understanding Virtual Machines Describes what a virtual machine is composed of, explains how it interacts with the hypervisor that supports its existence, and provides an overview of managing virtual machine resources.
  4. Chapter 4: Creating a Virtual Machine Begins with the topic of converting existing physical servers into virtual machines and provides a walkthrough of installing VMware Workstation Player and Oracle VirtualBox, the virtualization platforms used in this text, and a walkthrough of the creation of a virtual machine.
  5. Chapter 5: Installing Windows on a Virtual Machine Provides a guide for loading Microsoft Windows in the created virtual machine and then describes configuration and tuning options.
  6. Chapter 6: Installing Linux on a Virtual Machine Provides a guide for loading Ubuntu Linux in a virtual machine and then walks through a number of configuration and optimization options.
  7. Chapter 7: Managing CPUs for a Virtual Machine Discusses how CPU resources are virtualized and then describes various tuning options and optimizations. Included topics are hyper-threading and Intel versus AMD.
  8. Chapter 8: Managing Memory for a Virtual Machine Covers how memory is managed in a virtual environment and the configuration options available. It concludes with a discussion of various memory optimization technologies that are available and how they work.
  9. Chapter 9: Managing Storage for a Virtual Machine Examines how virtual machines access storage arrays and the different connection options they can utilize. Included are virtual machine storage options and storage optimization technologies such as deduplication.
  10. Chapter 10: Managing Networking for a Virtual Machine Begins with a discussion of virtual networking and how virtual machines use virtual switches to communicate with each other and the outside world. It concludes with virtual network configuration options and optimization practices.
  11. Chapter 11: Copying a Virtual Machine Discusses how virtual machines are backed up and provisioned through techniques such as cloning and using templates. It finishes with a powerful feature called snapshots that can preserve a virtual machine state.
  12. Chapter 12: Managing Additional Devices in Virtual Machines Begins by discussing virtual machine tools, vendor-provided application packages that optimize a virtual machine's performance, and concludes with individual discussions of virtual support for other peripheral devices like CD/DVD drives and USB devices.
  13. Chapter 13: Understanding Availability Positions the importance of availability in the virtual environment and then discusses various availability technologies that protect individual virtual machines, virtualization servers, and entire data centers from planned and unplanned downtime.
  14. Chapter 14: Understanding Applications in a Virtual Machine Focuses on the methodology and practices for deploying applications in a virtual environment. Topics include application performance, using resource pools, and deploying virtual appliances.
  15. Appendix: Answers to Additional Exercises Contains all of the answers to the additional exercises found at the end of every chapter.
  16. Glossary Lists the most commonly used terms throughout the book.

How to Contact the Author

I welcome feedback from you about this book or about books you'd like to see from me in the future. You can reach me by writing to mportnoyvm@gmail.com.

Sybex strives to keep you supplied with the latest tools and information you need for your work. Please check their website at www.wiley.com/go/virtualizationess2e, where we'll post additional content and updates that supplement this book if the need arises.