XenServer Database Tool - Herramienta de Analisis
En esta ocasión mostramos como utilizar y manejar la herramienta de Citrix XenServer DataBase Tool, una herramienta de línea de comandos, pensado para analizar XenServer a partir de la versión 4.x.
Esta utilidad de línea de comandos se ha desarrollado para analizar una versión 4.x (o superior) de XenServer a través del archivo de base de datos 5.x, objetos de lista de clase, sus datos, y su conexión, o los correspondientes objetos de clases dentro de las relaciones de clase se describe en el SDK de XenServer. Esta herramienta es utilizada para ayudar en temas de depuración, así como la manipulación de objetos de la clase.
Debido a que esta es una utilidad de línea de comandos, la ejecución está destinada a ser ejecutada en linea de comando y toda su salida es textual y es enviada a la salida estándard. La utilidad tiene dos ejecutables. Una para Windows y otra para Linux.
Descarga de la Herramienta:
Podeis descargar la herramienta indicada, del siguiente icono:
Utilizando DBTool
Existen dos maneras de utilizar dbtool. Desde un entorno Windows o desde el propio servidor XenServer. Sea como sea, deberemos descomprimir el fichero .ZIP en el entorno adecuado. Una vez descomprimido tendremos un ejecutable para proceder a utilizar la herramienta.
En windows: dbtool.exe
En Linux: dbtool
Entorno Windows
Para poder utilizar dicha herramienta, nos es necesario disponer de acceso a la BD de XenServer, para ello, deberemos exportar el fichero .db para poder consultar el mismo desde nuestra herramienta CLI.
En Linux
Una vez extraida la herramienta dbtool en nuestro XenServer, podemos utilizar la misma para consultar en “solo lectura” la bd de XenServer. // dar permisos de ejecución sobre la misma //.
XenServer Database
La base de datos de XenServer es llamada state.db y esta situada en /var/xapi/state.db. Esta la podemos copiar, mediante scp o realizando un cp en un recurso compartido, a nuestra máquina windows para analizar posteriormente o analizar de manera online en el propio servidor de XenServer.
Obtenida la BD, el uso de la herramienta, tanto en Linux como en Windows es el mismo
La sintaxys del comando es muy sencilla. Utilizando el comando sin ningún argumento podremos ver una lista de sus opciones:
syntax: dbtool [options] database_file
options: -a dump all
-i list ISOs and CDs
-l list available objects
-o object list by object
-t list VM templates
-u uuid list by uuid
-v verbose
-ver version
Veamos algunas de las opciones disponibles.
Con la opción “-l” podemos ver una lista de los Objetos disponibles para consulta. Con los mismos, y la opción “-o Object” podemos ver detalles por objeto.
C:\dbtool>dbtool -o VM E:ts_iso\state.db
database type: XML - XS 5.x
VM count: 62
VM 0 (template)
VM 1 (template)
...
VM 14 (template)
VM 15 (template)
VM 16
name__label: ctx-dc00
uuid: dc7e9b59-fd60-1161-d04b-63d6c90630ee
host resident: ctx-host0
uuid: a424c046-c773-46e6-96ea-66e494de6c72
host affinity: ctx-host0
uuid: a424c046-c773-46e6-96ea-66e494de6c72
VM metrics uuid: 849adc0e-b01c-c61c-3a9a-8045abcb8081
VBD device hda
uuid: cf65f831-683a-6581-8e0e-ede2b85b4c57
VBD device hdd
uuid: a67ac4e7-fd1f-49bc-d3f8-1a8ee682b48f
VIF device: 0
uuid: 1462a750-11d7-93c7-f48c-8b6d55931bc9
console uuid: 5332051b-3199-ea73-b35e-2d679d85feb9
Aquí podemos ver el total de VMs contabilizadas, tanto Template como VM en funcionamiento, tras ello nos muestra al detalle las VM del pool de XenServer (en este caso lass 16 primeras son templates) para posteriormente dar mas detalle a nivel de UUID de las VM de nuestro servidor. En este caso podemos ver el DC.
Podemos ver la información UUID por VIF, con la opción “-o VIF”
C:\dbtool>dbtool -o VIF E:ts_iso\state.db
database type: XML - XS 5.x
VIF count: 14
VIF 0
uuid: 1f279c15-6eba-d41b-a12a-4d3490f7ec14
VM: Join Domain Now
uuid: ec506310-da11-05f1-3a4b-3689977ebbc8
network: Pool-wide network associated with eth0
uuid: 958b6f96-2018-9d7e-9a3b-53c321a85605
bridge: xenbr0
PIF device: eth0
uuid: 8d70628b-a744-5cda-cfaa-f2eade6ec444
VIF 1
uuid: a9d7025d-9efb-b35f-e16a-affb45defa85
VM: ctx-liscense
uuid: b0cc3821-a255-9b38-6c2d-aecd1ec227ef
network: Pool-wide network associated with eth0
uuid: 958b6f96-2018-9d7e-9a3b-53c321a85605
bridge: xenbr0
PIF device: eth0
uuid: 8d70628b-a744-5cda-cfaa-f2eade6ec444
Consultar por UUID:
C:\dbtool>dbtool -u 6f963fca-d28f-79b0-93c2-7382ace38928 E:\ts_iso\state.db
database type: XML - XS 5.x
VM
name__label: XenApp running with TS 120days
uuid: 6f963fca-d28f-79b0-93c2-7382ace38928
host affinity: ctx-host0
uuid: a424c046-c773-46e6-96ea-66e494de6c72
VM snapshot of: ctx-xapp01
uuid: 3ddca9ae-a9a5-ea80-ccff-2ee1f4cb4383
VM metrics uuid: a68b66db-4739-cb20-1fa6-e8aaba681881
VBD device hda
uuid: 2ab13a5d-6076-a7dd-92b0-c3466ffd6530
VBD device hdd
uuid: cef9c3fe-f959-bafe-36fb-f633d9d8babf
VIF device: 0
uuid: f961e720-a68c-5935-a287-89e47f51fec9
Con la opción -a, haremos un volcado de toda la BD sobre la salida Standard, o podemos redireccionarlo a un fichero para su posterior analisis. Para redireccionar la salida sobre un fichero, utilizaremos el operador >.
C:\dbtool>dbtool -a E:\ts_iso\state.db > E:\ts_iso\volcado.txt
El redireccionado de la salida es usable en todos los casos, y muy útil para el analisis.
dbtool con la opción “-l” nos muestra una lista de los objetos utilizables en las consultas dónde pasemos el parametro -o Object. Estos objetos són los mostrados a continuación:
available objects (not case-sensitive):
object description
--------------------------------------------------------
Bond network interface bond
PBD physical block device
PIF_metrics physical network interface metrics
PIF physical network interface
SM storage manager plugin
SR storage repository
VBD virtual block device
VBD_metrics virtual block device metrics
VDI virtual disk interface
VIF virtual network interface
VIF_metrics virtual network interface metrics
VLAN virtual local area network
VM virtual machine
VM_guest_metrics virtual machine guest metrics
VM_metrics virtual machine metrics
VTPM virtual trusted platform module
console virtual machine console
crashdump virtaul machine crashdump
event asynchronous event
host physical host
host_cpu physical CPU
host_crashdump host crashdump
host_metrics host metrics
host_patch host patch
network virtual network
pool pool of hosts
pool_patch pool patch
schema_version ???
session session
task asynchronous task
user user
message message
data_source data source
blob blob
Podemos ampliar la información de la salida mediante la opción “-V” (verbose mode). Veamos la diferencia consultando una VIF:
No utulizando la opción Verbose.
[root@ctx-host0 x]# ./dbtool -u f961e720-a68c-5935-a287-89e47f51fec9 /var/xapi/state.db
database type: XML - XS 5.x
VIF
uuid: f961e720-a68c-5935-a287-89e47f51fec9
VM: XenApp running with TS 120days
uuid: 6f963fca-d28f-79b0-93c2-7382ace38928
network: Pool-wide network associated with eth0
uuid: 958b6f96-2018-9d7e-9a3b-53c321a85605
bridge: xenbr0
PIF device: eth0
uuid: 8d70628b-a744-5cda-cfaa-f2eade6ec444
Utilizando la opción Verbose:
[root@ctx-host0 x]# ./dbtool -u f961e720-a68c-5935-a287-89e47f51fec9 -v /var/xapi/state.db
database type: XML - XS 5.x
VIF
uuid: f961e720-a68c-5935-a287-89e47f51fec9
MAC: f6:6c:72:f6:ae:42
MTU: 1500
qos__supported_algorithms: ()
other_config: ()
allowed_operations: ('attach')
qos__algorithm_params: ()
qos__algorithm_type:
device: 0
MAC_autogenerated: false
current_operations: ()
status_detail:
runtime_properties: ()
status_code: 0
currently_attached: true
reserved: false
VM: XenApp running with TS 120days
uuid: 6f963fca-d28f-79b0-93c2-7382ace38928
network: Pool-wide network associated with eth0
uuid: 958b6f96-2018-9d7e-9a3b-53c321a85605
bridge: xenbr0
PIF device: eth0
uuid: 8d70628b-a744-5cda-cfaa-f2eade6ec444
Por último con la opción “-ver” veremos la información relativa a la propia herramienta, relativa a su versión y al creador de la misma.
[root@ctx-host0 x]# ./dbtool -ver
dbtool - XenServer database tool
v0.1 (beta) 11/2008 [
Esta dirección electrónica esta protegida contra spam bots. Necesita activar JavaScript para visualizarla
]
Actualizado (Martes, 02 de Noviembre de 2010 13:31)