Mostrando las entradas con la etiqueta esx. Mostrar todas las entradas
Mostrando las entradas con la etiqueta esx. Mostrar todas las entradas

viernes, 12 de diciembre de 2008

Comando dmidecode: o como ver la configuracion de los DIMMs de memoria de tu ESX y mucho mas

Me encontraba yo en la tesitura de ampliar la memoria de mis ESX o simplemente comprar más servidores (o una mezcla de ambas).
Pero, ¿cuantos DIMMs tienen ocupados mis ESX?
(Y en general: ¿Como sé qué configuracion de memoria tiene mis servidores Linux?)

Lo primero a lo que se puede recurrir es a aplicaciones del fabricante, tipo Open Manage de DELL o IBM Director o DSA de IBM para ver cuantos slot/bancos de memoria libres tenemos y en consecuencia cuanto podemos ampliar. Esta es la manera más lenta pero mas bonita graficamente. (Eso sí, requiere instalacion de dichas aplicaciones, bajandonos la version para RedHat3, que es lo que lleva el COS. Es posible que no es lo que busquemos para dar un vistazo rapido a la configuracion de memoria que tenemos).

Lo segundo es recurrir a un comando (aunque todavia no lo he probado): lshw.
Lo malo es que dicho comando no viene por defecto en elos ESX y adolece de lo mismo que la primera opcion: Hay que instalar algo en la console de nuestro ESX y eso me gusta evitarlo siempre que puedo.


Por último, existe un comando muy útil que no conocia: Es dmidecode (ejecutar siendo root) que nos da un montonazo de informacion de nuestro harware, entre otras cosas : BIOS Information, System Information, Base Board Information, Chassis Information, Cache Information, Processor Information,Port Connector Information:USB,Video,IDE/Parallel ATA,SAS,Serial,Ethernet, ServeRAID Adapter, PCI-Express/X Riser, Power Supply, Fan, PCI-Express ocupadas y libres... y un largo etc...

La informacion que buscamos (Estructura de los DIMMs de memoria RAM instalada actualmente en el sistema) aparece de este modo:

Handle 0x004A
DMI type 16, 15 bytes.
Physical Memory Array
Location: System Board Or Motherboard
Use: System Memory
Maximum Capacity: 65024 MB
Number Of Devices: 12
Handle 0x004B
DMI type 17, 27 bytes.
Memory Device
Size: 512 MB
Form Factor: DIMM
Set: 1
Locator: DIMM 1
Bank Locator: Bank 1
Speed: 266 MHz (3.8 ns)

Handle 0x004C
DMI type 17, 27 bytes.
Memory Device
Size: 512 MB
Form Factor: DIMM
Set: 3
Locator: DIMM 4
Bank Locator: Bank 1
Speed: 266 MHz (3.8 ns)
...
Handle 0x004F
DMI type 17, 27 bytes.
Memory Device
Size: 2048 MB
Form Factor: DIMM
Set: 3
Locator: DIMM 3
Bank Locator: Bank 5
Speed: 266 MHz (3.8 ns)

Handle 0x0055
DMI type 17, 27 bytes.
Memory Device
Size: No Module Installed
Form Factor: DIMM
Set: 4
Locator: DIMM 9
Bank Locator: Bank 6
Speed: 266 MHz (3.8 ns)



Se puede ver, que hay 12 slots en total, algunos ocupados por 512MB de RAM otros por 2GB, otros libres, etc ,etc..

miércoles, 11 de junio de 2008

Interesante estudio sobre el aislamiento del rendimiento entre VMs en Xen, VMware y Solaris

En estos días de competencia, se habla mucho de la diferencia de rendimiento entre Hyper-V, Xen y VMware, de hecho la red se ha plagado de documentos ( o docu cuentos) dicendo que el mío es más rapido que el tuyo por esto y por esto etc, etc... Todas estas comparaciones y marketing se han centrado en el overhead que introduce la existencia de un hypervisor comparado con un OS nativo.

Este trabajo, compara la degradación del rendimiento de una VM cuando coexiste con otra VM que tiene un comportamiento errático absorbiendo todos los recursos (CPU, Disco, Memoria...).
En mi opinión este es un dato muy interesante porque cada vez más usamos las VMs en producción y cada vez más se usa en hostings comerciales donde el proveedor deja que varios clientes administren sus servidores en el mismo host fisico y, como es natural, un cliente quiere un determinado nivel de rendimiento independientemente de lo que ocurra con otra VM alojada en dicho host fisico.

Por ello se realizaron la pregunta:
¿Cómo afecta a una VM que otra VM ahogue los recursos cuando ambas comparten el host en las diferentes plataformas de virtualización?
Las platafomas elegidas han sido : VMware Workstation(full virtualization), Xen 3.0(paravirtualization) y Solaris containers(OS virtualization) a dichas plataformas les sometieron a seis tests de estrés: fork bomb, test consume memoria, test CPU intensive, test con 10 threads de IOzone y dos tests que envían y reciben mucho I/O de red.

Las conclusiones generales son que VMware protege la VM que está actuando correctamente (la VM buena) y que a veces muestra una degradacion mayor que otras plataformas sobre la VM mala. Cosa que no es un comportamiento malo para una infraestructura en producción.
Xen, por su parte, protege la VM buena en todos los tests, excepto en el de I/O intensivo de disco en el que penaliza un poco a la VM buena.
En cuanto a Solaris, la VM buena sufre la misma degradación que la mala proporcionado una mala actuación del hypervisor.

Es una pena que no hayan hecho el experimento con VMware ESX y la linea de producto similar en Xen y Solaris, pero viene a demostrar que la "full vrtualization" tiene el comportamiento correcto y provee del mejor aislamiento de las cargas de trabajo normales(VM buena) sobre las cargas de trabajo erráticas.

Herramientas para VMware ESX y Virtual Center

Aqui os dejo tres herramientas para vuestra infraestructura virtual que pueden resultar muy útiles.
Las herramietas son de Mightycare Solutions GmbH y ya fueron sacadas hace tiempo pero creo que merece la pena tenerlas las tres agrupadas y comentadas:

Snapshots Version 1.5
Es un pequeño script con el que eres capaz de chequear si las VMs de un ESX tienen snapshots o no. Se ejecuta con el cron de linux y puede ser corrido diariamente, semanalmente, etc... el script nos devuelve una información detallada de las Vms con snapshots y su almacenamiento.

VMStatus:

VMStatus se conecta a un Virtual Center 2.5 y muestra una lista de las VMs con la siguente información:
  • Virtual Machine Operating System
  • VM Status
  • VM Tools
  • Time Synchronization
Con un doble click en una VM se puede cambiar la configuracón de "time synchronization".

Storageview 1.0.5:
MCS Storageview 1.0.5 muestra las particiones logicas de todas las VMs en un servidor ESX 3.x o Virtual Center 2.x. Nos muestra cuantos GB podemos ahorrarnos decrementando las particiones etc, etc...

lunes, 2 de junio de 2008

Como crear un Disco Duro para acceso compartido en el mismo Host ESX

En muchas ocasiones nos puede venir muy bien que dos VMs compartan el acceso a un disco duro simultaneamente. Esta es la forma tipica de crear un cluster MSCS o un cluster GFS u OCFS o Linux HA, etc, etc.

Lo que se busca es que dichas VMs puedan acceder al mismo tiempo al disco, poniendo una capa por encima que arbitre (generalmente mediante locks) el acceso en lectura/escritura. Lo normal, es que usemos Raw Device Mapping y que dichas VM estén en diferentes Hosts ESX pero hay muchas veces que por diversas razones (no tenemos una SAN, estamos haciendo una maqueta de pruebas, etc,etc) necesitamos poner las VMs que conforman dicho cluster en el mismo Host ESX.

En estos casos, para que sea posible compartir un disco duro (un "virtual disk"), es necesario especificar en el driver SCSI de las máquinas virtuales en las cuales el disco va a ser compartido que su Bus SCSI va a ser compartido:





Una vez hecho esto, tendremos que crear el disco que va a ser compartido como "thick".

El comando para hacerlo es:

vmkfstools -c 10g ruta_del_disco_duro_a_crear -d thick

Una vez creado el disco, lo añadimos a las máquinas virtuales que lo tengan que utilizar a través de "Add Hard Drive", "Use an existing virtual disk". Lo normal es crear con el comando anteriror el vmdk que va a ser compartido en el primer nodo del cluster (es decir en el mismo direcorio que el vmx del primer nodo) y en los nodos simplemente añadir el disco usando Use an existing virtual disk y seleccionando el directorio donde esta el vmdk a compartir.

¿Porqué debemos crear el Virtual Disk como thick?
Esto ocurre porque, al tratarse de un disco que va a ser compartido, los nodos pueden estar escribiendo simultáneamente en posiciones del disco muy diferentes, por ejemplo uno podria escribir al principio mientras que otro podria escribir al final, por ello es necesario reservar y ocupar todo el espacio que ocupa el disco ya desde su creación.

martes, 27 de mayo de 2008

vscsiStats: Disk I/O Workload Characterization in VMware ESX

La herramienta vscsiStats nos permite medir y caracterizar la carga de I/O a nivel del adaptador de virtual SCSI de una VM. Esta utilisima informacion nos permite crear histogramas y graficos de los diversos valores que podemos medir y asi poder realizar el tuning de los discos para aumentar su performance u optimizar diversos valores del RAID etc, etc...

Está en ESX desde antes de la version 3.5 pero es ahora en la 3.5 cuando se le ha llenado de utilidad. Su ruta es : /usr/lib/vmware/bin/vscsiStats y os recomiendo que veais su ayuda.

Funcionamiento:
Simplemente tenemos que iniciar la monitorización con vscsiStats -s y posteriormente con proporcionarle el World Group ID de la Vm y el Virtual Disk Handle ID ya podremos obtener informacion sobre dicho disco a nivel virtual SCSI, tanto en escrituas como lecturas.
(Ejemplo de uso: root@esx1 root# /usr/lib/vmware/bin/vscsiStats -i 8277 -w 1382 -p ioLength).
Finalmente tendremos que parar la monitorizacion vscsiStats -x.

Entre los valores que le podemos pedir estan:
  • ioLength: Tamaño del I/O, puede indicar problemas del alignement de disco si hay valores como 8191 en lugar de 8192.... Los VMDKs suelen estar optimizados a 4kB.
  • seekDistance: Distancia entre busquedas seguidas
  • outstandingIOs: Indica el nivel de paralelismo
  • latency: Latencia
  • interarrival: Tiempo entre I/Os
El resultado será un histograma (ponemos los puntos de medida en tramos y dibujamos su frecuencia relativa).









Os pongo un ejemplo sacado del documento original, (el cual no dudeis en leer si quereis profundizar en el tema). Se trata de una comparación de una VM con XP y otra con Vista: En copias de ficheros grandes, Vista utiliza grandes I/Os(1MB) asi que aunque su latencia es mayor, el numero de comandos es mucho menor y el I/O es mucho más secuencial que el XP.

miércoles, 21 de mayo de 2008

ESX 3.5 puede correr en Workstation 6.5 Build 91182

Supongo que habrá muchos que se alegrarán: Ya se puede correr una VM con el ESX3.5 en Workstation 6.5, concretamente :
Download VMware Workstation 6.5 Beta VMware Workstation 6.5 Beta
Latest Version: Beta | 5/12/08 | Build 91182

Como antes, hay que tocar el .vmx de la maquina virtual.
Ejemplos de configuraciones que funcionan:
ethernet0.virtualDev = "e1000"
monitor.virtual_exec = "hardware"
monitor_control.restrict_backdoor = "true"

o

guestOS = "other"
ethernet0.virtualDev = "e1000"
scsi0.virtualDev = "lsilogic"
monitor.virtual_exec = "hardware"
monitor_control.restrict_backdoor = "true"

Y alguna recomendacion:
I'd also recommend to install the ESX itself to IDE and use the LSI-logic disks for VMFS Use 2 virtual CPUs only when you have a quadcore system - otherwise use one CPU

martes, 13 de mayo de 2008

Essential ESX 3.5 & VC 2.5 links


Eric Siebert (VMware Communities User Moderator) ha publicado (en forma de post sticky) una recopilacion de enlaces muy muy utiles para ESX 3.5 y V.C 2.5. La tenemos aqui.

Abarca una gran cantidad de puntos:

Compatibility & Version Info:
VI3 Key Features & Benefits Summary by Version - http://www.vmware.com/files/pdf/key_features_35.pdf
VMware Infrastructure Compatibility Matrixes - http://vmware.com/pdf//vi3_35/esx_3/r35/vi3_35_25_compat_matrix.pdf
Details of What's New and Improved In VI3 Version 3.5 - http://www.vmware.com/support/vi3/doc/whatsnew_esx35_vc25.html

Must Read:
RTFM Upgrade guide for ESX 3.5 and VirtualCenter 2.5 - http://tinyurl.com/3722dz


Release Notes/Install, Upgrade and Patch Guide:
ESX Server 3.5 and VirtualCenter 2.5 Release Notes - http://www.vmware.com/support/vi3/doc/vi3_esx35_vc25_rel_notes.html
ESX Server 3 Installation Guide - http://vmware.com/pdf/vi3_35/esx_3/r35/vi3_35_25_installation_guide.pdf
Upgrade Guide - http://vmware.com/pdf/vi3_35/esx_3/r35/vi3_35_25_upgrade_guide.pdf
ESX Server 3 Patch Management Guide - http://vmware.com/pdf/vi3_35/esx_3/r35/vi3_35_25_esxupdate.pdf


Additional documentation:
Configuration Maximums for VMware Infrastructure 3 - http://vmware.com/pdf/vi3_35/esx_3/r35/vi3_35_25_config_max.pdf
Quick Start Guide - http://vmware.com/pdf/vi3_35/esx_3/r35/vi3_35_25_quickstart.pdf
Basic System Administration - http://vmware.com/pdf/vi3_35/esx_3/r35/vi3_35_25_admin_guide.pdf
Virtual Infrastructure Web Access Administrator's Guide - http://vmware.com/pdf/vi3_35/esx_3/r35/vi3_35_25_web_access.pdf
ESX Server 3 Configuration Guide - http://vmware.com/pdf/vi3_35/esx_3/r35/vi3_35_25_3_server_config.pdf
Resource Management Guide - http://vmware.com/pdf/vi3_35/esx_3/r35/vi3_35_25_resource_mgmt.pdf
Fibre Channel SAN Configuration Guide - http://vmware.com/pdf/vi3_35/esx_3/r35/vi3_35_25_san_cfg.pdf
iSCSI SAN Configuration Guide - http://vmware.com/pdf/vi3_35/esx_3/r35/vi3_35_25_iscsi_san_cfg.pdf
Virtual Machine Backup Guide - http://vmware.com/pdf/vi3_35/esx_3/r35/vi3_35_25_vm_backup.pdf
VMware Infrastructure 3 Primer - http://vmware.com/pdf/vi3_35/esx_3/r35/vi3_35_25_prim.pdf


Additional downloads:
Remote CLI Download - http://www.vmware.com/download/download.do?downloadGroup=VI-RCLI
License Server for ESX 3.5 - http://download3.vmware.com/software/vi/VMware-licenseserver-64192.exe
CPU Compatibility Tool for ESX 3.5 - http://download3.vmware.com/software/vi/CPU_Compatibility-64557.zip


Converter:
VMware Converter Enterprise for VirtualCenter 2.5 Admin Guide - http://vmware.com/pdf/vi3_vec_10_admin_guide.pdf
VMware Converter Enterprise for VirtualCenter 2.5 Release Notes - http://vmware.com/support/vi3/doc/vi3_vec_10_rel_notes.html


Update Manager:
VMware Update Manager Release Notes - http://vmware.com/support/vi3/doc/vi3_vum_10_rel_notes.html
VMware Update Manager Admin Guide - http://www.vmware.com/pdf/vi3_vum_10_admin_guide.pdf
VMware Update Manager Sizing Estimator - http://vmware.com/support/vi3/doc/vi3_vum_10_sizing_estimator.xls


Latest Hardware Compatibility Guides:
Systems - http://vmware.com/pdf/vi3_systems_guide.pdf
I/O - http://vmware.com/pdf/vi3_io_guide.pdf
Storage/SAN - http://vmware.com/pdf/vi3_san_guide.pdf
Backup Software - http://vmware.com/pdf/vi3_backup_guide.pdf


Blog & News Articles:
VMware ESX 3.5 goes live with key new features - http://searchservervirtualization.techtarget.com/originalContent/0,289142,sid94_gci1285629,00.html
What's new in ESX 3.5 & VC 2.5? -
http://virtualgabe.wordpress.com/2007/12/08/what%e2%80%99s-new-in-esx-35-vc-25-part-2/
http://virtualgabe.wordpress.com/2007/12/08/what%e2%80%99s-new-in-esx-35-vc-25-part-3/
http://virtualgabe.wordpress.com/2007/12/08/what%e2%80%99s-new-in-esx-35-vc-25-part-4/
VMware VI Client 2.5 does not support 64-bit workstations - http://www.dabcc.com/article.aspx?id=6674


Relevant KB Articles:
Licensing:
Updates to your VMware VI3 Starter Licenses - http://kb.vmware.com/kb/1003299
Changes in licensing for VI3 Standard Edition When upgrading to VI 3.5 - http://kb.vmware.com/kb/1003301
Understanding VI 3.5 Licensing: Server and Host-based Licensing Models - http://kb.vmware.com/kb/1003295


ESX 3.5:
Installing ESX Server throws an "Anaconda Error" in the Partitioning Options screen - http://kb.vmware.com/kb/1003217
VMFS Partition cannot be created for "Typical" ESX Server Installation if Prior installation is detected - http://kb.vmware.com/kb/1003309
IBM System x3850 M2 and System x3950 M2 Servers fail to connect to 100Mbps Networks - http://kb.vmware.com/kb/1003226
Installing the Tivoli Storage Manager Client on the Service Console results in an error - http://kb.vmware.com/kb/1003142
Virtual Machine on a RDM Shared Storage becomes invalid after migration from ESX Server 2.5.x to ESX Server 3.5 or 3i - http://kb.vmware.com/kb/1003092
Vmotion is disabled after ESX Server upgrade - http://kb.vmware.com/kb/1003060
Certain Special Characters cause software iSCSI Initiator CHAP Configuration corruption - http://kb.vmware.com/kb/1003095
Connection to ESX Server host through VI Client is lost if you attempt to delete several VM's at once from the Datastore Browser - http://kb.vmware.com/kb/1003250
Storage Devices connected to McData FC Switch through Qlogic adapters occasionally do not re-appear after reboot - http://kb.vmware.com/kb/1003250
Snapshot operations submitted directly to an ESX Server Host during Storage vMotion corrupts Virtual Machine data - http://kb.vmware.com/kb/1003114
Storage vMotion on a VM with I/O intensive workload may result incorrectly in a timeout error - http://kb.vmware.com/kb/1003276
Upgrading to ESX Server 3.5 when the Root Parition is nearly full might cause Incomplete System Configuration - http://kb.vmware.com/kb/1003311
Restarting Hostd (mgmt-vmware) on ESX Server hosts restarts Hosted Virtual Machines where VM Auto Startup/Shutdown is enabled - http://kb.vmware.com/kb/1003312
ESX Server becomes temporarily unresponsive under a Heavy I/O load - http://kb.vmware.com/kb/1003039
Consolidation of Large or Deeply Nested Snapshots using VirtualCenter, SDK or VCB might take longer on ESX Server 3.5 than on ESX Server 3.0.x - http://kb.vmware.com/kb/1003308


Consolidated Backup 1.1:
Upgrading Consolidated Backup version 1.0.x to 1.1 causes the installer to hang - http://kb.vmware.com/kb/1003045
Consolidated Backup cannot create Quiesced Snapshots of VM's running Windows Vista - http://kb.vmware.com/kb/1003074
VCB 1.1 Command Line utility connection to port 902 causes an error message - http://kb.vmware.com/kb/1003088


VC 2.5:
When you install SQL Server Express on a System where SQL Native Client is present the installation might fail with error - http://kb.vmware.com/kb/1003076
VirtualCenter Server Fails to Start after your replace Default SSL Ceritifcates with Custom Certificates - http://kb.vmware.com/kb/1003070
Error Message During Installation: error 1603: error installing Windows installer engine - http://kb.vmware.com/kb/1003036
Administrative Credentials are Required for Oracle and SQL Database when Installing or Upgrading VirtualCenter - http://kb.vmware.com/kb/1003052
Client-side CD-ROM or Floppy can become disconnected - http://kb.vmware.com/kb/1003118
VirtualCenter Server does not detect changes in Host IP Address unless SSL Certificate Verification has been enabled - http://kb.vmware.com/kb/1003066
Permission problem if host had been in lockdown mode - http://kb.vmware.com/kb/1003117
Virtual Machines might lose Network Connectivity when moved to a different Port Group - http://kb.vmware.com/kb/1003061
Powering on Virtual Machines with multiple PCI Devices might fail - http://kb.vmware.com/kb/1003048
Incorrect Device Paths for LUNs displayed in Storage Summary - http://kb.vmware.com/kb/1003064
VirtualCenter Consolidation service Usernames and Passwords must use only ASCII characters - http://kb.vmware.com/kb/1003096
VI Client installation fails on Windows Vista Business Edition with enabled Anti-virus software - http://kb.vmware.com/kb/1003079
VirtualCenter Server might crash in a cluster with Manual or Partially Automatic DRS and Automatic DPM - http://kb.vmware.com/kb/1003027
Deleting Snapshots of VM's with Heavy disk I/O might cause host to be Disconnected from VirtualCenter - http://kb.vmware.com/kb/1003024
Paravirtualization option is not Disabled for Unsupported Operating Systems - http://kb.vmware.com/kb/1003008
VirtualCenter Server installation fails or results in an error if your system does not have MDAC 2.8 SP1 or later installed - http://kb.vmware.com/kb/1003160
Installing Update Manager with Unified Installer might faile if Disparate Databases are used - http://kb.vmware.com/kb/1003277
Some Alarms may disappear after upgrading to VirtualCenter 2.5 - http://kb.vmware.com/selfservicekb/1003072
VirtualCenter Database upgrade fails with an exception when a Password that contains Apostrophes or Double Quotes is used - http://kb.vmware.com/kb/1003049
The VirtualCenter Server might Crash when using an older ODBC driver with Oracle 9i - http://kb.vmware.com/kb/1003049
Guest Operating System Standby feature removed in VirtualCenter Server 2.5 - http://kb.vmware.com/kb/1002414
Cannot specify Destination Folder on Non-default Datacenter when Cloning Virtual Machines - http://kb.vmware.com/kb/1003075
VirtualCenter Service will not start on a machine with non-Ascii characters in it's Machine Name - http://kb.vmware.com/kb/1003075
vMotion from ESX Server 3.5 hosts to ESX Server 3.0.x hosts causes the console sessions of the migrated VM's to become blank - http://kb.vmware.com/kb/1003038
Automatic VMware Tools upgrade does not upgrade to the latest version on VM's with Insufficient space in the Root parition - http://kb.vmware.com/kb/1003051

Forum Threads:

3.5 Install Notes: http://communities.vmware.com/message/820473
VC 2.5 SQL Server 2000 permission configuration needs - http://communities.vmware.com/message/820079
VC 2.5 Upgrade - Wiped my Database - http://communities.vmware.com/message/820174
New Features - What Have You Noticed? - http://communities.vmware.com/thread/117565?tstart=50
VMware 3.5 Disappointing News - http://communities.vmware.com/thread/116816?tstart=100
Upgrade of 3.0.2 or Fresh Install? - http://communities.vmware.com/thread/116907?tstart=100
VI Client 2.5 only supports 32-bit OS - http://communities.vmware.com/thread/116881?tstart=150
VC 2.5 Database Upgrade - Space required by Upgrade Wizard - http://communities.vmware.com/thread/117001?tstart=150
Update Manager - Changing the Default Location of the Patch Repository - http://communities.vmware.com/thread/117426?tstart=150
ESX 3.5 Time Configuration Error "Failed to Change Host Configuration" - http://communities.vmware.com/thread/117349?tstart=200
VirtualCenter 2.5 Components won't install - http://communities.vmware.com/thread/116964?tstart=250


Other:
Technote: Round-Robin Load Balancing - http://www.vmware.com/pdf/vi3_35_25_roundrobin.pdf
Technote: Enabling Netflow on Virtual Switches - http://www.vmware.com/pdf/vi3_35_25_netflow.pdf
Technote: Configuring and Troubleshooting N-Port ID Virtualization - http://www.vmware.com/pdf/vi3_35_25_npiv_config.pdf
Technote: Virtual Machine Failure Monitoring - http://www.vmware.com/pdf/vi3_35_25_vmha.pdf
ESX 3.5 Installation Video (You Tube) - http://ca.youtube.com/watch?v=qobhariBEec


Blog & News Articles:
Review: VMware Infrastructure 3.5 builds on the base - http://www.computerworld.com/action/article.do?command=viewArticleBasic&articleId=9053158


Relevant KB Articles:

VC 2.5:

For SQL Server 2000, Do Not Grant or Revoke the System Administrators Role to Satisfy the Database Permission Requirements When Upgrading to VirtualCenter 2.5 - http://kb.vmware.com/kb/1003346

martes, 6 de mayo de 2008

Deduplicacion de NetApp con LUNs

Sigo con la saga de posts sobre NetApp. Esta vez algo que no sé si es muy usado pero que nos puede venir muy bien:
Deduplicacion de NetApp con almacenamiento tipo bloque (LUNs presentadas al host por FC o iSCSI).
Por lo general todo lo referente de la deduplicacion de NFS es aplicable a la deduplicacion de LUNs:
  • Necesitas la licencia de NearStore y dedupliacaion(A-SIS)
  • Se sigue activando el proceso de deduplicacion con el comando "sis on" para el FlexVol que contiene las LUNs
  • Las limitacions del tamaño del FlexVol siguen siedo las mismas.
  • Con el comando "sis status" vemos el estado del porceso y con "sis config" vemos el calendario de la deduplicacion.
¿Qué es lo diferente? Lo diferente es que las LUNs están implementadas encima del sistema de ficheros WAFL. Dicho sistema de ficheros ve las LUNs como un sólo fichero y dicho fichero es tratado como "space reserved", lo que significa que durante la creacion de la LUN se reserva el maximo tamaño de dicha LUN. (Simplificando) Si creas una LUN de 50GB, se crea un fichero de 50GB.

Debido a que las LUNs son creadas de este modo, el espacio es reservado en su creacion y el dichero que representa la LUN no decrecerá jamás su tamaño y nunca refeljará los ahorros de la deduplicacion (no cambiará su tamaño). La deduplicacion no nos servirá para nada. Sí que funciona en dicha LUN, pero no nos sirve de nada.

¿Cómo resolverlo?
Es facil, simplemente cuando se crea la LUN desmarcaremos la casilla "Space Reserved" y dejaremos que Data ONTAP reserve bajo demanda el espacio que require la LUN en dicho FlexVol.
El fichero que representa la LUN puede crecer y decrecer en tamaño sin problemas. Por ello la deduplicación, además de funcionar como en el caso anterior, sí será efectiva y nos permitirá ahorrar espacio. Este espcacio nos permitirá provisionar otras LUNs en el mismo FlexVol teniendo un ojo encima...

En resumen:
  • Instalar y configurar la deduplicacion para NFS y LUNs es lo mismo en esencia.
  • Desmarcar la casilla "Space Reserved" cuando se crea la LUN que va a ser deduplicada.
  • A diferencia de NFS , con LUNs el espacio ahorrado NO se verá desde el host (No hay comando SCSI que pueda pasar ésta informacion del array al filesystem del host). El comportamiento diferente del NFS se debe a que no hay otra capa de indireccion entre el array y el host, por eso, en NFS las caracteristicas del FS del array son vistas directamente por el host, en consecuencia en NFS, los bloques que se liberan en el dedupe estan disponibles inmediatamente para el host (ESX o servidor normal). Además, el host no podrá almacenar más datos que el tamaño máximo de la LUN (como es normal).
  • Es importante el orden: (Si no, se te pueden llenar los snaps porque el proceso de dedupe cambia mucho los datos...)
    • Desactivar los snapshosts,
    • Deduplicar,
    • Activar snapshost.
  • Con el ahorro que se obtiene de la deduplicacion se puede provisionar otras LUNs en ese mismo FlexVol a otros servidores o usarlo para más snapshots....

lunes, 5 de mayo de 2008

VI3: ¿Dónde estan los logs?

Muchas veces(cuando tenemos problemas sobretodo) no sabemos dónde mirar en nuestro entorno Virtual Infrastructure 3 para enterarnos de lo que está pasando. Otras veces es el propio soporte de VMware el que nos pide los logs para saber que es lo que ocurre.

He aquí una lista de los logs más importantes y su ubicacion:

Ubicacion: Host ESX

Vmkernel - /var/log/vmkernel – guarda actividades relacionadas con las VMs y el host ESX.
Vmkernel Warnings - /var/log/vmkwarning – actividades relacionadas con VMs..
Vmkernel Summary - /var/log/vmksummary - Se usa para determinar las estadisticas de uptime y disponibilidad para el ost ESX. El log legible por el humano está en /var/log/vmksummary.txt
ESX Server host agent - /var/log/vmware/hostd.log - Contiene informacion del agente que administra y configura el host ESx y las VMs. (Es un log que rota).
Service Console - /var/log/messages - Mensajes generales usados para resolver problemas de VMs en el ESX.
Web Access - /var/log/vmware/webAccess - Sin comentarios..
Authentication log - /var/log/secure - Registra las conexiones que requieren autenticacion como los demonios de vmware y acciones que inicia el demonio xinetd.
VirtualCenter agent - /var/log/vmware/vpx - Informacion del agente que se comunica con el VirtualCenter.
Virtual Machines - En el mismo directorio que estael fichero .vmx hay un fichero llamado vmware.log que contiene informacion util cuando unaVM se cae o acaba inesperadamente.
HA - /opt/LGTOaam512/log/* y /opt/LGTOaam512/vmsupport/* .
Principalmente aam_config_util_listprimaries.log (hosts primarios) y aam_config_util_listnodes.log


Ubicacion: Virtual Center

Logs de Instalacion del Virtual Center

Los logs de instalacion están en el directorio %TEMP% del usuario que instaló el software

  • vmlic.log resultados de test del serviodr de licencias durante la instalacion
  • redist.log resultados de insalacion MDAC/MCAD QFE
  • vmmsde.log log de instalacion de MSDE
  • vmls.log log de instalacion del License server
  • vmosql.log Creacion de la Base de Datos/transaciones de VCDB
  • vminst.log Log de la instalacion y subtareas del VC server
  • VCDatabaseUpgrade.log Detalles del upgrade de VC 1.x DB
  • vmmsi.log Log de instalacion del VI client
  • vpxd-0.log pequeño log de la primera vez que se arranco el servicio

Logs del Virtual Center
Los logs del Virtual Center están en el directorio%TEMP%\vpx del usuario que esta corriendo el demonio vpxd

vpxd-#.log (# es del 0-9)
vpxd-index contiene el # del actual acrhivo de log en uso. Los logs rotan cada vez que el vpxd es iniciado y/o cuando llegana 5MB.

Logs del VI Client

Los logs del VIC estan en %TEMP%\vpx del usuario que esta corriendo el cliente
viclient-#.log (# es del 0-9). Los logs rotan cada vez que el cliente es iniciado.

Logs Varios

  • Core dump : %USERPROFILE%’Application Data’VMware
  • Log del debug del License Server %ALLUSERSPROFILE%’Application Data’VMware’VMware License
  • Server’lmgrd.log(se resetea cada vez que el servicio se inicia; no rotacion)
  • %ALLUSERSPROFILE%’Application Data’Macrovision’FLEXlm’
  • Web Access (Tomcat) Logs C:’Program Files’VMware’VMware VirtualCenter 2.0’tomcat’logs

miércoles, 30 de abril de 2008

Networking Performance en ESX 3.02 y 3.5


Si teneis alguna duda sobre el rendimeinto de red del ESX podeis ver este documento. La ultima revision es de finales de Febrero.
Aunque es relativo, como todo lo que es comercial, lo destacable es la buena comunicacion en cuanto a latencia y throughput que se establece entre dos VMs que estan en el mismo vswitch (2,5Gbps) contra la que se establece cuando debe pasar por el cable (900Mbps), ademas del uso de TSO.

Estas son sus conclusiones:
"The results in this study clearly show that the virtualized applications running in virtual machines on ESX
Server 3.5.0 can achieve the same network throughput and latencies that are achieved by applications running
natively. In fact, virtual machines that are connected to the same virtual switch can communicate at rates that
are up to two-and-a-half times the rates supported by physical 1Gbps Ethernet networks."

Otra cosa seria una comparación en rendimiento de acceso a disco...... ;-)

lunes, 21 de abril de 2008

¿Que hace cada proceso de un ESX?

Siempre me he preguntado qué hace cada proceso en un servidor ESX de VMware. El saber a tan bajo nivel que es cada cosa:
- nos da cierta seguridad porque al fin y al cabo es un *nix (windows la verdad es que me manejo a nivel de servidor pero no tan agusto como en un linux...),
- nos puede venir bien para tener el concepto de qué hace funcionar esas maquinas virtuales y qué representan para el Red Hat 7.1 que en realidad lleva el servidor ESX.
- nos sirve también para cuando el VIC falla(lo hace de vez en cuando) y no nos da la informacion necesaria de lo que ha pasado o esta pasando(esto ultimo lo hace constantemente... aun asi es muy buen producto).


Al grano, ¿qué procesos podemos ver corriendo cuando realizamos un 'ps' en nuestros ESX?
(Bueno para verlo bien deberemos ejecutar "ps axfwwww", las w son de wide wide wide, porque si no los procesos de nombre largo apareceran cortados en nuestra consola).

[vmnixhbd]
Este proceso del kernel modificado de VMware(vmnix) controla las HBAs de nuestro sistema.
[vmkdevd]
Este proceso controla los dispositivos(devices o adapters) que pueden ser reconocidos por el vmkernel.

Estos dos ultimos procesos son consultados por el comando esxcfg-vmhbadevs que nos devuelve el mapping de nombres vmhbaX:X:X a nombres /dev/ de linux.

/usr/sbin/vmklogger
logger -t VMware[init] -p daemon.err
Estos procesos se encargan del log del vmk(vm kernel o vmnix).

/bin/sh /usr/bin/vmware-watchdog
Este proceso es un supervisor (como su nombre indica perro guardian), es decir, es un proceso(un script de shell) que tiene el cometido de lanzar otro proceso y supervisar si se cae o no para levantarlo.
Es algo que me suena, jeje, reconozco que quiza en algunos servidores tenga tareas cronificadas para este tipo de labores... como dice un amigo: "Ese script me ha salvado de venir muchos domingos...".
Realmente lo que hace el proceso es lanzar el proceso especificado y volver a levantarlo si se cae. Dejará de hacer esto(en consecuencia dejara caido el servicio al cual supervisa) si se producen un numero de caidas sucesivas del proceso("quick failures" definido como "caidas entre las que hay menos tiempo que min_uptime") o un numero absoluto de caidas totales.

Por ejemplo: /bin/sh /usr/bin/vmware-watchdog -s vpxa -u 30 -q 5 /usr/sbin/vpxa
Sintaxis: /usr/bin/vmware-watchdog -s tag [-u min_uptime] [-q max_quick_failures] [-t max_total_failures] command
-s
Nombre/Tag del servicio que debe correr (en este caso vpxa)
-u Maximo tiempo en segundos entre caidas para considerarlas "quick failures". O minimo tiempo que debe estar levantado para que
-q
Numero maximo de "quick failures"
-t Numero total de "failures"
command: Comando a ejecutar (por ejemplo /usr/sbin/vpxa).

/bin/sh /usr/bin/vmware-watchdog -s webAccess -u 30 -q 5 /usr/lib/vmware/webAccess/java/jre1.5.0_07/bin/webAccess -server -Xincgc -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djava.endorsed.dirs=/usr/lib/vmware/webAccess/tomcat/apache-tomcat-5.5.17/common/endorsed -classpath /usr/lib/vmware/webAccess/tomcat/apache-tomcat-5.5.17/bin/bootstrap.jar:/usr/lib/vmware/webAccess/tomcat/apache-tomcat-5.5.17/bin/commons-logging-api.jar -Dcatalina.base=/usr/lib/vmware/webAccess/tomcat/apache-tomcat-5.5.17 -Dcatalina.home=/usr/lib/vmware/webAccess/tomcat/apache-tomcat-5.5.17 -Djava.io.tmpdir=/usr/lib/vmware/webAccess/tomcat/apache-tomcat-5.5.17/temp org.apache.catalina.startup.Bootstrap start
\_ /usr/lib/vmware/webAccess/java/jre1.5.0_07/bin/webAccess -server -Xincgc -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djava.endorsed.dirs=/usr/lib/vmware/webAccess/tomcat/apache-tomcat-5.5.17/common/endorsed -classpath /usr/lib/vmware/webAccess/tomcat/apache-tomcat-5.5.17/bin/bootstrap.jar:/usr/lib/vmware/webAccess/tomcat/apache-tomcat-5.5.17/bin/commons-logging-api.jar -Dcatalina.base=/usr/lib/vmware/webAccess/tomcat/apache-tomcat-5.5.17 -Dcatalina.home=/usr/lib/vmware/webAccess/tomcat/apache-tomcat-5.5.17 -Djava.io.tmpdir=/usr/lib/vmware/webAccess/tomcat/apache-tomcat-5.5.17/temp org.apache.catalina.startup.Bootstrap start
Como vemos el proceso vmware-watchdog lanza y supervisa el proceso webAccess de forma que si en los ultimos 30 segundos se cae mas de 5 veces, simplemente dejará de levantarlo.
Pero, ¿qué es el proceso "/usr/lib/vmware/webAccess/java/jre1.5.0_07/bin/webAccess": Este proceso controla el servidor web del ESX(sí, ese que no tiene todas las funcionalidades y por eso no se usa mucho...).
Su reinicio se realiza de esta manera: service vmware-webAccess restart.
Su log esta en: /var/log/vmware/webAccess
Puertos en uso: 8080, 8009, 8005,

/bin/sh /usr/bin/vmware-watchdog -s vpxa -u 30 -q 5 /usr/sbin/vpxa
\_ /usr/lib/vmware/vpx/vpxa
El agente del Virtual Center(el encargado de cominicarse conel VC) es uno de los que mas CPU consume normalmente. Como en el caso anterior watchdog vigila que no se caiga muchas veces. Entres sus funciones estan las de: comunicarse con las VMs, comunicarse con el Virtual Center y mantener la informacion del estado de los hosts comunicandose con VMAP y poder asi decidir que hacer en caso de caida de otro hosts(HA).
Su reinicio se realiza de esta manera: service vmware-vpxa restart
Su log esta en: /var/log/vmware/vpx
Puertos en uso: 902, 903 (el xinetd usa el 902 de la interfaz local)

/bin/sh /usr/bin/vmware-watchdog -s hostd -u 60 -q 5 -c /usr/sbin/hostd-support /usr/sbin/vmware-hostd -u -a
\_ /usr/lib/vmware/hostd/vmware-hostd /etc/vmware/hostd/config.xml -u -a
Este proceso es, por lo general, el que más CPU consume del servidor. (Suele ser tres veces más que el segundo que mas consume, el vpxa). Este proceso se ocupa, entreo otras cosas, de que el Virtual Infraestructure Client se entere de los cambios que se producen en el ESX. Los cambios realizados por linea de comandos en el ESX no seran visibles al Virtual Center sin reiniciar este demonio y, por consiguiente, que vuelve a leer el fichero de configuracion del ESX(/etc/vmware/esx.conf)
Su reinicio se realiza de esta manera: service mgmt-vmware restart
Su log esta en: /var/log/vmware/hostd.log

/bin/sh /usr/bin/vmware-watchdog -s cimserver -u 60 -q 5 /var/pegasus/bin/cimserver daemon=false
\_ /var/pegasus/bin/cimserver daemon=false
\_ /var/pegasus/bin/cimservera
Estos procesos son ajenos a VMware(de hecho Xen también los usa: http://xen.org/files/xs0106_xen_managmnt_interf.pdf ).
Llevan el CIM(Common Information Model), un standard industrial desarrollado por el Distributed Management Task Force (DMTF), para describir datos acerca de aplicaciones y dispositivos de forma que los administradores y los programas de gestion de software puedan controlar de la misma manera las aplicaciones y dispositivos en diferentes plataformas, asegurando la interoperativilidad. Usa tecnicas de Programacion Orientada a Objetos para proveer de una definicion consistente y una estructura de los datos. Por ejemplo, si una empresa compra cuatro servidores de diferentes vendedores, con CIM el administrador puede ver la misma info de cada uno de ellos: fabricante, SN, numero de dispositivo, capacidad de almacenamiento, relacion con aplicaciones... (Otros protocolos mas simples son SNMP y DMI)
Mas info: http://www.openpegasus.org/

/usr/lib/vmware/bin/vmkload_app --setsid --sched.group=host/system/vmkauthd --sched.mem.min=4 --sched.mem.max=12 /usr/lib/vmware/bin/vmware-vmkauthd
Este proceso es el cargador de aplicaciones del espacio de usuario. La aplicacion es ejecutada con los parametros indicados y administrada por el VMkernel. El proceso vmkload_app espera a que la aplicacion termine y sustituye (hace de repetidor/proxy) la entrada y la salida standard de la aplicacion. Si le enviamos una señal nº7(SIGNAL 7) a vmkload_app la señal sera reenviada a la aplicacion que corre debajo.
Solo las aplicaciones compiladas para el VMkernel pueden ser ejecutadas por este proceso, además, sólo son permitidos los binarios listados explicitamente en /etc/vmware/UserWorldBinaries.txt.
Con la opcion -k se puede mandar una señal a la aplicacion que esta corriendo.
Con la opcion -b se puede forzar a la aplicacion que esta ejecutandose a pararse y esperar que se enganche un debugger.

En concreto el proceso anterior esta lanzando la aplicacion /usr/lib/vmware/bin/vmware-vmkauthd desde el espacio de usuario contra el VMkernel. Las opciones dicen que se ejecute en el schedules group host/system/vmkauthd, con un maximo de memoria de 12 y un minimo de 4 y que se cree una nueva sesion de terminal para el proceso vmkload_app.
/usr/lib/vmware/bin/vmware-vmkauthd se encarga de la autorizacion el vmkernel(en concreto de que podamos usar la console de las VMs, como su fuera un redirector del KVM).
Su fichero de configuracion es
/etc/vmware/config
Su reinicio se realiza de esta manera: service vmware-vmkauthd restart
Este proceso parece que no usa ningun puerto directamente pero el 902 es el puerto well-know de vmkauthd y es usado por vpxa.

/usr/lib/vmware/bin/vmkload_app /usr/lib/vmware/bin/vmware-vmx -ssched.group=host/user -@ pipe=/tmp/vmhsdaemon-0/vmx6c1dbb9c3b513d69;vm=6c1dbb9c3b513d69 /vmfs/volumes/4640826e-e0c6126a-e819-001a64088132/Virtual_Machine_RHELAS4U2/Virtual_Machine_RHELAS4U2.vmx
Estos procesos son la joya de la corona. Realmente son los procesos que representan las VMs, es decir, hay tantos procesos de este tipo como maquinas virtuales encendidas. Para el ESX cada VM es un unico proceso lanzado desde el espacio de usuario a través de vmkload_app. Como se ve, hace referencia al archivo de conf de la maquina virtual(vmx).

La forma de apagar forzosamente una maquina virtual (cuando no queda más remedio) es haciendo un kill -9 a ese PID, de esta forma el proceso muere y la maquina virtual será reportada en el VIC como apagada. Si alguien quiere tenfo desarrollado un rpc que se instala en el ESX y permite "apagar" una maquina virtual de forma instantanea. Lo use para un cluster GFS de maquinas virtuales y es el equivalente de un switch de corriente que le quita la corriente a un servidor para realizar el fencing.


Adjunto imagen con la configuracion de puertos de VI3. Espero que sirva para aclarar el tema de los puertos:


Como relfexion: Realmente en todos los ESX que he mirado, los procesos que más CPU gastan son vmware-hostd y vpxa que no se ocupan realmente de ejecutar las VMs sino que se ocupan de conectar la infraestructura virtual. Sin embargo los procesos de las maquinas (los procesos vmware-vmx) no consumen ni de lejos la misma CPU. ¿No deberia ser al revés si lo que estamos compartiendo con nuestros servidores virtuales es la CPU? Quiza sea un tema de cómo representa la CPU el Red Hat que lleva debajo..., quiza tengo algo mal en mis ESX...