mejores prácticas para sql server en ambientes virtualizados
TRANSCRIPT
Mejores Prácticas para SQL-Server en Ambientes Virtualizados
Carlos Rojas Vargas
2
Speaker BioCarlos 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(SQL-Server 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.
Picture Here
http://www.sqlugcr.net
3
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.
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.
5
La Solución CorrectaPese 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
6
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
Opciones de Consolidación para SQL-Server
8
Opciones de Consolidación para SQL-Server
Instancia única, única base de datos, multiesquemaMuy difícil de lograrComún en la plataforma de base de datos de "Otros"Oportunidad significativa para los conflictos. La complejidad de gestión y la seguridad se superponenGeneralmente no se recomienda
Un solo servidor, única instancia, múltiples bases de datosDifícil de conseguir, pero da lo mejor de la utilizaciónAlgunos aislamientos de recursos con el Resource GovernorAlgunos aislamientos de seguridad con la gestión de cifrado y TDEAlgunos conflictos de nombres (por ejemplo, los inicios de sesión)Recursos compartidos / conflictos de configuración (TempDB)
9
Un solo servidor, multi-instanciaBuenos controles de recursos con la configuración de SQL ServerBuen aislamiento de seguridad (si se siguen las mejores prácticas)Mínimos conflictos de nombres Implementación flexible y modelo de gestiónPosibilidad de Multi-versión
Un solo servidor, una ó varias máquinas virtualesDiferentes tecnologías de virtualización disponiblesOpciones de Alta DisponibilidadAprovechamiento de recursos por servidorSe reduce cantidad de equipos físicos a administrarCantidad de Instancias de SQL-Server a administrar no necesariamente se
reduce
Opciones de Consolidación para SQL-Server
Virtualización
Por qué Virtualizar ?Consolidación de Servidores
Continuidad Operativa Flexibilidad
Mejor Uso de Recursos
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
14
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 between applications
Partial – no isolation between applications
Data protection through Windows Encrypting File System Yes Yes – if instances have separate service accounts
Partial – no isolation between applications
Data protection through Microsoft SQL Server TDE Yes Yes Partial – all root certificates are stored in master
Data protection through Windows permissions Yes 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
Auditing of actions with SQL Server Audit Yes Yes Yes
15
Consideraciones de Alta Disponibilidad y Recuperación de Desastres en opciones de ConsolidaciónFeature Virtualization Instance Database
Application remains available during planned host machine downtime without application restart
Yes – via Live Migration (database mirroring can also be used)
Yes – via database mirroring
Yes – via database mirroring
Application remains available during planned host machine downtime without client reconnect
Yes – via Live Migration No No
Application can be migrated between machines without downtime (restart or reconnect)
Yes – via Live Migration No No
SQL Server failover clustering Yes Yes Partial –failover is at the instance level
SQL Server log shipping Yes Yes Yes
SQL Server database mirroring Yes Yes Yes
SQL Server AlwaysOn Yes Yes Yes
16
Consideraciones de Aislamiento de Recursos en opciones de ConsolidaciónConsideration Virtualization Instance Database
Isolation of tempdb Yes Yes No
Isolation of server level objects (credentials, linked servers, msdb, SQL Server Agent jobs, and so on)
Yes Yes No
Hard limits on CPU and memory usage set per application
Yes Yes No
Use of Resource Governor to provide query prioritization within a SQL Server instance
Yes Yes Yes
Hot-add CPU No Yes Yes
Hot-add memory No Yes Yes
Hot-add storage Yes Yes Yes
17
Consideraciones de Capacidad de Gestión en opciones de ConsolidaciónFeature Virtualization Instance Database
Create predefined images Yes No No
“One click” clone environments between development, test, and production
Yes – with SCVMM No Partial – can clone data-tier applications
Low cost migration Yes – P2V utility No Partial – depends on how well contained the application is within a database
Dynamic redeployment of application without downtime
Yes – with Live Migration No No
Can be managed by the SQL Server Control Point Yes Yes Yes – if registered as a data-tier 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
Recomendaciones por Área
19
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 )
20
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.
21
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
22
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
23
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.
24
Solid State Recomendado
Hyper-V se ejecuta muy bien sobre Solid State Disks (SSD)Ejemplo :
SSD es capaz de hacer más I/O’s por segundo (IOPS) con tiempos de respuesta más rápidos
HigherIs
Better
LowerIs
Better
SSD tiene mejor rendimiento general
SSD tiene tiempos de respuesta más rápidos
E: = SSDF: = non-SSD
25
iSCSI Perf Best Practices con Hyper-V• Best Practices normales para Redes & iSCSI aplican• Use Jumbo Frames (Jumbo frames es soportado con Hyper-
V 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
SQL-Server en Windows Azure
Best practices para SQL-Server en Windows AzureArea Optimización Recomendada
Tamaño máqina virtual DS3 ó superior para SQL-Server Enterprise EditionDS2 ó superior para SQL-Server Standard and Web Editions
Almacenamiento Utilizar Premium StorageMantener la storage account y la máquina virtual en la misma regiónDeshabilitar 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 TempDBEvite utilizar discos del SO ó temporales para las bases de datosHabilite el read caching en los discos de Datos y TempdbNo habilite el caching en discos de LogsConfigure stripe sets con múltilples discos de Azure para incrementar el IO throughputFormatear los discos con los allocation units recomendados
I/O Habilite la compression por PáginaHabilite la inicialización instantánea de archivos para los archivos de datosAdministre el autocrecimientoMover todas las bases de datos a discos de datos de Azure, inclusive las de SistemaMover el error log a discos de datos de AzureConfigure los directories default para las bases de datos y los respaldosAplicar 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
29
Genera Reportes paraDistintos Escenarios de Migración
MAP
Red
Realiza un Inventario del entorno de redes sin instalar agentes y recomienda las tecnologías apropiadas
MAP Tool User(IT Pro/Partner)
Migración de S.O?Consolidación de Servidores?Virtualización?
Microsoft Assessment and Planning Toolkit
http://www.microsoft.com/map
30
Demo SQL-Server Virtualizado
DemoSQL-Server en Ambientes Virtualizados
Questions?
Thank You for AttendingFollow @pass24hop
Share your thoughts with hashtags #pass24hop & #sqlpass