meta data de esta página
¡Esta es una revisión vieja del documento!
Optimizaciónes para VMWARE
Optimización de la red
Elementos que debemos cambiar
- Cambiar las tarjetas de red de las máquinas virtuales del E1000 a vmxnet3
- instalar en las Mvs las vmwaretools
- en los interfaces a 10 GB activar jumbo frames(mtu 9000) en la parte de vmotion e iscsi a todos los niveles (switch virtual, kernel port, switch físico, MV).
- Activar el DMA (Direct Memory Access) en las tarjetas de red que lo soporte ya que la tarjeta de red realiza un bypass de la cpu para acceder directamente a la memoria, mejorando el rendimiento.
- Si las tarjetas de red de los servidores soportan TSO o TCO y la MV también activarlo http://kb.vmware.com/kb/2055140 y http://kb.vmware.com/kb/2055140
Al instalar el nuevo driver vmnet3 aparecen en el panel de control de las MV nuevas opciones de mejora.(TSO,TCO,jumbo frames)
TCO
Tcp Checksum Offset permite al adaptador de red hacer el mismo las operaciones de checksum, reduciendo la carga de la CPU física del host ESX por lo que mejora el rendimiento
TSO
Tcp Segmentation Offload reduce también la carga sobre la CPU física, mejorando el rendimiento. Por defecto está habilitada en el kernel si la tarjeta lo soporta.
si queremos comprobarlos ejecutamos desde la consola del ESX
esxcfg-vmknic -l
y aparecerá una columna indicando si soporta TSO
TSO puede se habilitado directamente en la MV, en windows dentro del panel de control→propiedades driver de red→opciones avanzadas. En linux usamos la herramienta ethtool
ethtool -K eth0 tso on
NetQueue
Mejora el rendimiento en adaptadores 10GB ya que usa múltiples colas de transmisión y recepción para poder procesar I/O entre diferentes CPUs.
DirectPath I/O
Sirve para asignar una tarjeta de red del ESX directamente a una MV.
Para activar DirectPath I/O nos dirigimos al ESX→ Configuration→Advanced Settings y pinchamos sobre Configure Passthrough… y seleccionamos la tarjeta para que no sea usada por el kernel y así podersela asignar directamente a una MV
Optimizar el Almacenamiento
Hay que buscar cabinas que soporten VAAI ( VStorage APIs for Array Integration) ya que nos va proporcionar funcionalidades de aceleración por hardware que posibilitan realizar operaciones sobre la MV y el almacenamiento directamente en la cabina si cargar el host ESX
VAAI necesita:
- ESXi/ESX 4.1 o posterior
- Licencia Enterprise o superior
- Cabina de almacenamiento que soporte VAAI
Por defecto el ESX trae activada las opciones, pero para comprobarlo podemos ejecutar
esxcfg-advcfg -g /DataMover/HardwareAcceleratedMove
esxcfg-advcfg -g /DataMover/HardwareAcceleratedInit
esxcfg-advcfg -g /VMFS3/HardwareAcceleratedLocking
O bien mirar en el GUI los mismo parámetros en el ESX → Configuration →Advanced Settings
Para mirar rendieminto antes de hacer cambios podemos ejecutar esxtop desde la consola del ESX. Después para ver el disco presionamos la tecla U y presionando f elegimos las columnas ATSF (fallos en los bloqueos )y ATS (Bloqueos)
Para aumentar el rendimiento podemos cambiar ciertos parámetros:
- A partir de la versión 5 es mejor usar LUNs grandes que muchas pequeñas
- Protocolo de almacenamiento
- Queues y LUN queues deph
A partir de la versión 4.x se usa ATF para bloquear una zona determinada de la LUN y no como anteriormente que se bloqueaba entera cada vez que la VM actualizaba el metadata l realizar cierta operaciones como crear o borrar snapshots.
PSA
VMware PSA (Pluggable Storage Architecture) es una serie de APIs a través de las cuales los fabricantes de cabinas pueden insertar su propio código para multipathing y/o balanceo de almacenamiento. Con ello lo que se consigue es una integración mucho mejor entre VMware y el sistema de almacenamiento de un determinado fabricante.
Está formada por varios componentes :
- MPP: Por sus siglas Multipathing Plugin
- SATP: Storage Array Type Plugin
- PSP: Path Selection Plugin
Si queremos ver las reglas que tenemos en nuestro ESX ejecutamos
esxcli corestorage claimrule list
Si queremos ver los PSP que tenemos
esxcli nmp psp list
http://blog.hispavirt.com/2010/09/29/vsphere-%C2%BFque-es-vmware-psa/
esxcli storage nmp path list
Si queremos cambiar el path por defecto para que todas la nuevas conexiones sean por defecto en round robin, ejecutamos el siguiente comando:
esxcli storage nmp satp set -s VMW_SATP_DEFAULT_AA -P VMW_PSP_RR
Si queremos cambiar las que ya existen
esxcli storage nmp device set -d <DEVICE> -P <PSP_NAME>
por ejemplo
esxcli storage nmp device set --device naa.xxx.xxx.xx --psp VMW_PSP_RR
Para sacar un listado
esxcli storage nmp satp list
escli storage core device list
Para ver el pto de montaje y el UUID
escli storage filesystem list
Reescanear todos los adaptadores
esxcli storage core adapter rescan -a
Instalar drivers de terceros
Ciertos fabricantes incluyen sus propios drivers, para instalar dichos drivers ejecutamos
esxcli software vib install
esxcli storage nmp psp list
<note> el driver nativo es nmp el cual incluye satp y psp </code>
Referencias
Optimización de la CPU
Lo primero que hay que tener en cuenta es que el scheduler de la CPU es crítico para obtener un buen rendimiento.
Las características
- scheduler vcpus en cpus físicas
- ejecuta el proportionasl share algorith
- soporta smp en VMs
- usa relaxed co-scheduling para VM con SMP
- soporta arquitectura NUMA
para ver el rendimiento usamos esxtop → c
- NWLD→
- %USED→ciclos de cpu usados por VM
MVv con prioridades altas entran antes a la CPU. Para cambiar la prioridad de la MV →edit settings de la MV →resourced →share →high
Herramientas
- resxtop Vsphere Management Assistant
- IOMETER http://www.iometer.org/ con esta herramienta podemos medir el subsistema de I/O