top of page
Search

Virtualizando Microsoft SQL Server con VMWare y Nutanix

  • Carlos A. Alfonso
  • Jul 7, 2016
  • 4 min read

Si usted llegó aquí es por que ya tomó la decisión de Virtualizar servidores Micfrosoft SQL Server de misión crítica. Espero que esta breve guía sea de gran ayuda para sus implementaciones. Hasta hace poco tiempo, virtualizar aplicaciones críticas como bases de datos OLTP, era un tema algo delicado por el nivel de rendimiento que no era alcanzable en comparación con servidores Físicos conectados a un almacenamiento SAN. VMWare y Hyper-V han logrado optimizar sus plataformas de tal manera que las bases de datos virtual izadas logran un rendimiento igual o mejor (en algunos casos) que alojadas en un servidor físico. Para Garantizar el Éxito de este proceso de virtualización es muy importante seguir las recomendaciones de instalación de motor de base de datos, tal como si se fuera a realizar en un ambiente físico, estas recomendaciones están dadas por el fabricante. Sin especificar ningún Producto podemos tener en cuenta las siguientes. 1. Los archivos de datos deben ser ubicados en Volúmenes independientes a los archivos de Log 2. Tener mínimo un archivo de datos por cada Core de procesador. 3. Asignar al servidor un archivo de paginación al menos con igual capacidad de la memoria física Ahora bien, al enfocar este post a la instalación de Microsoft SQL Server las recomendaciones de instalación en un ambiente físico son: 1. Habilite el hyper-threading en el servidor, contrario a lo que se pueda pensar, esto no afecta el modelo de licenciamiento de SQL server, ya que es una característica de los procesadores, en la cual se activan 2 procesadores lógicos por cada Core físico. La ventaja es que el sistema operativo puede ser más eficiente con las tareas internas que serán ejecutadas en los procesadores lógicos. 2. Configure Max Server memory/min server memory. 3. Configure SQL Server: Locks Pages In Memory 4. Asigne un archivo de la tempdb por cada core de procesador, hasta llegar a un máximo de 8 archivos de datos de Tempdb 5. Ubique cada archivo de Tempdb en discos separados. 6. Cree cada archivo de la tempdb con el mismo tamaño inicial y crecimientos automáticos iguales. 7. El tamaño total de la base de datos tempdb debe mínimo el 1% del tamaño total de todas las bases de datos del servidor. 8. En la medida de lo posible, cree los archivos de datos con el mismo tamaño inicial, y cada archivo adicional deber ser del mismo tamaño de los anteriores, con crecimientos automáticos iguales.

9. El proceso de escritura de los archivos de log es secuencial, es decir que tener multiples archivos de log no ayudará para obtener un mejor rendimiento. Lo ideal es tener un archivo lo suficientemente grande y realizar los respaldos correspondientes para evitar que se llene Para Ambientes virtuales y específicamente con VMWare, existen otras recomendaciones que debemos seguir: 1. Por cada Virtual CPU, asignar 4GB RAM 2. Asignar 1 Virtual Core a 1 Virtual CPU 3. La tarjeta de red debe ser configurada con driver VMXNET3 4. Al asignar los discos de datos y de log del servidor de bases de datos, asignar paravirtual scsi driver (PVSCSI) 5. No asignar memoria dinámica al servidor de bases de datos. Se pierde la opción de manejar NUMA (Non-Uniform Memory Acces) 6. No modificar los settings de la BIOS de los servidores VMWare con el ánimo de reducir consumo de energía, esto afectará considerablemente el rendimiento de las aplicaciones alojadas en los servidores virtuales 7. Asignar un disco para el archivo de paginación del sistema operativo y uno para los binarios de instalación. 8. Al formatear los discos para ser asignados a sistemas operativos Windows, no se debe realizar formato rápido y debe asignarle un ablocamiento de 64K

9. Distribuya los datafile de la base de datos en varios discos, de esta forma logra mayor paralelismo en las escritura y lecturas aleatorias. 10. Asigne recursos suficientes y estáticos a las maquinas virtuales críticas , esto con el fin de evitar que se vean afectadas por el efecto del “vecino ruidoso”, en la cual al compartir recursos entre las maquinas virtuales, estas pueden tomar los recursos de las maquinas criticas afectando considerablemente el rendimiento.

11. A partir de la version SQL 2014 no es necesario asignar el Trace Flag 834

12. Habilitar el trace Flag 1117 ayuda a reducir la contención en la tempdb

13. Trate de mantener la utilización de los discos de los datafiles máximo al 80% de su capacidad total, con el fin de no reducir el rendimiento


Recuerde que estos tips, solo son para tratar de mantener el rendimiento de servidores migrados a un ambiente virtualizado. El solo cambio no tendrá una mejora en sus aplicaciones , recuerde que el 80% de los problemas de rendimiento están en el código de las aplicaciones, no en el servidor.


Algunas recomendaciones de la documentación de VMWare no aplican en NUTANIX, entre ellas tenemos.


1. Crear datastores dependiendo de la carga de trabajo (OLTP u OLAP) el algoritmo del software de NUTANIX, maneja muy eficientemente las cargas de cada maquina asignándoles los recursos necesarios para mantener su rendimiento optimo. Por lo tanto hay una menor carga administrativa y operativa en el manejo de recursos.

2. Al crear los discos , Vmware sugiere crearlos thick provision eadger zeroed, con NUTANIX se pueden crear Thin Provision y el rendimiento se mantiene



3. No es necesario crear JUMBO FRAMES para acceso a Disco ISCSI o NFS


Fuentes: Dba Guide to Databases on Vmware -- www.vmware.com Virtualizing SQL server with Vmware Doing it Right -- vmware press SQL server on VMware Best practices -- www.vmware.com Performance Tuning for Online Transaction Processing -- www.microsoft.com

Commenti


Posts Recientes
Búsqueda por Tags
Conéctate
  • LinkedIn Long Shadow
  • Twitter Long Shadow
bottom of page