Virtualizzazione di Sql Server Francesco Diaz http://blogs.technet.com/b/francesco_diaz Partner Technical Consultant Agenda • • • • • Panoramica di Hyper-V e Hyper-V R2 Configurazione di Sql Server in ambiente virtuale Monitoring Best practices Riferimenti utili Partner Technical Consultant Architettura di Hyper-V Panoramica Partner Technical Consultant Hyper-V Architecture Parent Partition Child Partition Child Partition Child Partition Windows Server 2008 Hyper-V Aware Windows OS Hyper-V Aware Non-Windows OS Non-Hyper-V Aware OS Virtualization Service Provider (VSP) Virtualization Service Consumer (VSC) Device Drivers Device Drivers Enlightenments 3rd party VSC VMBus VMBus VMBus WinHv WinHv 3rd party Hypercall Interface Device Emulation Hypercalls Hypercalls Hypercalls Intercepts Ring 3 VMM Service User Mode WMI Provider VM Worker Processes Virtualization Infrastructure Driver Ring 0 Kernel Mode Ring -1 Microsoft Hypervisor Hardware Partner Technical Consultant 4 Come viene caricato l’hypervisor? HVBOOT.SYS • • Il computer si avvia dall’MBR e chiama HVBOOT.SYS HVBOOT.SYS si occupa di : − Verificare se Hypervisor è installato − Chiama una routine per verificare la CPU (AMD o Intel) − Fa invoke delle routine di avvio dell’hypervisor su tutti i processori − Hypervisor viene eseguito in Ring-1 − Viene creata la parent partition − Il normale processo di boot prosegue Partner Technical Consultant 5 Parent partition • • La parent partition è responsabile di: − Gestire ed assegnare le risorse hardware. − Power management, plug and play, ed eventi di failure dell’hardware − Creazione e gestione delle altre partizioni − Avviare l’hypervisor. Lo stack di virtualizzazione viene eseguito nella parent partition e comprende: − − − − − − Virtual Machine Management Service (VMMS) Virtual Machine Worker Process (VMWP) Virtual Devices (VDEVs) Virtualization Service Providers (VSPs) Virtualization Infrastructure Driver (VID) Windows Hypervisor Interface Library (WinHv) Partner Technical Consultant Parent Partition Windows Server 2008 VMM Service WMI Provider VM Worker Processes Virtualization Infrastructure Driver Virtualization Service Provider (VSP) Device Drivers VMBus WinHv Hypercalls 6 Child Partition Device emulati Virtualization Service Clients (VSC) Guest Integration Services VMBus WinHv Device virtuali Integration components VMBus Partner Technical Consultant 7 Integration Components Emulated Devices Partner Technical Consultant Synthetic Devices Configurazione di Hyper-V Installazione degli Integration Components Eseguire le macchine senza Int.Comp. su Host separati Legacy net. Adapters possono ridurre le prestazioni dei driver sintetici Configurazione Anti-virus Impostare exclusions su VMSWP.EXE, VMWP.EXE e VMMS.EXE Non impostare lo scan sulle cartelle che contengono I file di configurazione delle VM Partner Technical Consultant 9 Configurazione di Hyper-V Impostare path di default Assicurarsi che lo storage migliore venga usato per le VM Riduce la complessità dei backup Utilizzare più schede di rete Separare le schede di rete per il management e per il traffico diretto alle VM Partner Technical Consultant 10 Hyper-v R2 Live Migration Partner Technical Consultant Live Migration: Come funziona 1. Viene creata la VM nel target server 2. Vengono copiate le pagine di memoria via Ethernet Ultimo passaggio 3. a) b) 4. Pausa delle VM Muovere la connettività allo storage via Ethernet Esecuzione della VM nella destinazione; Cancellazione della VM di origine Host 1 Host 2 Blu = Storage Giallo = Networking Partner Technical Consultant Shared Storage Cluster Shared Volumes Overview Dati inviati via rete Coordinator Node 1 LUN, più VMs SAN VHD Partner Technical Consultant Distributed File Access per Hyper-V VHD VHD Clustered Shared Volumes (CSV) • • • Permette a più nodi di un cluster di accedere ad una singola LUN Un nodo si occupa di fare da coordinatore per le scritture Abilita la live migration di una VM senza impattare le altre VM nella LUN Partner Technical Consultant High Availability per SQL Server In ambienti virtualizza Consolidamento aumenta l’importanza delle soluzioni di HA Il consolidamento di più istanze potrebbe impattare l’importanza di un failure Guest Cluster Guest Cluster 2 1 11 Live Migration 22 Host cluster Shared Storage iSCSI Redundant Paths to storage Guest Clustering Partner Technical Consultant Shared Storage iSCSI, SAS, Fibre Live Migration & Host Clustering SQL Server e Hyper-V Overview e consolidamento Partner Technical Consultant Alcuni vantaggi della virtualizzazione di Sql Server • • • • • • Consolidamento di server e istanze Una più semplice migrazione delle VM Ottimizzazione dello storage e delle risorse hardware Migrazione da ambiente fisico a virtuale con System Center Virtual Manager Alta disponibilità, alta affidabilità Una possibile miglior gestione del licensing : http://download.microsoft.com/download/1/e/6/1e68f92cf334-4517-b610e4dee946ef91/2008%20SQL%20Licensing%20Overview %20final.docx Partner Technical Consultant Storage • • Varie tipologie di dischi − Dynamically Expanding (sconsigliati) − VHD a dimensione fissa (OK) − Pass-through (OK) Varie tipologie di accesso − IDE − SCSI Partner Technical Consultant SQL Server Consolidation Database level consolidation Più database vengono consolidati in una singola istanza Sicurezza, gestione, compatibilità da progettare con attenzione Potrebbe richiedere modifiche alle applicazioni o script Costi di gestione inferiori Miglior isolamento delle risorse tramite Resource Governor Virtual Machines Instances Sales_1 Consolidate_1 Marketing_1 Online_Sales ERP_10 ERP_10 Partner Technical Consultant Databases DB_1 DB_2 DB_3 Higher Density, Lower Costs Higher Isolation, Higher Costs SQL Server Consolidation Higher Isolation, Higher Costs Instance level consolidation Più istanze vengono eseguite su un unico server Isolamento completo dello schema e della security Isolamento parziale della gestione delle risorse IO, Memoria e CPU sono limitate all’interno di una singola macchina Partner Technical Consultant Virtual Machines Instances Sales_1 Databases Consolidate_1 Marketing_1 Online_Sales ERP_10 ERP_10 DB_1 DB_2 DB_3 Higher Density, Lower Costs SQL Server Consolidation Options Virtual Machine consolidation Isolamento totale tra le varie applicazioni (SO, SQL Server, etc) Alta affidabilità molto semplice da raggiungere Gestione dello storage molto flessibile Meno hardware, ma più sistemi operativi da gestire Maggior utilizzo delle risorse hardware Partner Technical Consultant Virtual Machines Instances Sales_1 Databases Consolidate_1 Marketing_1 Online_Sales ERP_10 ERP_10 DB_1 DB_2 DB_3 Higher Density, Lower Costs Higher Isolation, Higher Costs Confronto tra le varie opzioni Virtualizzazione Istanza Sicurezza Resource Management Densità Migrazione Altà affidabilità Legenda Best Better Good Fonte : http://msdn.microsoft.com/en-us/library/ee819082.aspx Partner Technical Consultant Database Sql Server e Hyper-V Monitoring Partner Technical Consultant Monitoraggio CPU • E’ meglio utilizzare i counter installati da Hyper-V per ottenere una maggiore accuratezza dei dati : − Hyper-V Hypervisor Logical Processor − Hyper-V Hypervisor Root Virtual Processor − Hyper-V Hypervisor Virtual Processor Partner Technical Consultant Monitoraggio Dischi • • Il monitoraggio dei dischi Pass-t. Va fatto dalla macchina host utilizzando il counter Phisical Disk, oppure dalla macchina Guest Il monitoraggio dei dischi VHD va fatto dalle macchine guest per evitare eventuali dati aggregati sulla LUN Partner Technical Consultant Monitoraggio Network • • Host − \Network Interface(*)\Bytes Total/sec − \Network Interface(*)\Output Queue Length Guest − Nel caso in cui i counters della macchina host risultino busy è possibile controllare anche : − \Hyper-V Virtual Network Adapter(*)\Bytes/sec Partner Technical Consultant Best practices, osservazioni e considerazioni finali Partner Technical Consultant Best Practices e considerazioni finali • Eseguire Sql Server all’interno di Hyper-V Guests è una buona scelta : − Quando posso raggiungere un ottimo risultato sulla macchina virtuale senza impattare troppo sulla CPU − Hyper-v trae beneficio dalla nuova generazione di processori (es. SLAT) − Quanto le limitazioni delle Guest VM non diventano un problema per i carichi di lavoro di Sql Server − Un adeguato sizing dell’hardware è fondamentale per Sql Server − Test/Monitor dei carichi di lavoro Partner Technical Consultant Best Practices e considerazioni finali • Installazione degli Integration Components − Migliori IO performance − Riduce l’overhead nell’accesso alla memoria • Passthrough e Fixed Size VHD per performance I/O migliori − − − • Un sizing adeguato della memoria RAM − • IO Performance Impact è minimo SQL IO performance e sizing vanno comunque effettuate Dynamic VHD non raccomandati La memoria viene assegnata in maniera statica alle VM e può essere modificata solo quando la macchina è spenta CPU Affinity non supportata Partner Technical Consultant Best practices e considerazioni finali • • • • • Hyper-V Guests VM limitate a 4 cores e 64GB RAM. Gli altri requisiti e limiti di Guest e Host sono disponibili qui : http://technet.microsoft.com/en-us/library/ee405267(WS.10).aspx Assicurarsi di avere un adeguato numero di CPU fisiche da assegnare alle varie macchine virtuali. L’overcommit delle CPU può causare un overhead eccessivo. Carichi di lavoro molto intensi dal punto di vista network potrebbero risultare in un overhead del carico CPU. Un accurata fase di testing in questi casi è suggeritaLa virtualizzazione di Sql Server è possibile anche con prodotti di terze parti : http://support.microsoft.com/kb/956893/en-us L’overhead è minimo quando Sql Server viene eseguito in ambiente virtuale. I dischi Pass-through e i VHD a dimensione fissa offrono ottime prestazioni, con un leggero vantaggio per i dischi Pass-throught. I VHD però garantiscono una maggiore semplicità in fase di migrazione http://download.microsoft.com/download/d/9/4/d948f981-926e40fa-a026-5bfcf076d9b9/SQL2008inHyperV2008.docx Partner Technical Consultant Best practices e considerazioni finali • • • • Utilizzare driver sintetici. Evitare driver emulati. Seguire sempre le pre-deployment best practices di Sql Server prima di virtualizzare : http://technet.microsoft.com/it-it/library/cc966412(enus).aspx Utilizzare gli stress test anche prima di virtualizzare − SQLIO.Exe (Microsoft) − IOMeter (Open Source) − SQLIOSim (Microsoft) La virtualizzazione di Sql Server è possibile anche con prodotti di terze parti : http://support.microsoft.com/kb/956893/en-us Partner Technical Consultant Riferimenti • Consolidation Guidance for SQL Server 2008 − • Running SQL 2008 in Hyper-V Environment − • • − http://support.microsoft.com/?id=956893 − http://blogs.msdn.com/psssql/archive/2008/10/08/sql-server-support-in-a-hardwarevirtualization-environment.aspx Windows Virtualization Validation Program http://www.microsoft.com/windowsserver2008/en/us/virtualization-consolidation.aspx Hyper-V Technet center − • http://windowsservercatalog.com/svvp.aspx?svvppage=svvp.htm Windows Server Hyper-V site – • http://www.msarchitecturejournal.com/pdf/Journal18.pdfhttp://msdn.microsoft.com/en-us/architecture/dd393309.aspx Support Policies of SQL Server in virtualized environments. − • http://sqlcat.com/whitepapers/archive/2008/10/03/running-sql-server-2008-in-a-hyper-venvironment-best-practices-and-performance-recommendations.aspx Green IT in Practices: SQL Server Consolidation in Microsoft IT − • http://msdn.microsoft.com/en-us/library/ee819082.aspx http://technet2.microsoft.com/windowsserver2008/en/servermanager/virtualization.mspx SQL Server 2008 Business Value Calculator: − www.moresqlserver.com Partner Technical Consultant Partner Technical Consultant