11 octubre 2013

VMware & Oracle performance tips on NFS NetApp storage

     Los problemas de rendimiento son tediosos de resolver y no siempre tienen su origen donde apuntan las primeras hipótesis cuando alguien destapa la caja de los truenos y se queja del bajo rendimiento de algún servidor virtualizado.

    Es muy habitual que por desconocimiento de la virtualizacion, se la culpe siempre en primer termino de todos los males... saber conectarse a un vCenter y crear una maquina virtual "no" es saber de virtualizacion.

     Siempre debe realizarse un trabajo conjunto de todas las áreas implicadas. Me explico, un problema de performance de una maquina virtual no es un problema exclusivo de VMware o del virtualizador de turno, es un problema en el que interviene muchos elementos y departamentos como Storage, Networking, BBDD, etc.
 
    La suma de acciones suele generar buenos resultados al final de los analisis de problemas de rendimiento y todos los departamentos suelen enriquecerse de esas experiencias... asumir una mejora no es culparse de un error si no aportar valor y conocimiento ..al hilo de lo cual os recuerdo lo importante de documentar todo lo que podamos "el ser humano es el unico animal que tropieza dos veces en la misma piedra, porque la primera no lo documenta".



Vamos al turrón con 3 puntos básicos que aunque focalizamos en VMware, NetApp y Oracle lo podemos hacer extensible a cualquier entorno virtual, de almacenamiento y de bbdd:

1-Aplicar best practices de NetApp (consultar antes de aplicar con el fabricante):

Foco de atención sobre:
-Revisar configuración del Networking del NFS: uso de VLAN aislando para trafico NFS, misma subnet red NFS servidor y NAS, reducir saltos de red fisica entre el servidor y la NAS, habilitar jumbo frames a nivel de NFS, utilizar tarjetas 10GbE, realizar teaming (vifs & etherchannel) y revisar políticas de balanceo.
-Revisar el alineado de los FileSystem y VM´s.
-Aplicar recomendaciones del plugin NetApp integrado en el vCenter (consultar antes con fabricante)
-Revisar capacidad de IOps de agregados y controladoras (Monitorizar con OnCommand Core)
-Revisar configuración de los agregados: “añadir discos físicos y forzar reallocate”, verificar planificación de la deduplicacion, revisar estado thinprovisioning y espacio libre en NAS, revisar planificación de snapshots, revisar configuración de RAID óptima para mayor rendimiento de VM´s criticas.
- Estudiar opción crear agregados flashpools con SSD.
-Estudiar opción conexión por FC para VM´s criticas.

Documentación relacionada:
NetApp Technology - Monitorización OnCommand-Core
NetApp Storage Best Practices for VMware vSphere
NetApp Technology - Alineación de Máquinas Virtuales
NetApp, Best Practices for File System Alignment in Virtual Environments
NetApp, location of the mbrscan and mbralign tools
Clustered Data ONTAP NFS Implementation Guide
NetApp Data Compression and Deduplication Deployment and Implementation Guide
VMware vSphere 5 on NetApp Clustered Data ONTAP 8.1
NetApp and VMware Virtual Infrastructure 3 Storage Best Practices (uno de los TR mas populares de NetApp)



2-Aplicar best practices de VMware para NFS:

Foco de atención sobre:
-Reasignación de los datastores (vol): tamaños, y disposición en los aggr
-Redimensionar nº de VM´s en diferentes datastores y agruparlas por tipo de SO
-Reasignar VM´s criticas en vols independientes.
-Verificar estado VAAI para NFS (opciones limitadas)
-Revisar y optimizar shares de Disco, CPU y RAM de las VM´s criticas
-Crear varios vmkernel para NFS con diferentes ip´s y asignar diferentes nics de salida para repartir trafico. ( 1 vSwitch para NFS con 2 vmkernel > vmkernel01 con nic1 activa y nic2 pasiva, vmkernel02 con nic2 activa y nic1 pasiva)
-Configurar vDS que permita agregar varias nics fisicas en el mismo port group para NFS y obtener mayor capacidad de carga y/o balanceo (IP Hash, con limitaciones)
-Modificar parámetros avanzados de NFS

Documentación relacionada:
Increasing the default value that defines the maximum number of NFS mounts on an ESXi/ESX host
NFS with IP Hash Load Balancing
Best Practices for Running VMware vSphere on Network-Attached Storage (NAS)
Verify Hardware Acceleration Status for NAS
Performance Implications of Storage I/O Control–Enabled NFS Datastores in VMware vSphere 5.0
Best Practices for Performance Tuning of Latency-Sensitive Workloads in vSphere Virtual Machines
Performance Implications of Storage I/O Control-Enabled NFS Datastores
Load Balancing with NFS and Round-Robin DNS

3-Aplicar best practices de VMware para Oracle (BBDD):

Foco de atención sobre:
-No realizar overcommit de CPU y RAM (Reserva de RAM: virtual memory size = Oracle System Global Area + operating system)
-Uso de menos vCPU es más eficiente que uso de muchas vCPU
-Alineado de FS con la NAS
-Habilitar JumboFrames en VMware NFS y NAS
-Utilizar Paravirtual SCSI  (PVSCSI)  kb.vmware.com/kb/1010398

Documentación relacionada:
Running Business-Critical Applications on Oracle RAC, VMware and NetApp
Oracle® Databases on VMware vSphere™ 4 ESSENTIAL DEPLOYMENT TIPS
VMware vCenter Server 5.1 Database Performance Improvements and Best Practices for Large-Scale Environments
Oracle Databases on VMware VMware vSphere 5 RAC Workload Characterization Study (VMware VMFS)
Oracle Databases on VMware High Availability
Oracle Databases on VMware Best Practices Guide
Oracle Databases on VMware RAC Deployment Guide
Oracle Dev/Test on VMware vSphereand NetApp Storage Solutions Overview


...Mucho que leer y mucho que aprender :-)