- ホーム
- > 洋書
- > 英文書
- > Computer / General
Full Description
The start-to-finish guide to virtualizing business-critical SQL Server databases on VMware vSphere 5By virtualizing business-critical databases, enterprises can drive far more value from existing IT infrastructure. But squeezing maximum performance out of a virtualized database instance is an art as much as a science. This indispensable start-to-finish guide brings together all the techniques, tips, and insights you need to succeed.Drawing on unsurpassed personal experience, three leading experts share complete best practices for deploying business-critical database servers in virtualized vSphere 5 environments. They cover the entire project lifecycle, bridging technical and communications gaps between SQL Server and VMware professionals that often make database virtualization more difficult than it needs to be.You'll find specific guidance for architects and administrators responsible for systems, storage, databases, applications, or VMware virtualization. The authors also present detailed, start-to-finish coverage of performance baselining and testing: all you need to make your virtualized databases as fast as they are cost effective. Although this book focuses on SQL, the authors' proven guidance for enhancing performance can be leveraged by any IT professional virtualizing a demanding Tier 1 application.Coverage includes* Business cases for database virtualization: consolidation, Database as a Service (DaaS), efficiency, and "SLAs on steroids"* Using the redundancy inherent in virtualization to improve availability* Constructing a careful, conservative implementation plan* Balancing disk, CPU, memory, and network for superior performance* Mastering the five key principles of database storage design* Leveraging memory: SQL MAX, page locking, NUMA, reservations, swapping, large memory pages, and more* Ensuring responsiveness by providing a fast, reliable, low-latency network* Supporting advanced AlwaysOn Failover Cluster Instances and Availability Groups* Baselining physical systems and properly determining resource requirements* Configuring performance tests from beginning to end* Migrating existing SQL Server databases onto a vSphere platform* Avoiding traps and pitfalls in virtualizing production databases* Managing and monitoring virtualized database instances and resources
Contents
Foreword xviiPreface xixAbout the Authors xxiiiAbout the Technical Reviewer xxvAcknowledgments xxviiReader Services xxix1 Virtualization: The New World Order? 1Virtualization: The New World Order 1Virtualization Turns Servers into Pools of Resources 3Living in the New World Order as a SQL Server DBA 3A Typical Power Company 6Summary 72 The Business Case for Virtualizing a Database 9Challenge to Reduce Expenses 9The Database Administrator (DBA) and Saving Money 10Service Level Agreements (SLA) and the DBA 11Avoiding the Good Intention BIOS Setting 12DBAs' Top Reasons to Virtualize a Production Database 13High Availability and Database Virtualization 14Performance and Database Virtualization 16Provisioning/DBaaS and Database Virtualization 17Hardware Refresh and Database Virtualization 20Is Your Database Too Big to Virtualize? 22Summary 233 Architecting for Performance: The Right Hypervisor 25What Is a Hypervisor? 25Hypervisor Is Like an Operating System 26What Is a Virtual Machine? 28Paravirtualization 29The Different Hypervisor Types 29Type-1 Hypervisor 30Type-2 Hypervisor 31Paravirtual SCSI Driver (PVSCSI) and VMXNET3 31Installation Guidelines for a Virtualized Database 32It's About Me, No One Else But Me 33Virtualized Database: It's About Us, All of Us 34DBA Behavior in the Virtual World 34Shared Environment Means Access to More If You Need It 35Check It Before You Wreck It 36Why Full Virtualization Matters 36Living a DBA's Worst Nightmare 37Physical World Is a One-to-One Relationship 38One-to-One Relationship and Unused Capacity 38One to Many: The Virtualized World 40The Right Hypervisor 40Summary 414 Virtualizing SQL Server: Doing IT Right 43Doing IT Right 43The Implementation Plan 44Service-Level Agreements (SLAs), RPOs, and RTOs 45Baselining the Existing vSphere Infrastructure 46Baselining the Current Database Workload 48Bird's-Eye View: Virtualization Implementation 50How a Database Virtualization Implementation Is Different 51Summary 555 Architecting for Performance: Design 57Communication 58Mutual Understanding 59The Responsibility Domain 60Center of Excellence 61Deployment Design 63SQL Workload Characterization 64Putting It Together (or Not) 65Reorganization 68Tiered Database Offering 70Physical Hardware 73CPU 74Memory 76Virtualization Overhead 76Swapping, Paging? What's the Difference? 78Large Pages 79NUMA 79Hyper-Threading Technology 85Memory Overcommitment 87Reservations 87SQL Server: Min/Max 90SQL Server: Lock Pages in Memory 92Storage 93Obtain Storage-Specifi c Metrics 94LSI Logic SAS or PVSCSI 94Determine Adapter Count and Disk Layout 95VMDK versus RDM 96VMDK Provisioning Type 96Thin Provisioning: vSphere, Array, or Both? 98Data Stores and VMDKs 99VMDK File Size 100Networking 100Virtual Network Adapter 100Managing Traffi c Types 101Back Up the Network 103Summary 1046 Architecting for Performance: Storage 105The Five Key Principles of Database Storage Design 106Principle 1: Your database is just an extension of your storage 106Principle 2: Performance is more than underlying storage devices 107Principle 3: Size for performance before capacity 107Principle 4: Virtualize, but without compromise 108Principle 5: Keep it standardized and simple (KISS) 109SQL Server Database and Guest OS Storage Design 109SQL Server Database File Layout 110Number of Database Files 110Size of Database Files 114Instant File Initialization 120SQL Server File System Layout 122SQL Server Buffer Pool Impact on Storage Performance 129Updating Database Statistics 130Data Compression and Column Storage 132Database Availability Design Impacts on Storage Performance 135Volume Managers and Storage Spaces 136SQL Server Virtual Machine Storage Design 136Virtual Machine Hardware Version 137Choosing the Right Virtual Storage Controller 138Choosing the Right Virtual Disk Device 143SQL Virtual Machine Storage Layout 152Expanding SQL Virtual Machine Storage 158Jumbo VMDK Implications for SQL Server 159vSphere Storage Design for Maximum SQL Performance 164Number of Data Stores and Data Store Queues 165Number of Virtual Disks per Data Store 170Storage IO Control-Eliminating the Noisy Neighbor 173vSphere Storage Policies and Storage DRS 177vSphere Storage Multipathing 184vSphere 5.5 Failover Clustering Enhancements 185RAID Penalties and Economics 187SQL Performance with Server-Side Flash Acceleration 198VMware vSphere Flash Read Cache (vFRC) 199Fusion-io ioTurbine 201PernixData FVP 204SQL Server on Hyperconverged Infrastructure 207Summary 2137 Architecting for Performance: Memory 217Memory 218Memory Trends and the Stack 218Database Buffer Pool and Database Pages 219Database Indexes 222Host Memory and VM Memory 225Mixed Workload Environment with Memory Reservations 226Transparent Page Sharing 228Internet Myth: Disable Memory TPS 229Memory Ballooning 230Why the Balloon Driver Must Run on Each Individual VM 232Memory Reservation 232Memory Reservation: VMware HA Strict Admission Control 233Memory Reservations and the vswap File 233SQL Server Max Server Memory 234SQL Server Max Server Memory: Common Misperception 235Formula for Confi guring Max Server Memory 236Large Pages 237What Is a Large Page? 237Large Pages Being Broken Down 238Lock Pages in Memory 239How to Lock Pages in Memory 241Non-Uniform Memory Access (NUMA) 241vNUMA 243Sizing the Individual VMs 244More VMs, More Database Instances 244Thinking Differently in the Shared-Resource World 246SQL Server 2014 In-Memory Built In 246Summary 2478 Architecting for Performance: Network 249SQL Server and Guest OS Network Design 250Choosing the Best Virtual Network Adapter 250Virtual Network Adapter Tuning 252Windows Failover Cluster Network Settings 254Jumbo Frames 256Confi guring Jumbo Frames 259Testing Jumbo Frames 262VMware vSphere Network Design 264Virtual Switches 265Number of Physical Network Adapters 267Network Teaming and Failover 270Network I/O Control 274Multi-NIC vMotion 276Storage Network and Storage Protocol 279Network Virtualization and Network Security 281Summary 2869 Architecting for Availability: Choosing the Right Solution 287Determining Availability Requirements 287Providing a Menu 288SLAs, RPOs, and RTOs 290Business Continuity vs. Disaster Recovery 291Business Continuity 291Disaster Recovery 291Disaster Recovery as a Service 292vSphere High Availability 294Hypervisor Availability Features 294vMotion 296Distributed Resource Scheduler (DRS) 297Storage vMotion 297Storage DRS 297Enhanced vMotion X-vMotion 298vSphere HA 298vSphere App HA 299vSphere Data Protection 300vSphere Replication 300vCenter Site Recovery Manager 301VMware vCloud Hybrid Service 302Microsoft Windows and SQL Server High Availability 302ACID 302SQL Server AlwaysOn Failover Cluster Instance 304SQL Server AlwaysOn Availability Groups 306Putting Together Your High Availability Solution 308Summary 31010 How to Baseline Your Physical SQL Server System 311What Is a Performance Baseline? 312Difference Between Performance Baseline and Benchmarks 315Using Your Baseline and Your Benchmark to Validate Performance 318Why Should You Take a Performance Baseline? 319When Should You Baseline Performance? 320What System Components to Baseline 320Existing Physical Database Infrastructure 321Database Application Performance 323Existing or Proposed vSphere Infrastructure 325Comparing Baselines of Different Processor Types and Generations 328Comparing Different System Processor Types 328Comparing Similar System Processor Types Across Generations 330Non-Production Workload Infl uences on Performance 331Producing a Baseline Performance Report 332Performance Traps to Watch Out For 333Shared Core Infrastructure Between Production and Non-Production 333Invalid Assumptions Leading to Invalid Conclusions 334Lack of Background Noise 334Failure to Considering Single Compute Unit Performance 335Blended Peaks of Multiple Systems 335vMotion Slot Sizes of Monster Database Virtual Machines 336Summary 337Contents11 Confi guring a Performance Test-From Beginning to End 339Introduction 339What We Used-Software 341What You Will Need-Computer Names and IP Addresses 341Additional Items for Consideration 342Getting the Lab Up and Running 342VMDK File Confi guration 345VMDK File Confi guration Inside Guest Operating System 352Memory Reservations 355Enabling Hot Add Memory and Hot Add CPU 356Affi nity and Anti-Affi nity Rules 358Validate the Network Connections 359Confi guring Windows Failover Clustering 359Setting Up the Clusters 362Validate Cluster Network Confi guration 368Changing Windows Failover Cluster Quorum Mode 369Installing SQL Server 2012 374Confi guration of SQL Server 2012 AlwaysOn Availability Groups 387Confi guring the Min/Max Setting for SQL Server 392Enabling Jumbo Frames 393Creating Multiple tempdb Files 394Creating a Test Database 396Creating the AlwaysOn Availability Group 399Installing and Confi guring Dell DVD Store 406Running the Dell DVD Store Load Test 430Summary 436Appendix A Additional Resources 437TOC, 9780321927750, 7/3/14