101 COSAS QUE PUEDES HACER CON CLOUD OS – Cosa 31

COSA # 31: CRECER DINAMICAMENTE LOS DISCOS DE UNA MAQUINA VIRTUAL “EN CALIENTE”

Continuando con nuestra serie de “Cosas” que puedes hacer con Cloud OS, hoy les voy a mostrar una funcionalidad bastante interesante que permite crecer –o decrecer- el tamaño de los discos VHDX de una máquina virtual.

Esta funcionalidad es propia de Windows Server 2012 R2 cuando se tiene el rol de Hyper-V instalado en una máquina física y allí se crean máquinas virtuales (VMs). La condición para poder crecer “En Caliente” una VM es que dicha VM sea Generación 2. En Windows Server 2012 R2 existe la posibilidad de tener VMs Generación 1 y Generación 2.

Las de Generación 1 son las que existen desde que se tiene Hyper-V como rol en Windows Server, incluso Windows Server 2008. En este tipo de máquinas el disco de arranque del sistema operativo debe ser del tipo IDE. En las VMs Generación 2 se puede tener Arranque Seguro (Secure Boot), Arranque por SCSI (SCSI Boot) y Arranque por red (PXE Boot) con una tarjeta de red que lo soporte. Por ahora este tipo de máquinas Generación 2 deben tener como sistema operativo Windows Server 2012 o Windows 8 de 64 bits.

Hasta el momento no hay soporte para máquinas Linux, de modo que no se pueden instalar como Generación 2 en Hyper-V de Windows Server 2012 R2. Sin embargo si agrego un disco VHDX adicional  a una VM Linux como dispositivo SCSI puedo crecerlo “En Caliente” sin apagar la VM.

Para mayor información acerca de esta y otras características de Server 2012 R2 pueden consultar http://technet.microsoft.com/es-co/library/dn282278.aspx

Ahora les voy a mostrar 2 maneras de hacerlo en una VM, la primera de ellas usando modo gráfico a través de la consola de Hyper-V y luego usando Powershell.

Cuando la máquina se crea por primera vez hay que especificar bajo que especificaciones se va a crear, es decir si va a ser Generación 1 o Generación 2 (Este proceso es irreversibe, si se escoge una u otra opción después no se puede cambiar a la otra)

 

Blog0  

Ahora sí vamos a crecer el disco. Una vez creada la VM hay que hacer clic derecho en dicha VM y se selecciona Settings

Blog1

Ahora en los Settings de la VM observen que tiene un disco y es del tipo SCSI:

Blog2

Si lo quiero crecer, selecciono el disco y hago clic en Edit:

Blog3

Blog4

Observen que recibo la advertencia de que podría experimentar pérdida de datos cuando estoy creciendo discos diferenciales y tienen discos “hijos” asociados, también cuando tengo archivos .AVHD o .AHVDX que son los generados cuando hago un snapshot de una VM y por último cuando la VM está involucrada en un proceso de replicación de alguna naturaleza, en caso tal debería eliminar el proceso de replicación.

Presionamos Next y observen que me pregunta si voy a compactar el Disco o a Expandirlo:

Blog5

En mi ejercicio lo voy a Expandir. De una vez me pregunta por el tamaño al cual quiero expandirlo, con un máximo de 64 TB. Mi disco original es de 40 GB y lo voy a llevar hasta 50 GB:

Blog7

Una vez presione Next, estamos listos para empezar la operación, así que presiono Finish y el proceso arranca:

Blog8

Es algo en realidad muy rápido, ahora veo en la máquina que ya tengo 10 GB adicionales en mi máquina:

Blog9

Como lo ven, son 10 GB adicionales a mi disco de 40 GB. La única manera de que estos nuevos 10 GB hagan parte de mi disco es haciendo que mi disco sea dinámico (Igual sucede en Linux, sólo con discos que hagan parte de un Volume Group puedo lograr este crecimiento.

la ventaja que tengo en Windows Server 2012 R2 es que puedo convertir en disco dinámico la unidad C:\ –Cosa que no se podía lograr en versiones anteriores de Windows- así que procedo a convertirlo en dinámico:

Blog10

Observen que hice clic derecho en el disco 0 y seleccioné Convert to Dynamic Disk:

Blog11

Selecciono el disco, presiono OK y luego Convert:

Blog12

Observen la advertencia de que luego de la conversión no voy a poder arrancar otros sistemas operativos que estén en ese disco, excepto el sistema operativo de arranque, presiono Yes:

Blog13

Tardará unos instantes dependiendo del tamaño del disco y cuando finalicen observen que el color usado para representar el disco cambió, además del tipo pues ahora es dinámico:

Blog14

Para extenderlo, hago clic derecho en el disco y selecciono Extend Volume:

Blog15

Presiono Next ante el asistente:

Blog16

Ya el disco se encuentra seleccionado por defecto y es el único disponible para ampliar, así que presiono Next:

Blog17

Presiono Finish:

Blog18

Ya el disco quedó ampliado a un total de 50 GB (49.48 GB)

Blog19 

Ahora veamos el procedimiento usando Powershell. Lo primero que hago es abrir una sesión de Powershell con privilegios de administrador:

Blog20

Ahora ejecuto el comando Resize-VHD -Path "C:\VMs\VHDs\Server 2012 R2 - 01.vhdx" -SizeBytes 55GB

En este ejemplo la ruta del disco a crecer es "C:\VMs\VHDs" y el disco se llama "Server 2012 R2 - 01.vhdx", de igual forma se va a crecer a 55 GB, de un tamaño de 50 GB que tenía antes:

Blog21

Tan pronto termine (es muy rápido) extiendo el disco usando el mismo procedimiento arriba descrito. Observen que el disco ya se creció en 5 GB:

Blog22

¿Está bien bueno cierto? Espero les haya gustado.

No olviden que para saber más acerca de la estrategia de Microsoft alrededor de Cloud OS pueden consultar el siguiente link http://www.microsoft.com/en-us/server-cloud/cloud-os/default.aspx

Ahora bien, si quieren disminuir un VHDX lo pueden hacer usando el comando de Powershell Resize-VHD –Path c:\BaseVHDX.vhdx –ToMinimumSize (Más información Aquí)

Nos vemos en la próxima…