Cómo ampliar la capacidad de almacenamiento (espacio) de un disco duro ya existente (o uno nuevo) en un entorno de virtualización profesional con VMware ESXi. Mostramos cómo evitar algunos errores que se pueden producir al intentar crear un disco duro para una máquina virtual de más de 4TB.
- Escenario inicial, errores al ampliar disco duro a más de 4TB o crear uno nuevo de más de 4TB.
- Requisitos para ampliar tamaño de datastore VMware ESXi a más de 4TB.
- Ampliar tamaño de datastore VMware ESXi a más de 4TB mediante SSH y comando vmkfstools.
Escenario inicial, errores al ampliar disco duro a más de 4TB o crear uno nuevo de más de 4TB
Tanto del cliente web VMware vSphere Web Client, como de la aplicación de escritorio VMware vSphere Client, cuando se intenta incrementar el espacio de un disco duro existente o crear un nuevo de más de 4TB, se produce un error.
Intentar ampliar tamaño de disco duro virtual a más de 4TB en VMware vSphere Web Client
En el caso del cliente web, pulsando con el botón derecho sobre la máquina virtual que contiene el disco duro virtual a incrementar a más de 4TB y eligiendo «Edit settings»:
En el disco duro que queramos ampliar, introduciremos el nuevo tamaño:
Si tratamos de guardar los datos nos mostrará el mensaje de error:
A specified parameter was not correct.
Hot-extend was invoked with size (12743100416 sectors) >= 2TB. Hot-extend beyond or equal to 2TB is not supported.
The disk extend operation failed: One of the parameters supplied is invalid
Y no dejará ampliarlo:
Intentar crear un disco duro nuevo de más de 4TB desde VMware vSphere Client
Si intentamos realizar la misma operación o incluso crear un disco duro nuevo para una máquina virtual desde VMware vSphere Client, también recibiremos un error. Como ejemplo intentaremos añadir un disco duro virtual de 66TB. Sobre una máquina virtual, desde VMware vSphere Client, pulsaremos con el botón derecho del ratón y seleccionaremos «Edit Settings»:
Pulsaremos en «Add» en la pestaña «Hardware»:
Seleccionaremos «Hard Disk» y pulsaremos «Next»:
Marcaremos «Create a new virtual disk»:
Introduciremos el tamaño, de más de 4TB, en nuestro caso 5TB y el datastore donde residirá:
El tipo de disco lo dejaremos por defecto:
Ahora pulsaremos en «Finish» para intentar crear el disco duro de más de 4TB:
Pero nos mostrará este error:
Error: DiskCapControl: Value 6597069766656 is out of range (1048576,4398046511104)
Requisitos para ampliar tamaño de disco duro de máquina virtual VMware ESXi a más de 4TB
En el escenario de trabajo disponemos de un datastore de más de 4TB, aprovisionado para varios servidores de VMware ESXi. Dicho datastore reside en un LUN de una SAN y está conectado mediante iSCSI.
Cuando queremos ampliar el tamaño de un disco duro existente de una máquina virtual (sea Windows o Linux) a más de 4TB, desde VMware vSphere Client nos mostrará este error:
Hot-extend was invoked with size (12743100416 sectors) >= 2TB. Hot-extend beyond or equal to 2TB is not supported.
The disk extend operation failed: msg.disklib.INVAL
Si queremos crear y asignar un nuevo disco duro a una máquina virtual (sea Windows o Linux) a más de 4TB, desde VMware vSphere Client recibiremos el error:
Error: DiskCapControl: Value 6597069766656 is out of range (1048576,4398046511104)
Esto se debe a que VMware incluye por defecto un límite de 4TB a los discos duros nuevos que se asignarán a las máquinas virtuales y de 2TB para ampliar discos duros existentes. Esta limitación se produce tanto desde su cliente de escritorio VMware vSphere Client como del cliente web VMware vSphere Web Client.
Para solucionar este problema y poder ampliar discos duros existentes (o crear nuevos) de máquinas virtuales con más de 4TB de tamaño podremos usar la línea de comandos mediante SSH mediante el comando vmkfstools.
Por lo tanto los requisitos para poder ampliar un disco duro o crear un nuevo de más de 4TB serán:
- Disponer de un sistema de almacenamiento SAN con capacidad suficiente libre para crear LUN y volúmenes de más de 4TB. A continuación mostramos un tutorial sobre cómo montar un sistema SAN iSCSI de forma gratuita mediante FreeNAS y cómo conectarlo a un servidor VMware ESXi:
- Disponer de un sistema de virtualización profesional con VMware ESXi. A continuación mostramos cómo montar uno:
- El servidor de VMware ESXi tendrá correctamente aprovisionado el datastore de la LUN de la SAN con más de 4TB. A continuación mostramos cómo añadir un nuevo datastore a un servidor VMware ESXi desde una SAN NetApp mediante iSCSI:
- Disponer de una o varias máquinas virtuales a las que les asignaremos los discos duros de más de 4TB. A continuación mostramos algún tutorial sobre cómo crear máquinas virtuales y cómo añadirles discos duros:
- Deberemos ampliar el disco duro usando la consola SSH de VMware ESXi, por lo que necesitaremos tener habilitado el acceso SSH y disponer de usuario y contraseña con permisos suficientes en VMware ESXi. A continuación mostramos cómo habilitar el acceso mediante SSH a un servidor VMware ESXi:
Ampliar tamaño de disco duro de máquina virtual VMware ESXi a más de 4TB mediante SSH y comando vmkfstools
Dispondremos del datastore de más de 4TB asignado al servidor VMware ESXi, como hemos indicado anteriormente y dispondremos de la máquina virtual. Supondremos que ya hemos creado un disco duro en la máquina virtual de menos de 4TB. Lo que haremos a continuación será ampliar un disco duro existente.
Accederemos a la consola SSH de administración de VMware ESXi, para ello podemos usar cualquier cliente SSH, por ejemplo PuTTY que es gratuito y no requiere de instalación. Abriremos PuTTY e introduciremos la IP del servidor ESXi al que nos conectaremos:
Introduciremos usuario y contraseña del ESXi para iniciar sesión. Para poder ampliar un disco duro virtual a más de 4TB (o al tamaño que queramos) desde la consola deberemos saber en qué carpeta está y qué nombre de fichero tiene. Esto podemos obtenerlo o bien desde la consola web, o desde vSphere Client o bien por comando. Para obtenerlo por consola en primer lugar listaremos los datastores con el comando:
df -h
Accederemos al datastore que contenga la máquina virtual con:
cd /vmfs/volumes/XXX
Donde XXX será el nombre del datastore (que en realiza es un vínculo pues el nombre es un identificador)
Para listar las carpetas de este datastore (que se corresponderán normalmente cada carpeta con una máquina virtual) ejecutaremos:
ls -lah
Ahora accederemos a la carpeta que contiene el disco duro virtual a ampliar con el comando:
cd XXX
Donde XXX será el nombre de la carpeta.
Haciendo otro «ls -lah» veremos los ficheros de la máquina virtual:
El que realmente nos interesa es el XXX.vmdk que es el disco duro virtual. Para ampliarlo ejecutaremos el comando (antes la máquina virtual debe estar detenida):
vmkfstools -X 6TB XXX.vmdk
Donde XXX será el nombre del fichero del disco duro a ampliar.
Nota importante: el comando anterior devolverá error si se pasa un valor de tamaño inferior al que actualmente tenga el disco duro. Como se puede observar el tamaño que se ha de indicar es el que tendrá el disco duro tras su ampliación, NO el tamaño a ampliar. Es decir, si nuestro disco duro tenía 4TB y queremos ampliarlo 2TB más, el comando será:
vmkfstools -X 6TB XXX.vmdk
Especificando el tamaño final total del disco duro.
- Si ejecutamos el comando anterior con la máquina virtual iniciada nos mostrará el error: Failed to extend disk: Failed to lock the file (XXX).
- Si ejecutamos el comando anterior especificando un tamaño inferior al permitido nos mostrará el error: Failed to extend disk: Failed to lock the file (16392).
Si el comando anterior se ejecuta correctamente y se amplía el disco mostrará el mensaje:
Grow: 100% done.
Una vez ampliado el disco duro en VMware ESXi, dependiendo del sistema operativo de la máquina virtual a la que le hayamos ampliado el disco duro y si ha sido el disco duro del sistema, puede que tengamos que realizar alguna tarea adicional. A continuación mostramos algunos tutoriales para ampliar un disco duro existente. Para sistemas operativos Windows Server 2012 no será necesaria ninguna tarea adicional ya que reconocerá la ampliación de forma automática:
- Aumentar tamaño partición raíz máquina virtual Linux VMware Workstation GParted.
- Ampliar partición raíz y swap máquina virtual Linux en VMware ESXi con GParted.
- Ampliar tamaño partición sistema máquina virtual W2003 VMware ESXi con GParted.
- Ampliar tamaño partición sistema máquina virtual W2008 VMware ESXi.
- Ampliar y extender un disco duro de una SAN en un equipo con Windows Server 2003.