En toda instalación por defecto de Hyper-V, se utiliza la misma carpeta por defecto (de fábrica), para almacenar los ficheros de configuración XML de las Máquinas Virtuales Hyper-V, en particular, el siguiente directorio:
C:\ProgramData\Microsoft\Windows\Hyper-V
Como sabemos, los ficheros de configuración XML de las Máquinas Virtuales Hyper-V, toman como nombre el GUID (dícese churro, o conjunto de letras y números con carácter aleatorio) de la correspondiente Máquina Virtual.
En cualquier caso, es posible cambiar la ruta deseada por defecto, desde el diálogo de propiedades Hyper-V Settings en el Hyper-V Manager, como se muestra en la siguiente pantalla capturada:
De este modo, al crear una nueva Máquina Virtual con el asistente de Hyper-V Manager utilizando la ubicación por defecto (en nuestro caso E:\), se tendrán las siguientes consecuencias:
- El fichero de configuración XML de la Máquina Virtual, se almacenará dentro de E:\Virtual Machines, y no directamente en E:\, como se podría mal entender a priori.
De forma adicional, en la ruta por defecto de fábrica (C:\ProgramData\Microsoft\Windows\Hyper-V) se creará un Symbolic Link apuntando al correspondiente fichero de configuración de la Máquina Virtual.
Tanto el fichero de configuración XML de la Máquina Virtual Hyper-V, como el correspondiente Symbolic Link, deben tener permisos de control tota para NT VIRTUAL MACHINE\GUID, donde GUID es el GUID de la correspondiente Máquina Virtual.
- Por defecto, se utilizará la carpeta E:\ para el almacenamiento de instantáneas de Máquinas Virtuales (Snapshots), por lo tanto los Snapshots se almacenarán dentro de E:\Snapshots, excepto que se cambie esta configuración de forma explícita en las propiedades de la correspondiente Máquina Virtual.
¿Y en caso de especificar una ruta alternativa en el asistente de creación de nueva Máquina Virtual? Pues supongamos que decidimos utilizar la ruta F:\ para la creación de una Máquina Virtual denominada VSQL01. En este caso, se tendrán las siguientes consecuencias:
- El fichero de configuración XML de la Máquina Virtual, se almacenará dentro de F:\VSQL01\Virtual Machines, y no directamente en F:\, ni tampoco dentro de F:\Virtual Machines, como se podría mal entender a priori.
De forma adicional, en la ruta por defecto de fábrica (C:\ProgramData\Microsoft\Windows\Hyper-V) se creará un Symbolic Link apuntando al correspondiente fichero de configuración de la Máquina Virtual.
Como siempre, tanto el fichero de configuración XML de la Máquina Virtual Hyper-V, como el correspondiente Symbolic Link, deben tener permisos de control total para NT VIRTUAL MACHINE\GUID, donde GUID es el GUID de la correspondiente Máquina Virtual.
- Por defecto, se utilizará la carpeta F:\VSQL01\Snapshots para el almacenamiento de instantáneas de Máquinas Virtuales (Snapshots), en vez de F:\Snapshot (que es lo que podríamos esperar a priori), excepto que se cambie esta configuración de forma explícita en las propiedades de la correspondiente Máquina Virtual (estará configurada la ruta F:\Snapshots).
Esta dicotomía en las rutas utilizadas para el almacenamiento de ficheros de configuración XML de Máquinas Virtuales Hyper-V (y que también afecta a la carpeta de Snapshot), genera algo de confusión, por lo que es interesante tenerlo lo más claro posible.
Ahora bien ¿Y si deseamos mover los ficheros de configuración de las Máquinas Virtuales para tener una estructura de carpetas bien definidas?
Bueno, a priori, deberíamos emplear las utilidades Export e Import de Hyper-V, pero esto no nos permitirá siempre utilizar las rutas que deseemos.
El truco del almendruco, está en eliminar el Symbolic Link del fichero de configuración de la Máquina Virtual que deseemos mover, organizar la estructura de ficheros como deseemos, y volver crear el correspondiente Symbolic Link (ej: utilizando mklink) apuntando a la nueva ubicación del fichero de configuración de la Máquina Virtual, para de este modo, conseguir mover una Máquina Virtual Hyper-V sin Export ni Import. Es importante recordar que tanto el Symbolic Link como el fichero de configuración de la Máquina Virtual, deben tener permisos de control total para NT VIRTUAL MACHINE\GUID (ej: utilizando icacls).
La organización de carpetas del sistema de ficheros, es algo bastante subjetivo, quiero decir, que para gustos hay colores. Personalmente, me gusta almacenar tanto los ficheros de configuración de Máquinas Virtuales, como todo lo demás (Snapshots y Virtual Disks), en un disco que no sea de sistema y/o arranque (en uno o en varios). De este modo, tomando como ejemplo un disco E, utilizaría las siguientes rutas:
- E:\Virtual Machines. Almacenamiento de los ficheros de configuración XML de las Máquinas Virtuales Hyper-V.
- E:\Virtual Hard Disks. Almacenamiento de los Discos Virtuales (VHD) de las Máquinas Virtuales Hyper-V.
- E:\Snapshots. Almacenamiento de los Snapshots de las Máquinas Virtuales Hyper-V.
Poco más por hoy. Espero que resulte de interés.