Mejores Prácticas para SQL-Server en Ambientes Virtualizados Carlos Rojas Vargas Speaker Bio Carlos Rojas Vargas es Microsoft MVP en SQL-Server desde el año 2001 con 14 años consecutivos de obtener este reconocimiento y trabaja con SQL-Server desde el año 1995. A partir de 1999 se certifica como MCT y comienza a impartir Capacitación certificada Microsoft, actualmente trabaja como Consultor en SQL-Server, Windows Server, Virtualización con Hyper-V, Alta Disponibilidad y Soluciones de Colaboración con Sharepoint en Grupo CMA, un Partner de Microsoft. También trabaja como Trainer para Corporación CTE, un CPLS de Microsoft. En este momento cuenta con las certificaciones MCSA(SQL-Server 2012), MCSA(SQL-Server 2008), MCITPro (Database Administrator SQL-Server 2008), MCTS(Sharepoint 2010), MCTS(SQL-Server 2008), MCTS(Windows Server 2008 Applications Infrastructure, Configuration), MCTS(Windows Server Virtualization, Configuration), MCTS(SQL Server 2008, Business Intelligence Development and Maintenance), MCTS(Visual Studio 2008), MCITPro (SQL-Server 2005), MCTS(SQLServer 2005), MCTS(Visual Studio 2005), MCTS(Sharepoint Server 2007), MCTS(Sharepoint Services 3.0), MTA(Windows Server Administration Fundamentals), MTA(Windows® Operating System Fundamentals), MTA(Database Administration Fundamentals), MCDBA, MCSD.NET, MCAD, MCSE, MCSA, MCDST, MCT, A+, N+, IC3 y CIW-CI. Es el Fundador y Administrador del Grupo de Usuarios de SQL-Server de Costa Rica(http://www.sqlugcr.net). Generalmente participa como Expositor en los Lanzamientos de Productos, TechDays, eXpert Zone, .NET Future Developers y Developer Days que Microsoft organiza en diferentes países, además participó como Expositor en el Primer, Tercer y Sétimo Simposio Latinoamericano de Sharepoint y como Expositor en las 24 Horas PASS Latam y los SQL-Saturday patrocinados por PASS. Fuera de Costa Rica ha impartido capacitación de SQL-Server y Visual Studio en Honduras, Nicaragua, Panamá y México. 2 Picture Here http://www.sqlugcr.net Consolidación Consolidación, en términos generales, es la combinación de varias unidades en unidades mayores más eficientes y estables. Cuando se aplica a un Departamento de TI, la consolidación en concreto se traduce en rentabilidad con una mayor y mejor utilización de los recursos, la estandarización y mayor capacidad de gestión del entorno de TI, y (más recientemente) un enfoque de "Green IT" a través del consumo de energía reducido. 3 Virtualización La virtualización ofrece una capa de abstracción que permite que múltiples sistemas operativos, servicios o aplicaciones se ejecuten en un único dispositivo, estando aislados unos de otros. La Solución Correcta Pese a las similitudes, hay algunas diferencias clave Consolidación Siempre será reducir y fusionar - relación varía dependiendo de la estrategia y la tecnología Incluye la licencia de operaciones, procesos, infraestructura y personas Moderadamente útil para apoyar las aplicaciones heredadas Requiere re-alineación de la organización para tener éxito Virtualización Puede o no puede reducir o fusionar La planificación requiere mucho cuidado en el almacenamiento para aprovechar las características de facilidad de transporte y Alta Disp. Excelente para el apoyo a las aplicaciones heredadas Requiere nuevas habilidades y conocimientos Puede ser mínimamente invasivo para los grupos de TI 5 Solución para cada Problema Consolidación y Virtualización resuelven problemas similares Mejorar la eficiencia de utilización de recursos Un mejor control y una mejor gestión Reducir los costos generales La consolidación no necesariamente requiere de virtualización para tener éxito La amplia aplicación de la virtualización no implica la consolidación automática 6 Opciones de Consolidación para SQL-Server Opciones de Consolidación para SQL-Server Instancia única, única base de datos, multiesquema Muy difícil de lograr Común en la plataforma de base de datos de "Otros" Oportunidad significativa para los conflictos. La complejidad de gestión y la seguridad se superponen Generalmente no se recomienda Un solo servidor, única instancia, múltiples bases de datos Difícil de conseguir, pero da lo mejor de la utilización Algunos aislamientos de recursos con el Resource Governor Algunos aislamientos de seguridad con la gestión de cifrado y TDE Algunos conflictos de nombres (por ejemplo, los inicios de sesión) Recursos compartidos / conflictos de configuración (TempDB) 8 Opciones de Consolidación para SQL-Server Un solo servidor, multi-instancia Buenos controles de recursos con la configuración de SQL Server Buen aislamiento de seguridad (si se siguen las mejores prácticas) Mínimos conflictos de nombres Implementación flexible y modelo de gestión Posibilidad de Multi-versión Un solo servidor, una ó varias máquinas virtuales Diferentes tecnologías de virtualización disponibles Opciones de Alta Disponibilidad Aprovechamiento de recursos por servidor Se reduce cantidad de equipos físicos a administrar Cantidad de Instancias de SQL-Server a administrar no necesariamente se reduce 9 Virtualización Por qué Virtualizar ? Consolidación de Servidores Continuidad Operativa Mejor Uso de Recursos Flexibilidad Beneficios de la Virtualización • Mejora la recuperación ante desastres • Ahorro de tiempo al implementar servidores • Reducción del tiempo a la hora de sustituir los servidores físicos a servidores virtuales • Más fácil y rápido para crear sistemas de prueba • Consolidación de servidores • Beneficios en Licenciamiento • Bajo consumo de energía y enfriamiento • Reducción de hardware y los costos de mantenimiento Consideraciones en Opciones de Virtualización Consideraciones de Seguridad en opciones de Consolidación Requirement Virtualization Instance Database Equivalent to having a dedicated physical machine Yes No No Isolation of local Windows accounts Yes No No Isolation of SQL Server logins Yes Yes No Isolation of SQL Server binaries Yes Yes No Data protection through Windows BitLocker® drive encryption Yes Partial – no isolation Partial – no isolation between applications between applications Yes – if instances have Partial – no isolation separate service accounts between applications Yes Partial – all root Yes Data protection through Windows Encrypting File System Yes Data protection through Microsoft SQL Server TDE certificates are stored in master Yes Data protection through Windows permissions Yes Partial – SQL Server service account and files shared for host instance Data protection through SQL Server granular encryption Yes Yes Yes Data protection through SQL Server granular permissions Yes Yes Yes Yes Yes Yes Auditing of actions with SQL Server Audit 14 Consideraciones de Alta Disponibilidad y Recuperación de Desastres en opciones de Consolidación Feature Virtualization Instance Database Application remains available during planned host Yes – via Live Migration Yes – via database Yes – via database (database mirroring can mirroring mirroring Yes – via Live Migration No No Yes – via Live Migration No No Yes Yes Partial –failover is at machine downtime without application restart Application remains available during planned host also be used) machine downtime without client reconnect Application can be migrated between machines without downtime (restart or reconnect) SQL Server failover clustering the instance level SQL Server log shipping Yes Yes Yes SQL Server database mirroring Yes Yes Yes SQL Server AlwaysOn Yes Yes Yes 15 Consideraciones de Aislamiento de Recursos en opciones de Consolidación Consideration Virtualization Instance Database Isolation of tempdb Yes Yes No Isolation of server level objects (credentials, linked Yes Yes No Yes Yes No Yes Yes Yes Hot-add CPU No Yes Yes Hot-add memory No Yes Yes Hot-add storage Yes Yes Yes servers, msdb, SQL Server Agent jobs, and so on) Hard limits on CPU and memory usage set per application Use of Resource Governor to provide query prioritization within a SQL Server instance 16 Consideraciones de Capacidad de Gestión en opciones de Consolidación Feature Virtualization Instance Database Create predefined images Yes No No “One click” clone environments between development, Yes – with SCVMM No Partial – can clone data-tier applications test, and production Low cost migration Yes – P2V utility No Partial – depends on how well contained the application is within a database Dynamic redeployment of application without Yes – with Live Migration No No Yes Yes Yes – if registered as a data-tier downtime Can be managed by the SQL Server Control Point application Requires installing SQL Server multiple times No – can use P2V or cloning Yes No Reduces number of physical servers to maintain Yes Yes Yes Reduces number of Windows installations to maintain No Yes Yes Reduces number of SQL Server instances to maintain No No Yes 17 Recomendaciones por Área Recomendaciones Generales para Virtualización • Pruebe las aplicaciones de red intensiva para validar que los acuerdos de nivel de servicio sean aceptables. • Use multipathing en el host o en la máquina virtual para garantizar el máximo rendimiento y alta disponibilidad para las cargas de trabajo virtual. • Utilice discos virtuales SCSI para todos los discos de datos. • No ubique las VMs sobre Discos Encriptados ó Comprimidos • Excluya las VMs del escaneo de Antivirus del Host • Utilice Hyper-V en Windows Server para aprovechar el Second-Level Address Translation (SLAT) si está disponible (AMD es NPT, Intel es EPT ) 19 Recomendaciones para configuración del Hyper-V Root • Reserve por lo menos 2 GB de RAM para el sistema operativo de la partición Root. No hay manera de asignar la memoria para este sistema operativo, sino más bien tómelo en cuenta al asignar la memoria para el host y las máquinas virtuales Guest. • A fin de garantizar el menor espacio posible y los más bajos requisitos de parches, analice la opción de instalar Windows Server Core. • Reserve una tarjeta de red (NIC) dedicada con fines de administración. • Administre el servidor de forma remota en lugar de directamente en la consola del sistema. • Utilice un tarjeta de Red de 1 gigabit ó mejor para Live Migration ya que esta característica se utiliza para transferir grandes cantidades de datos. Lo ideal es no usar un puerto que va a través de un virtual switch. 20 Recomendaciones para configuración del Hyper-V Root • Separar los LUN para el sistema operativo Host, para los discos duros virtuales de los Guest, y para el repositorio de SCVMM. Esto permite una mejor distribución de carga y evita los cuellos de botella de I/O. • Utilice sistemas RAID 0+1 con el fin de proporcionar protección de datos y el mejor rendimiento posible. • Muchos Blades vienen con dos discos físicos. Utilice estos para el manejo del sistema operativo y para almacenar todas las configuraciones de discos duros virtuales, y utilice la SAN para las máquinas virtuales. • Evite ejecutar servicios en la partición Parent • Evite las sesiones de Hyper-V Manager y Virtual Machine activas 21 Recomendaciones de Configuración para Hyper-V Guest • Asigne una tarjeta de Red individual para cada Guest. • Utilice discos virtuales SCSI para todos los Discos de Datos y Logs. • Instale los Integration Services de Hyper-V. • Si va a utilizar Fixed-sized VHDs para los sistema operativos virtuales tome en cuenta: • Tamaño del VHD para el Sistema Operativo (mínimo 50 GB) + Tamaño de Memoria de la VM = Mínimo Tamaño del VHD • Tome en cuenta el espacio necesario para los archivos adicionales por VM. Por ejemplo, SQL Server usa: Tamaño VHD Sistema Operativo + (Tamaño de Memoria de VM) + Ejecutables de SQL-Server 22 Recomendaciones de Configuración para VHD • Utilice Discos Virtuales conectados a la controladora SCSI virtual para todos los discos de datos. • Utilice Discos Pass-through ó Fixed-size VHD para las Guest VMs. • Las VMs que utilizan VHDs son más fáciles de mover que las que utilizan discos Pass-through. 23 Solid State Recomendado E: = SSD F: = non-SSD Hyper-V se ejecuta muy bien sobre Solid State Disks (SSD) Higher Is Better SSD tiene mejor rendimiento general Lower Is Better SSD tiene tiempos de respuesta más rápidos Ejemplo : SSD es capaz de hacer más I/O’s por segundo (IOPS) con tiempos de respuesta más rápidos 24 iSCSI Perf Best Practices con Hyper-V • Best Practices normales para Redes & iSCSI aplican • Use Jumbo Frames (Jumbo frames es soportado con HyperV y NIC virtuales en Windows Server 2008 R2 ó superior) con solicitudes altas de IO Beneficios se ven con 8K y superiores, cuanto mayor sea el tamaño del IO con jumbo frames de 512K se ve más el beneficio • Utilice NIC Dedicadas ó VLANs • Desabilite servicios innecesarios de las NICs que manejan tráfico iSCSI File Sharing, DNS • Primero utilice iSCSI en el parent – para almacenar VHDs • Segundo utilice iSCSI en el guest 25 SQL-Server en Windows Azure Best practices para SQL-Server en Windows Azure Area Optimización Recomendada Tamaño máqina virtual DS3 ó superior para SQL-Server Enterprise Edition DS2 ó superior para SQL-Server Standard and Web Editions Almacenamiento Utilizar Premium Storage Mantener la storage account y la máquina virtual en la misma región Deshabilitar el geo-redundant storage(geo-replication) en la storage account Discos Utilice un mínimo de 2 discos P30, 1 para Logs, 1 para Datos y TempDB Evite utilizar discos del SO ó temporales para las bases de datos Habilite el read caching en los discos de Datos y Tempdb No habilite el caching en discos de Logs Configure stripe sets con múltilples discos de Azure para incrementar el IO throughput Formatear los discos con los allocation units recomendados I/O Habilite la compression por Página Habilite la inicialización instantánea de archivos para los archivos de datos Administre el autocrecimiento Mover todas las bases de datos a discos de datos de Azure, inclusive las de Sistema Mover el error log a discos de datos de Azure Configure los directories default para las bases de datos y los respaldos Aplicar los fixes de SQL-Server para rendimiento https://azure.microsoft.com/en-us/documentation/articles/virtual-machines-sql-server-performance-best-practices/ Herramientas de Planificación Microsoft Assessment and Planning Toolkit Migración de S.O? Consolidación de Servidores? Virtualización? Red Realiza un Inventario del entorno de redes sin instalar agentes y recomienda las tecnologías apropiadas MAP Tool User (IT Pro/Partner) Genera Reportes para Distintos Escenarios de Migración http://www.microsoft.com/map 29 Demo Demo SQL-Server en SQL-Server Virtualizado Ambientes Virtualizados 30 Questions? Thank You for Attending Follow @pass24hop Share your thoughts with hashtags #pass24hop & #sqlpass