`
`Includes
`Includes
`Windows and Linux
`Windows and Linux
`VMware Workstation
`VMware Workstation
`evaluation software
`evaluation software
`
`Virtualization
`
`From the Desktop to the Enterprise
`
`Learn to deploy and manage virtual machines, clusters,
`distributed file systems, and virtual storage in the first book
`to cover the entire realm of virtualization
`
`Vi t
`
`li
`
`ti
`
`he
`
`p s
`
`e
`
`Chris Wolf and Erick M. Halter
`
`lter
`
`VMware, Inc. Exhibit 1020 Page 1
`
`
`
`Virtualization
`From the Desktop to the Enterprise
`
`CHRIS WOLF AND ERICK M. HALTER
`
`VMware, Inc. Exhibit 1020 Page 2
`
`
`
`Virtualization: From the Desktop to the Enterprise
`Copyright © 2005 by Chris Wolf and Erick M. Halter
`All rights reserved. No part of this work may be reproduced or transmitted in any form or by any means,
`electronic or mechanical, including photocopying, recording, or by any information storage or retrieval
`system, without the prior written permission of the copyright owner and the publisher.
`
`ISBN: 1-59059-495-9
`
`Printed and bound in the United States of America 9 8 7 6 5 4 3 2 1
`
`Trademarked names may appear in this book. Rather than use a trademark symbol with every occurrence
`of a trademarked name, we use the names only in an editorial fashion and to the benefit of the trademark
`owner, with no intention of infringement of the trademark.
`
`Lead Editor: Jim Sumser
`Technical Reviewer: Harley Stagner
`Editorial Board: Steve Anglin, Dan Appleman, Ewan Buckingham, Gary Cornell, Tony Davis,
`Jason Gilmore, Jonathan Hassell, Matthew Moodie, Chris Mills, Dominic Shakeshaft, Jim Sumser
`Assistant Publisher: Grace Wong
`Project Manager: Kylie Johnston
`Copy Manager: Nicole LeClerc
`Copy Editor: Kim Wimpsett
`Production Manager: Kari Brooks-Copony
`Production Editor: Kelly Winquist
`Compositor: Van Winkle Design Group
`Proofreader: April Eddy
`Indexer: Carol Burbo
`Artist: Diana Van Winkle, Van Winkle Design Group
`Interior Designer: Diana Van Winkle, Van Winkle Design Group
`Cover Designer: Kurt Krames
`Manufacturing Manager: Tom Debolski
`
`Distributed to the book trade in the United States by Springer-Verlag New York, Inc., 233 Spring Street,
`6th Floor, New York, NY 10013, and outside the United States by Springer-Verlag GmbH & Co. KG,
`Tiergartenstr. 17, 69112 Heidelberg, Germany.
`
`In the United States: phone 1-800-SPRINGER, fax 201-348-4505, e-mail orders@springer-ny.com, or visit
`http://www.springer-ny.com. Outside the United States: fax +49 6221 345229, e-mail orders@springer.de,
`or visit http://www.springer.de.
`
`For information on translations, please contact Apress directly at 2560 Ninth Street, Suite 219, Berkeley,
`CA 94710. Phone 510-549-5930, fax 510-549-5939, e-mail info@apress.com, or visit http://www.apress.com.
`
`The information in this book is distributed on an “as is” basis, without warranty. Although every precaution
`has been taken in the preparation of this work, neither the author(s) nor Apress shall have any liability to
`any person or entity with respect to any loss or damage caused or alleged to be caused directly or indirectly
`by the information contained in this work.
`
`VMware, Inc. Exhibit 1020 Page 3
`
`
`
`This book is dedicated to my wonderful wife, Melissa, and son, Andrew.
`True success is not measured by professional accomplishments
`but rather by the love and respect of one’s family.
`As George Moore says, “A man travels the world over
`in search of what he needs and returns home to find it.”
`—Chris Wolf
`
`This book is dedicated to my family: Holly, Zack, Ella, and Gates,
`and to the teachers who taught me to write and think...and Elvis too!
`—Erick M. Halter
`
`VMware, Inc. Exhibit 1020 Page 4
`
`
`
`Contents at a Glance
`
`About the Authors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xvii
`About the Technical Reviewer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xix
`Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxi
`Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxiii
`
`CHAPTER 1
`Examining the Anatomy of a Virtual Machine . . . . . . . . . . . . . . . . . . . . 1
`CHAPTER 2
`Preparing a Virtual Machine Host. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
`CHAPTER 3
`Installing VM Applications on Desktops . . . . . . . . . . . . . . . . . . . . . . . . . 69
`CHAPTER 4
`Deploying and Managing VMs on the Desktop . . . . . . . . . . . . . . . . . . 85
`CHAPTER 5
`Installing and Deploying VMs on Enterprise Servers. . . . . . . . . . . . 139
`CHAPTER 6
`Deploying and Managing Production VMs on Enterprise Servers. . 173
`CHAPTER 7
`Backing Up and Recovering Virtual Machines . . . . . . . . . . . . . . . . . . 223
`CHAPTER 8
`Using Virtual File Systems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 263
`CHAPTER 9
`Implementing Failover Clusters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 309
`CHAPTER 10
`Creating Load-Balanced Clusters. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 347
`CHAPTER 11
`Building Virtual Machine Clusters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 379
`CHAPTER 12
`Introducing Storage Networking . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 413
`CHAPTER 13
`Virtualizing Storage. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 435
`CHAPTER 14
`Putting It All Together: The Virtualized Information System . . . . . 471
`APPENDIX A
`Virtualization Product Roundup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 495
`INDEX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 527
`
`v
`
`VMware, Inc. Exhibit 1020 Page 5
`
`
`
`Contents
`
`About the Authors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xvii
`About the Technical Reviewer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xix
`Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxi
`Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxiii
`
`■CHAPTER 1
`
`Examining the Anatomy of a Virtual Machine. . . . . . . . . . . . . . 1
`
`Introducing VM Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
`Hardware Emulators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
`Application Virtual Machines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
`Mainframe Virtual Machine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
`Operating System Virtual Machines . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
`Parallel Virtual Machines. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
`Deploying VMs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
`Choosing VM Hardware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
`Introducing Computer Components . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
`CPU. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
`RAM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
`Hard Drive . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
`Introducing Virtual Disk Types: Microsoft and VMware . . . . . . . . . . . . . . . . 11
`Virtual Hard Disk and Virtual Disks . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
`Dynamically Expanding and Dynamic Disks . . . . . . . . . . . . . . . . . . . . 12
`Fixed and Preallocated Disks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
`Linked and Physical Disks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
`Undo and Undoable Disks. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
`Differencing Disks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
`Persistent and Nonpersistent Independent Disks. . . . . . . . . . . . . . . . 14
`Append Disks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
`Resizing Disks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
`Introducing Networking . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
`VM Networking Protocols . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
`TCP/IP. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
`DHCP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
`NAT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
`Introducing Networking VMs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
`
`vii
`
`VMware, Inc. Exhibit 1020 Page 6
`
`
`
`viii
`
`■CONTENTS
`
`Introducing Hardware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
`Network Interface Card . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
`Switches . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
`BIOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
`Generic SCSI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
`I/O Devices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
`Introducing VM Products . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
`Virtual PC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
`VMware Workstation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
`Microsoft Virtual Server 2005 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
`VMware GSX Server. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
`VMware ESX Server. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
`Virtual Infrastructure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
`VMware VirtualCenter and VMotion. . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
`VMware P2V Assistant. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
`Migrating Between VMs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
`VMware ACE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
`Summary. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
`
`■CHAPTER 2
`
`Preparing a Virtual Machine Host. . . . . . . . . . . . . . . . . . . . . . . . . . 35
`
`Implementing Best Practices. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
`Evaluating Host Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
`Selecting a Motherboard . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
`CPU Speed and Quantity. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
`Controller Chipset. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
`Memory Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
`Bus Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
`Integrated Devices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
`Board Form Factor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
`Overall Quality. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
`Considering Your Network . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
`Public or Private VMs. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
`Availability and Performance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
`Simplicity. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
`Mesh Networks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
`Teaming and Load Balancing. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
`Network Adapter Teaming . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
`VM Networking Configurations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
`Supporting Generic SCSI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
`Windows Guests. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
`
`VMware, Inc. Exhibit 1020 Page 7
`
`
`
`■CONTENTS
`
`ix
`
`Linux Guests . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
`Considering Storage Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
`Physical Hard Drive Specifications . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
`RAID . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
`Host Disk Sizing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
`Guest Disk Sizing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
`Storage Area Networks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
`Summary. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
`
`■CHAPTER 3
`
`Installing VM Applications on Desktops. . . . . . . . . . . . . . . . . . . 69
`
`Deploying VMs with Microsoft Virtual PC. . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
`Installing VMware Workstation for Windows . . . . . . . . . . . . . . . . . . . . . . . . . 71
`Installing VMware Workstation for Linux . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
`Installing the RPM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
`Installing the TAR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
`VM Host Tuning Tips . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
`Summary. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
`
`■CHAPTER 4
`
`Deploying and Managing VMs on the Desktop. . . . . . . . . . . . 85
`
`Deploying VMs with VMware Workstation . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
`Installing VM Tools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
`VMware Tools for Windows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
`VMware Tools for Linux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
`VMware Virtual Hardware Options for Windows and Linux. . . . . . . . 95
`Microsoft Virtual PC: Building a Windows VM . . . . . . . . . . . . . . . . . . . . . . . 101
`Microsoft Virtual PC: Building a Linux VM . . . . . . . . . . . . . . . . . . . . . . . . . . 105
`Virtual PC Virtual Hardware Options . . . . . . . . . . . . . . . . . . . . . . . . . . 106
`Installing Virtual Machine Additions . . . . . . . . . . . . . . . . . . . . . . . . . . 108
`Managing VMs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
`Backing Up and Modifying VM Configurations . . . . . . . . . . . . . . . . . 109
`VMware *.vmx Configuration Files . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
`Virtual PC *.vmc Configuration Files . . . . . . . . . . . . . . . . . . . . . . . . . . 117
`Copying and Moving VMware Workstation Guest VMs. . . . . . . . . . . 119
`VMware Universally Unique Identifiers . . . . . . . . . . . . . . . . . . . . . . . 121
`Copying and Moving Virtual PC VMs to Other Hosts. . . . . . . . . . . . . 121
`Running VMs As Services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123
`Introducing VM CLI Administration and Keyboard Shortcuts . . . . . . . . . . 128
`VMware Workstation CLI. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129
`Virtual PC CLI Administration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131
`
`VMware, Inc. Exhibit 1020 Page 8
`
`
`
`x
`
`■CONTENTS
`
`Monitoring and Configuring VM Performance. . . . . . . . . . . . . . . . . . . . . . . 134
`VMware Performance Counters. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135
`Virtual PC Performance Options. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137
`Summary. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138
`
`■CHAPTER 5
`
`Installing and Deploying VMs on Enterprise Servers . . . . 139
`
`Installing Microsoft Virtual Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140
`Installing VMware GSX Server for Windows . . . . . . . . . . . . . . . . . . . . . . . . 143
`Installing VMware GSX Server for Linux . . . . . . . . . . . . . . . . . . . . . . . . . . . 146
`Installing the RPM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147
`Installing the TAR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149
`Installing the VMware Management Interface . . . . . . . . . . . . . . . . . . . . . . 150
`Working with the VMware Virtual Machine Console . . . . . . . . . . . . . . . . . 152
`Changing GSX Server’s Remote Console Port Number . . . . . . . . . . . . . . . 153
`Installing VMware ESX Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154
`Verifying ESX Server Configuration Information . . . . . . . . . . . . . . . . . . . . . 161
`Viewing Configuration Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161
`Using Linux Survival Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163
`Working with the Management Interface . . . . . . . . . . . . . . . . . . . . . . . . . . 165
`Understanding MUI and SSL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165
`Configuring the ESX Server Installation: Part One . . . . . . . . . . . . . . . . . . . 166
`License Agreement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167
`Startup Profile. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167
`Storage Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167
`Swap File. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168
`Network Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168
`ESX Security . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169
`Configuring the ESX Server Installation: Part Two . . . . . . . . . . . . . . . . . . . 170
`Summary. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171
`
`■CHAPTER 6
`
`Deploying and Managing Production VMs
`on Enterprise Servers. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173
`
`Deploying VMs with VMware GSX Server and ESX Server . . . . . . . . . . . . 173
`Building VMware GSX Server VMs. . . . . . . . . . . . . . . . . . . . . . . . . . . . 173
`Building VMware ESX Server VMs. . . . . . . . . . . . . . . . . . . . . . . . . . . . 176
`Mounting ISO Images . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177
`Installing VM Tools for GSX Server and ESX Server VMs. . . . . . . . . . . . . . 178
`Using VMware Tools for Windows . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178
`Using VMware Tools for Linux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179
`
`VMware, Inc. Exhibit 1020 Page 9
`
`
`
`■CONTENTS
`
`xi
`
`Configuring VMware GSX Server and
`ESX Server Virtual Hardware Options. . . . . . . . . . . . . . . . . . . . . . . . . . . 180
`Hard Disk. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181
`DVD/CD-ROM Drive . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182
`Floppy Drive . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182
`Ethernet Adapter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183
`Sound Adapter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183
`Configuring Legacy Devices. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183
`Configuring Generic SCSI Devices . . . . . . . . . . . . . . . . . . . . . . . . . . . 184
`Configuring a USB Controller . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185
`Scripting ESX Server USB Connectivity . . . . . . . . . . . . . . . . . . . . . . . 191
`Building Microsoft Virtual Server VMs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193
`General Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194
`Virtual Machine Additions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194
`Memory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195
`Hard Disks. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195
`CD/DVD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195
`SCSI Adapters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 196
`Network Adapters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 196
`Scripts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 196
`Floppy Drives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 196
`COM Ports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197
`LPT Ports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197
`Managing Server-Class VMs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197
`Modifying VM Configurations: Renaming and Moving . . . . . . . . . . . 197
`Using VMware Universally Unique Identifiers (UUIDs) . . . . . . . . . . . 200
`Importing Workstation and GSX Server VMs into ESX Server. . . . . 202
`Working with VMware GSX Server and
`ESX Server *.vmx Configuration Files . . . . . . . . . . . . . . . . . . . . . . 207
`Working with Virtual Server *.vmc Configuration Files . . . . . . . . . . 210
`Performing Command-Line Management . . . . . . . . . . . . . . . . . . . . . . . . . . 211
`VMware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211
`Microsoft . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213
`Using the Windows System Preparation Tool . . . . . . . . . . . . . . . . . . . . . . . 214
`Monitoring VM Performance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215
`Monitoring ESX Server Performance . . . . . . . . . . . . . . . . . . . . . . . . . 215
`Monitoring VMware GSX Server Performance. . . . . . . . . . . . . . . . . . 219
`Monitoring Virtual Server Performance . . . . . . . . . . . . . . . . . . . . . . . 220
`Performing Fault Monitoring and Fault Tolerance. . . . . . . . . . . . . . . . . . . . 221
`Summary. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222
`
`VMware, Inc. Exhibit 1020 Page 10
`
`
`
`xii
`
`■CONTENTS
`
`■CHAPTER 7
`
`Backing Up and Recovering Virtual Machines . . . . . . . . . . . 223
`
`Performing Traditional Agent-Based Backups . . . . . . . . . . . . . . . . . . . . . . 224
`Running Backup Agents on VMs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 224
`Running Backup Agents on the Host . . . . . . . . . . . . . . . . . . . . . . . . . 230
`Performing Non-Agent-Based Backups. . . . . . . . . . . . . . . . . . . . . . . . . . . . 230
`Using Windows Backup. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 231
`Backing Up Linux File Systems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234
`Performing Flat-File Backups . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 239
`Running VMware Workstation Flat-File Backups . . . . . . . . . . . . . . . 241
`Running VMware GSX Server Flat-File Backups. . . . . . . . . . . . . . . . 247
`Running Virtual PC 2004 Flat-File Backups. . . . . . . . . . . . . . . . . . . . 251
`Running Virtual Server 2005 Flat-File Backups . . . . . . . . . . . . . . . . 252
`Taking Online Snapshots . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257
`Performing a Full System Recovery . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 259
`Restoring Online VM Backups . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 260
`Restoring Flat-File VM Backups. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 261
`Summary. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 261
`
`■CHAPTER 8
`
`Using Virtual File Systems. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 263
`
`Introducing DFS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 263
`Implementing Windows DFS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 265
`Implementing Linux DFS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 271
`Using Samba with Kerberos Authentication . . . . . . . . . . . . . . . . . . . . . . . . 284
`Adding Samba to Active Directory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 285
`Setting Up Samba DFS Shares . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 286
`Introducing AFS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 288
`Implementing AFS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 292
`Installing AFS for Linux Systems. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 302
`Summary. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 307
`
`■CHAPTER 9
`
`Implementing Failover Clusters . . . . . . . . . . . . . . . . . . . . . . . . . . . 309
`
`Introducing Failover Clustering . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 310
`Defining Essential Terms. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 311
`Introducing Cluster Architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 312
`Introducing N-tier Clustering . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 313
`Working with Failover Cluster Products . . . . . . . . . . . . . . . . . . . . . . . 314
`Planning for Failover Clusters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 315
`Choosing the Right Model. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 316
`Configuring Cluster Hardware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 319
`
`VMware, Inc. Exhibit 1020 Page 11
`
`
`
`■CONTENTS
`
`xiii
`
`Setting Up Microsoft Server Clusters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 320
`Looking Under the Hood . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 320
`Planning Resource and Group Configuration. . . . . . . . . . . . . . . . . . . 323
`Installing the Windows Server 2003 Cluster Service . . . . . . . . . . . . 326
`Using the Cluster Administrator. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 328
`Setting Up Linux Failover Clusters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 331
`Setting Up the Red Hat Cluster Suite . . . . . . . . . . . . . . . . . . . . . . . . . 331
`Using Linux-HA Clusters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 333
`Summary. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 345
`
`■CHAPTER 10 Creating Load-Balanced Clusters. . . . . . . . . . . . . . . . . . . . . . . . . 347
`
`Round-Robin DNS: The Beginning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 349
`Planning for Load-Balanced Clusters. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 351
`Selecting Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 351
`Verifying Licensing. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 351
`Analyzing Risks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 352
`Estimating Server Capacity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 352
`Building Windows Network Load-Balanced (NLB) Clusters . . . . . . . . . . . 353
`Enabling the NLB Service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 353
`Understanding Unicast and Multicast. . . . . . . . . . . . . . . . . . . . . . . . . 354
`Understanding Convergence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 356
`Setting Priority . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 357
`Setting Port Rules. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 358
`Understanding Remote Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 358
`Using the Network Load Balancing Manager . . . . . . . . . . . . . . . . . . 358
`Implementing Best Practices for NLB Cluster Implementations . . 359
`Configuring and Managing Windows NLB Clusters . . . . . . . . . . . . . 360
`Building Linux Virtual Server (LVS) Clusters . . . . . . . . . . . . . . . . . . . . . . . . 374
`Understanding LVS Architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 375
`Implementing LVS Implementation . . . . . . . . . . . . . . . . . . . . . . . . . . . 377
`Summary. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 377
`
`■CHAPTER 11 Building Virtual Machine Clusters . . . . . . . . . . . . . . . . . . . . . . . . 379
`
`Building Microsoft VM Clusters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 379
`Setting Up Windows Server Clusters . . . . . . . . . . . . . . . . . . . . . . . . . 380
`Setting Up iSCSI Windows Server Clusters . . . . . . . . . . . . . . . . . . . . 391
`Installing the Windows Server 2003 Cluster Service . . . . . . . . . . . . 404
`Setting Up Windows NLB Clusters. . . . . . . . . . . . . . . . . . . . . . . . . . . . 406
`Building Linux VM Clusters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 409
`Summary. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 411
`
`VMware, Inc. Exhibit 1020 Page 12
`
`
`
`xiv
`
`■CONTENTS
`
`■CHAPTER 12
`
`Introducing Storage Networking. . . . . . . . . . . . . . . . . . . . . . . . . . 413
`
`Introducing SCSI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 414
`Speaking SCSI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 414
`ID vs. LUN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .