GuilleSQL :: Microsoft SQL Server, SSIS, y más !!

Aumentar tamaño de un disco VHD de Virtual Server 2005 R2 SP1: vmToolkit


Es cada día más habitual trabajar con entornos de prueba virtualizados, aprovechando así al máximo los recursos hardware de que disponemos, y pudiendo simular configuraciones como la de Microsoft Cluster (MSCS), Balanceo de Carga (NLB), etc., o de productos como Microsoft SQL Server o Microsoft Exchange. Un problema típico es quedarse sin espacio libre en el disco C: o en cualquier otro disco de alguna de nuestras máquinas virtuales. En esta situación ¿qué podemos hacer? ¿Cómo podemos aumentar de tamaño un disco VHD? Sin embargo, también se produce el problema inverso: Si tenemos un disco VHD demasiado grande ¿Cómo podemos reducir un disco VHD?

Aumentar tamaño de un disco VHD de Virtual Server 2005 R2 SP1: vmToolkit

Microsoft Virtual Server 2005 R2 SP1 es la última versión, a la fecha, de software de virtualización de Microsoft (sin tomar en consideración Microsoft Virtual PC 2007 ni System Center Virtual Machine Manager). Con esta edición, todavía no podemos aumentar el tamaño de un disco virtual VHD, un problema habitual cuando trabajamos mucho con máquinas virtuales (pruebas, demostraciones, entornos de laboratorio, etc.).

En el presente artículo, vamos a mostrar un método que hemos probado para aumentar el tamaño de un disco VHD utilizado para Boot/System en una máquina virtual que ejecuta Windows Server 2003 Enterprise R2 SP2, sobre un equipo HOST que ejecuta Windows XP Professional SP2. Este disco VHD estaba montado en un bus SCSI de la máquina virtual de Virtual Server, y se trataba de un disco VHD de tamaño fijo (fixed disk) de 10GB que se quería aumentar hasta los 12GB. La máquina tenía también un disco VHD adicional para datos, también de tipo SCSI y de tamaño fijo.

Para aumentar el tamaño del disco VHD, hemos utilizado una herramienta de descarga gratuita. Esta herramienta se denomina VHD Resizer, y está disponible desde la Web vmtoolkit.com. Hemos probado esta utilidad sobre máquinas que utilizamos para pruebas. En caso de necesitar utilizarla en entornos de producción, es recomendable consultar con Microsoft. El procedimiento que hemos seguido es el siguiente:

  • Parar la máquina virtual.
  • Ejecutar la herramienta VHD Resizer. Deberemos indicar el disco VHD que queremos aumentar de tamaño, y el nombre de un nuevo disco de destino (indicando el nuevo tamaño deseado y si lo deseamos de tamaño fijo o dinámico). Esto es una buena noticia, ya que no sobrescribe el fichero original, sino que por el contrario, se crea un nuevo disco VHD y seguidamente realiza una copia sector a sector.

    En nuestro ejemplo, hemos querido aumentar un disco de 10Gb a un nuevo disco de 12GB. Debemos tener en cuenta que el nuevo disco tendrá una partición de 10GB y 2GB de espacio libre, por lo cual, deberemos expandir el tamaño de la partición/volumen C: para aprovechar todo el espacio disponible. Esta operación se puede realizar de múltiples formas. Nosotros lo vamos a hacer con la utilidad DISKPART que viene incluida en el sistema operativo, aunque existen distintas utilidades de terceros que nos permiten realizar esta operación. Seguimos.
  • Finalizado el aumento de tamaño del disco VHD, configuraremos este nuevo disco como un disco adicional de nuestra máquina virtual. Es decir, si estamos aumentando de tamaño el disco C: de una máquina virtual con un disco C: y otro disco D:, configuraremos el nuevo disco como si fuera el disco E:. Realmente, he mentido ligeramente, puesto que al configurar el nuevo disco como tercer disco de nuestra máquina virtual, al iniciar la máquina virtual, deberemos abrir la herramienta Administrador de Discos (botón derecho sobre Mi PC, clic en Administrar, y luego seleccionar el Administrador de Discos), dónde podremos ver que el disco no tiene asignada letra alguna (ni la letra E: ni cualquier otra). Entonces, clic sobre la partición del nuevo disco, y en el menú contextual, seleccionaremos la opción para cambiar asignar la letra de unidad. Le asignaremos una letra cualquiera, y tomaremos como ejemplo la letra E:.
  • Abrir una ventana de consola, y ejecutar la herramienta DISKPART (diskpart.exe). Ejecutaremos el comando SELECT VOLUME para poner el foco sobre el volumen que deseamos (ej: SELECT VOLUME E). A continuación, ejecutaremos el comando EXTEND. Con esto, habremos conseguido aprovechar todo el tamaño disponible en nuestra única partición de nuestro disco recién ampliado.
  • Parar la máquina virtual. Desconfigurar (Remove) el nuevo disco aumentado. Ahora, podremos renombrar o eliminar nuestro disco original, y renombrar el nuevo disco aumentado para que se llame igual que el disco original (y en la nueva ruta).
  • Arrancar la máquina virtual. Ya disponemos de nuestra máquina virtual con un disco virtual VHD de mayor tamaño.

Otro método alternativo para ampliar el tamaño de un disco VHD es crear un nuevo disco y clonar sobre éste el disco antiguo con algún copión de discos y particiones, como se muestra a continuación.

Reducir el tamaño de un disco VHD

Del mismo modo, a la inversa también nos podemos encontrar con el mismo problema. Si tenemos un disco virtual VHD de tamaño fijo sobre-dimensionado, es decir, con un tamaño mucho mayor del que realmente necesitamos, será de mucho interés reducir dicho disco. En este caso ¿Qué pasos deberemos seguir para reducir el tamaño de un disco VHD?

Actualmente, no existe ninguna solución de Microsoft para realizar esta tarea. Sin embargo, podemos seguir los siguientes pasos para conseguir nuestro objetivo:

  • Crear un nuevo disco virtual VHD, con el tamaño deseado.
  • Parar nuestra máquina virtual.
  • Montar el disco virtual recién creado en la máquina virtual.
  • Arrancar nuestra máquina virtual, con algún CDROM autoarrancable (Live-CD) con software para la clonación de discos y particiones (ej: Norton Ghost)
  • Clonar la partición deseada, del disco original al nuevo disco VHD.
  • Configurar nuestra máquina virtual con el nuevo disco VHD, y sin el antiguo disco VHD.
  • Arrancar nuestra máquina virtual, y comprobar que todo funciona correctamente, y que mantenemos toda nuestra información.

Por si a alguien le da tranquilidad, he seguido estos pasos en algunas de las máquinas de mi laboratorio, y he conseguido reducir su tamaño sin ningún problema (ojo, que hablo de máquinas que utilizo con cierta frecuencia).

Del mismo modo, también he probado a utilizar robocopy.exe (del Kit de Recursos de Windows Server 2003). Sin embargo el resultado no ha sido satisfactorio, ya que robocopy copia todos los archivos y directorios siguiendo el orden alfabético, y este funcionamiento puede afectar a los nombres cortos de archivos y directorios, que cuando se solapan se numeran ordenadamente pero en vez de por orden alfabético, por fecha de creación. En consecuencia, Robocopy.exe puede no servir para clonar el contenido de un disco VHD tanto por los nombres cortos de sus ficheros y directorios, como por la ausencia de permisos a los mismos (que también puede causar error).


Miembros de
Miembros de GITCA (Global IT Community Association)

Menu de Usuario
  Iniciar Sesión
  Registrarse
  Restablecer Contraseña
  Ventajas de Registrarse

Acerca de
  Contigo desde Oct 2007
  771 usuarios registrados
  86146 pageloads/mes
  Ranking Alexa 498160

Social Networks
Sigue a Portal GuilleSQL en Linkedin !!
Sigue a Portal GuilleSQL en Twitter !!



Archivo

Marzo de 2019 (1)
Octubre de 2018 (1)
Julio de 2018 (1)
Junio de 2018 (4)
Mayo de 2018 (5)
Abril de 2018 (3)
Marzo de 2018 (2)
Febrero de 2018 (7)
Enero de 2018 (1)
Diciembre de 2017 (15)
Noviembre de 2017 (7)
Junio de 2017 (3)
Mayo de 2017 (1)
Marzo de 2017 (3)
Enero de 2017 (4)
Junio de 2016 (1)
Mayo de 2016 (2)
Abril de 2016 (2)
Septiembre de 2015 (2)
Agosto de 2015 (2)
Junio de 2015 (10)
Mayo de 2015 (4)
Abril de 2015 (8)
Marzo de 2015 (11)
Octubre de 2014 (3)
Septiembre de 2014 (7)
Agosto de 2014 (5)
Julio de 2014 (2)
Mayo de 2014 (4)
Abril de 2014 (4)
Marzo de 2014 (4)
Febrero de 2014 (1)
Enero de 2014 (5)
Diciembre de 2013 (8)
Noviembre de 2013 (2)
Octubre de 2013 (7)
Septiembre de 2013 (6)
Agosto de 2013 (1)
Julio de 2013 (6)
Junio de 2013 (11)
Mayo de 2013 (7)
Abril de 2013 (6)
Febrero de 2013 (5)
Enero de 2013 (7)
Diciembre de 2012 (12)
Noviembre de 2012 (13)
Octubre de 2012 (5)
Septiembre de 2012 (3)
Agosto de 2012 (6)
Julio de 2012 (4)
Junio de 2012 (1)
Mayo de 2012 (2)
Abril de 2012 (7)
Marzo de 2012 (16)
Febrero de 2012 (9)
Enero de 2012 (5)
Diciembre de 2011 (10)
Noviembre de 2011 (10)
Octubre de 2011 (4)
Septiembre de 2011 (5)
Agosto de 2011 (2)
Julio de 2011 (2)
Junio de 2011 (4)
Mayo de 2011 (2)
Abril de 2011 (6)
Marzo de 2011 (4)
Febrero de 2011 (10)
Enero de 2011 (5)
Diciembre de 2010 (6)
Noviembre de 2010 (4)
Octubre de 2010 (8)
Septiembre de 2010 (4)
Agosto de 2010 (1)
Julio de 2010 (3)
Mayo de 2010 (5)
Abril de 2010 (6)
Marzo de 2010 (8)
Febrero de 2010 (3)
Enero de 2010 (1)
Diciembre de 2009 (9)
Noviembre de 2009 (14)
Octubre de 2009 (2)
Septiembre de 2009 (8)
Agosto de 2009 (2)
Julio de 2009 (10)
Junio de 2009 (9)
Mayo de 2009 (10)
Abril de 2009 (9)
Marzo de 2009 (3)
Febrero de 2009 (2)
Enero de 2009 (3)
Noviembre de 2008 (2)
Octubre de 2008 (2)
Septiembre de 2008 (2)
Agosto de 2008 (5)
Julio de 2008 (5)
Junio de 2008 (1)
Mayo de 2008 (3)
Abril de 2008 (2)
Marzo de 2008 (2)
Febrero de 2008 (2)
Enero de 2008 (5)
Noviembre de 2007 (2)
Octubre de 2007 (2)






Copyright © 2007 GuilleSQL, todos los derechos reservados.