32
Mejores Prácticas para SQL-Server en Ambientes Virtualizados Carlos Rojas Vargas

Mejores prácticas para SQL Server en ambientes virtualizados

Embed Size (px)

Citation preview

Page 1: Mejores prácticas para SQL Server en ambientes virtualizados

Mejores Prácticas para SQL-Server en Ambientes Virtualizados

Carlos Rojas Vargas

Page 2: Mejores prácticas para SQL Server en ambientes virtualizados

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

Page 3: Mejores prácticas para SQL Server en ambientes virtualizados

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.

Page 4: Mejores prácticas para SQL Server en ambientes virtualizados

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.

Page 5: Mejores prácticas para SQL Server en ambientes virtualizados

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

Page 6: Mejores prácticas para SQL Server en ambientes virtualizados

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

Page 7: Mejores prácticas para SQL Server en ambientes virtualizados

Opciones de Consolidación para SQL-Server

Page 8: Mejores prácticas para SQL Server en ambientes virtualizados

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)

Page 9: Mejores prácticas para SQL Server en ambientes virtualizados

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

Page 10: Mejores prácticas para SQL Server en ambientes virtualizados

Virtualización

Page 11: Mejores prácticas para SQL Server en ambientes virtualizados

Por qué Virtualizar ?Consolidación de Servidores

Continuidad Operativa Flexibilidad

Mejor Uso de Recursos

Page 12: Mejores prácticas para SQL Server en ambientes virtualizados

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

Page 13: Mejores prácticas para SQL Server en ambientes virtualizados

Consideraciones en Opciones de

Virtualización

Page 14: Mejores prácticas para SQL Server en ambientes virtualizados

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

Page 15: Mejores prácticas para SQL Server en ambientes virtualizados

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

Page 16: Mejores prácticas para SQL Server en ambientes virtualizados

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

Page 17: Mejores prácticas para SQL Server en ambientes virtualizados

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

Page 18: Mejores prácticas para SQL Server en ambientes virtualizados

Recomendaciones por Área

Page 19: Mejores prácticas para SQL Server en ambientes virtualizados

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 )

Page 20: Mejores prácticas para SQL Server en ambientes virtualizados

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.

Page 21: Mejores prácticas para SQL Server en ambientes virtualizados

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

Page 22: Mejores prácticas para SQL Server en ambientes virtualizados

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

Page 23: Mejores prácticas para SQL Server en ambientes virtualizados

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.

Page 24: Mejores prácticas para SQL Server en ambientes virtualizados

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

Page 25: Mejores prácticas para SQL Server en ambientes virtualizados

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

Page 26: Mejores prácticas para SQL Server en ambientes virtualizados

SQL-Server en Windows Azure

Page 27: Mejores prácticas para SQL Server en ambientes virtualizados

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/

Page 28: Mejores prácticas para SQL Server en ambientes virtualizados

Herramientas de Planificación

Page 29: Mejores prácticas para SQL Server en ambientes virtualizados

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

Page 30: Mejores prácticas para SQL Server en ambientes virtualizados

30

Demo SQL-Server Virtualizado

DemoSQL-Server en Ambientes Virtualizados

Page 31: Mejores prácticas para SQL Server en ambientes virtualizados

Questions?

Page 32: Mejores prácticas para SQL Server en ambientes virtualizados

Thank You for AttendingFollow @pass24hop

Share your thoughts with hashtags #pass24hop & #sqlpass