Gestión de discos en XenServer
Esta semana, en nuestra sección de Citrix XenServer, veremos más trucos sobre la gestión de discos que ya empezamos la semana pasada. Espero que, como siempre, te resulte interesante.
VBDs a fondo
Vimos que Citrix XenServer es capaz de abstaer el sistema físico de almacenamiento ya sea, SAN, I-SCSI, Storage Link, NFS, etc. De manera que las máquinas virtuales siempre tendrán asociados VBDs y estos hacen de “enlace” con nuestros discos virtuales VDIs.
Eso es muy importante ya que por ejemplo el core de Citrix XenServer utiliza aplicaciones como Pygrub, un grub hecho en python para arrancar los domU (máquinas virtuales) con su propio Kernel. Este, necesita parametros para saber que disco tiene que utilizar para arrancar el sistema. Este parámetro en cuestión es el parámetro “bootable”.
Es común el error: “No bootable device.” Cuando por ejemplo borramos un snapshot que tenia ese parámetro puesto automáticamente.
Sabiendo cual de los VBD->VDI contiene el Kernel de nuestra máquina virtual, simplemente tendríamos que establecer dicho VDB como “bootable” para que el domU arrancara sin problemas:
#xe vbd-param-set uuid=<UUID VBD> bootable=true
Tambien el VDB establece que tipo de disco se presenta (CDRom/Disk), modo (lectura/escritura), dispositivo de la maquina virtual (xvda/ hda) y un largo etc. Os invito a que veais los diferentes parametros en una máquina virtual vuestra con:
# xe vbd-list vm-name-label=<Nombre VM> params=all
Los VBDs tienen tambien comandos extra de gestión como:
- vbd-eject/vbd-insert: Expulsa/inserta un VDI
- vbd-plug/vbd-unplug: Conecta/desconecta un VBD
- xe vbd-create: Como parametro los siguientes flags -> bootable= device= mode= type= unpluggable= vdi-uuid= vm-uuid=
- vbd-destroy: Elimina un VBD por UUID
No olvidemos que el principal objetivo del VBD es el enlace con el VDI. Así que ya podemos saber que VDIs tiene una máquina virtual mediante:
# xe vbd-list vm-name-label=<Nombre VM> params=vdi-name-label
VDIs a fondo
Existen tres típos en función del típo de SR (Storage Repository) que tengamos montado:
- File based VHD: Utiliza thin provisioning y no soporta almacenamiento compartido, solamente es posible usar este típo en SRs de discos locales EXT o como recurso SR por NFS.
- LVM: La opcón predeterminada de Xenserver. Puede ser por SAN, I-SCSI o SAS. Básicamente los VDIs son representados como volumenes LVM.
- LUN por VDI: Mapeo directo de Luns contra una máquina virtual. Para eso es necesario usar pluguins especificos (NetApp, EqualLogic o StorageLink)
Podemos ver todos los parametros del VDI con:
#xe vdi-list uuid=<UUID-VDI> params=all
También tienen un montón de opciones, espacio virtual, utilización física, sr donde está alojado el vdi, y un largo etc.
Algunos comandos extra para las gestión de VDIs
- vdi-clone: Clona el VDI y lo almacena con un nuevo UUID, nuevo nombre, etc. En el mismo SR
- vdi-copy: Copia el VDI en otro SR
- vdi-import: Importa un VDI desde un fichero exportado con vm-export
- vdi-resize: Reasigna el espacio virtual del disco
Con esto, me despido por hoy, espero que haya podido enseñarte algo nuevo sobre la gestión de discos y como funcionan en XenServer y animarte a que lo veas con tus propias máquinas virtuales.
¿Crees que este post puede interesar a alguien? En ese caso clica en los botones de compartir de arriba o abajo. Gracias por el apoyo.