Este documento presenta las mejores prácticas para SQL Server en ambientes virtualizados. Comienza con una biografía del orador Carlos Rojas Vargas, quien es un experto en SQL Server. Luego discute opciones de consolidación para SQL Server, incluidas instancias únicas, múltiples instancias y máquinas virtuales. También cubre consideraciones de virtualización, alta disponibilidad y rendimiento. Finalmente, proporciona recomendaciones generales para la virtualización de SQL Server.
2. Speaker Bio
2
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(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. 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.
4. 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. 5
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
6. 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
8. 8
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)
9. 9
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
Opciones de Consolidación para SQL-Server
11. Por qué Virtualizar ?
Consolidación de Servidores
Continuidad Operativa Flexibilidad
Mejor Uso de Recursos
12. 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
14. 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. 15
Consideraciones de Alta Disponibilidad y Recuperación
de Desastres en opciones de Consolidación
Feature 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. 16
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
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. 17
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,
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
19. 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. 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. 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. 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. 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. 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
Higher
Is
Better
Lower
Is
Better
SSD tiene mejor
rendimiento
general
SSD tiene tiempos
de respuesta
más rápidos
E: = SSD
F: = non-SSD
25. 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
27. 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/
29. 29
Genera Reportes para
Distintos Escenarios de
Migración
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