Mejores Prácticas para SQL-Server en Ambientes Virtualizados

Anuncio
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
Descargar