0% encontró este documento útil (0 votos)
9 vistas40 páginas

Configuración de VMware Homelab ESXi

El documento detalla la configuración de un homelab utilizando VMware, incluyendo la preparación de directorios en unidades SSD y HDD, la creación de máquinas virtuales ESX01 y ESX02, y la instalación de un servidor NFS para almacenamiento compartido. Además, se describe la implementación de un servidor DNS para la resolución de nombres dentro de la red homelab, asegurando que las máquinas virtuales utilicen este servidor para evitar problemas de conectividad. Finalmente, se abordan configuraciones de red y almacenamiento para optimizar el rendimiento del homelab.
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
9 vistas40 páginas

Configuración de VMware Homelab ESXi

El documento detalla la configuración de un homelab utilizando VMware, incluyendo la preparación de directorios en unidades SSD y HDD, la creación de máquinas virtuales ESX01 y ESX02, y la instalación de un servidor NFS para almacenamiento compartido. Además, se describe la implementación de un servidor DNS para la resolución de nombres dentro de la red homelab, asegurando que las máquinas virtuales utilicen este servidor para evitar problemas de conectividad. Finalmente, se abordan configuraciones de red y almacenamiento para optimizar el rendimiento del homelab.
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd

HOMELAB

Preparación de directorios:
En la unidad C: (SSD - 300 GB), la estructura de carpetas será la siguiente:
C:\VMware_Homelab\
├ ESX01\
├ ESX02\
Aquí se guardarán la configuración de las MVs y disco principal del sistema.
En la unidad E: (HDD - 1.3 TB), la estructura será:
E:\VMware_Homelab\
├ Datastores\
│ ├ ESX01_Data.vmdk
│ └ ESX02_Data.vmdk
├ vCenter\
│ └── vCenter_Server.vmdk

├ MVs\
Aquí se guardarán los discos virtuales un poco más pesados.
Creación de ESX01 y ESX02
1. Abrimos VMware Workstation Pro 17 y creamos nueva MV
customizada.
Seleccionamos compatibilidad Workstation 17.x
Marcamos la opción de instalar el S.O después

Seleccionamos la versión del ESXi que vamos a instalar.

Renombramos la MV y ubicamos en nuestro directorio.


Le aplicamos la siguiente configuración de CPU para que tenga 2
vCPU
Le asignamos 6GB de memoria RAM.
En cuanto a la red, no nos deja elegir directamente nuestra red
privada creada anteriormente (VMnet2) por lo que elegiremos
cualquier opción y después modificaremos.
Usamos el controlador SCSI recomendado y Tipo de disco virtual -
SCSI
Creamos un nuevo disco virtual, será el Disco 1 dedicado a la
instalación del S.O. Para ello lo recomendado son 32 GB que será
guardados en el SSD. Marcamos la opción de “Store virtual disk as a
single file” para que nos cree únicamente un fichero vmdk. Le
ponemos de nombre “ESX01_Disk1.vmdk”
Por último, finalizamos la creación de la MV pese a que aún debemos
modificarla más.

Editamos la configuración de la máquina y seleccionamos nuestro


adaptador de red mencionado anteriormente.
Añadimos un nuevo disco virtual de tamaño de 100 GB ubicándolo en
nuestro HDD, con las mismas especificaciones que el anterior. Este
disco tendrá la función de ser un Datastore para nuestro ESXi.
Montamos la ISO con el VMware ESXi 8.x y procederemos con su
instalación.

2. Encendemos la MV y asignamos la siguiente configuración.

IP fija: [Link]
Gateway: [Link]
DNS: [Link]

Realmente los campos Gateway y DNS, no tienen relevancia en lo que


llevamos de Homelab puesto que las MVs no tendrán salida a inet.
Son meramente relleno para evitar que ESXi se queje o marque como
incompleto. Si a posteriori se planea hacer un laboratorio completo
con nombres internos, lo mejor sería montar un servidor DNS local en
una MV y usar su IP como DNS.
Instalamos en el disco de 32 GB que habíamos dedicado para ello.

Introducimos una contraseña para el usuario root.

Una vez instalado el S.O, apretamos F2 para abrir la configuración e


introducimos los datos anteriores en el apartado Configure
Management Network -> IPv4 Configuration.
Ya tenemos lista la primera máquina lista -> ESX01

3. Repetimos el proceso para el ESX02.

IP fija: [Link]
Gateway: [Link]

Con esto ya tendríamos nuestros 2 ESXi listos, con IPs fija y


Hostnames
Interfaces ESXi
1. Ya tenemos ambos host ESXi preparados. Podemos acceder a su
interfaz web a través de la dirección IP de cada uno de ellos en
nuestro navegador favorito.

2. Lo primero que vamos a hacer es activar una licencia para que no nos
caduque el progreso de los ESXi en 60 días. Para ello, vamos a la
pestaña Administrar -> Licencias. Asignamos una licencia sacada de
inet: “MM292-66K0M-481P8-0J9HH-992L0”

3. Continuaremos creando nuestros Datastores locales en los ESXi. En el


menú, vamos a la pestaña Almacenamiento -> Almacén de datos ->
Nuevo almacén de datos
Creamos nuevo almacén de datos de VMFS. Le nombramos y
seleccionamos el disco. Serán Datastore_ESX01 y Datastore_ESX02

Seleccionamos todo el disco y VMFS 6.

Repetiremos con el ESX02


Montar un Datastore Compartido (NFS)
1. El objetivo de montar un Datastore compartido es para poder: Mover
MVs entre ESXi, Crear un clúster en vCenter más adelante y Simular
almacenamiento de red tipo NAS.

Para ello, vamos a usar una MV con Linux ligera y montar nuestro
propio NFS Server.

2. Creamos la MV con nombre NFS-SERVER. El S.O lo instalaremos


después por lo que marcamos la siguiente opción

Seleccionamos el sistema operativo que vamos a usar, en este caso


sera un Ubuntu 24.04.2 LTS
Ubicamos la MV en el directorio que hemos creado en el HDD

Especificamos el numero de vCPUs

Le asignaremos 2 GB de RAM
Como se hizo anteriormente, seleccionamos cualquier adaptador de
red puesto que después tendremos que editarlo y seleccionar nuestra
red privada.

Seleccionamos la opción recomendada del Controlador SCSI

Seleccionamos un disco único virtual de 60 GB


Ya finalizada las especificaciones la MV, editamos nuevamente e
insertamos la ISO de Ubuntu y seleccionamos nuestra red virtual
privada.

3. Encendemos la máquina para proceder con la instalación del SO

Seleccionamos la opcion base Ubuntu Server


Asignamos la siguiente configuración de la interfaz de red.

Subred [Link]/24
IP Fija: [Link]

Omitimos el paso del proxy y el mirror lo dejamos como está


Para la configuración del disco, dejamos la opción de usar el disco
entero y sus opciones por defecto
Continuamos con la configuración de usuario. Pondré de nombre de
usuario “nfsadmin”

Marcamos la opción de instalar OpenSSH Server, lo que nos permitirá


conectarnos desde el PC usando PuTTY por ejemplo

Una vez completada la instalación del sistema, solicitará un reinicio.


Desactivamos la ISO de la máquina antes de encenderla
Tras el reinicio, ya nos podremos logear con nuestro usuario y
contraseña configurado
4. Vamos a proceder con la instalación del NFS Server. Ya con el terminal
arrancado vamos a actualizar el sistema operativo primero por si
hubiese quedado alguna actualización pendiente.

Para ello, debemos tener en cuenta que solo tenemos un unico


adaptador de red configurado con nuestra red privada por lo que no
tenemos salida a inet. Vamos a cambiar temporalmente la tarjeta de
red a Bridged o NAT

Una vez encendamos la máquina, observamos con el comando “ip a”,


que seguimos con la misma IP por lo que debemos tocar el archivo de
configuración de red
Cambiaremos de esto que tenemos:

A esto para que de manera temporal nos de otra IP por DHCP

Para que aplique el cambio, ejecutamos “sudo netplan apply” y


comprobamos
Ahora sí, ejecutamos los comandos para actualizar el sistema
operativo por si hubiese quedado algo durante la instalación.
Comando: “sudo apt update && sudo apt upgrade -y”

Una vez finalizado, vamos a instalar NFS Server con el siguiente


comando: “sudo apt install nfs-kernel-server -y”

Ya instalados, no nos hará falta mas salida a inet por lo que vamos a
volver a cambiar el archivo de configuración de red a como estaba.

Tras ello, vamos a crear una carpeta de compartición como por


ejemplo nfs_datastore y le damos permisos completos para que ESXi
no tenga problemas al conectarse:
¿Por qué se usa nobody:nogroup? Se usa para cuando no quiero que
ningún usuario especifico tenga permisos de dueño sobre los archivos
del servidor.

Ahora vamos a editar el archivo de exportación añadiendo esta linea


al final. Para abrir el archivo: “sudo nano /etc/exports”

“/mnt/nfs_datastore
[Link]/24(rw,sync,no_subtree_check,no_root_squash)”

Explicación:

rw: Lectura y escritura.


sync: Sincroniza escrituras para mayor seguridad.
no_subtree_check: Mejora compatibilidad.
no_root_squash: Permite que ESXi actúe como "root" en el NFS.

Esto permite que cualquier máquina de tu red [Link] monte


ese recurso.

Reiniciamos el servicio NFS para cargar los cambios:

Permitimos el tráfico NFS en el Firewall: “sudo ufw allow from


[Link]/24 to any port nfs”

Ya estaría finalizado la instalación del servidor NFS. Podriamos crear


más carpetas para usarlas para más cosas como por ejemplo: Un
datastore para ISOs, otro datastore para backups de MVs, otro para
logs, etc.

De momento lo dejaremos para más adelante.

Ahora vamos a añadir el NFS Datastore desde la interfaz ESXi.


Accedemos al primer host y creamos un nuevo almacén de datos.
Esta vez seleccionaremos la opción Montar almacén de datos de NFS

Nombramos e indicamos la IP de nuestro servidor NFS y la ruta del


recurso compartido

Si todo estuviese bien, deberia conectarse. A mi me devolvió un error


que acabé solucionando teniendo esto en cuenta.

Para empezar, mi MV NFS-SERVER tenia puesto de adaptador de red


NAT en vez de nuestra red privada VMnet02 por lo que no se iban a
ver jamas.

Una vez cambiada, probé a realizar pruebas de conexión entre las


máquinas. Para ello, habilité el SSH de los hosts ESXi desde DCUI
(Troubleshooting Options)
Me conecte por ssh desde mi PC local y realicé ping con el comando
“vmkping [Link]” resolviendo bien

Esto debería solucionar el error que nos sacaba el ESX01 al montar el


datastore. Probamos nuevamente y comprobamos que se ha añadido
el datastore compartido en ambos hosts.

Como podemos observar, unicamente tenemos de capacidad


23,51GB cuando nuestra MV tiene un disco de 60GB.

Esto es debido a que este disco contiene el montado todo el S.O


instalado (con las diferentes particiones que ha creado). Como la
carpeta contenedora está creada en la partición “/” el cual está
asignado en el sda3 que tiene 29GB y 4,9GB usados, cuenta con
23GB libres. El resto del espacio de los 60GB de disco se encuentran
reservados en un contenedor flexible (LVM) que nos será util tener en
cuenta para ampliar si las particiones del sistema se llenan o crear
alguna nueva partición.
Con un espacio tan reducido, no podriamos aprovechar bien el
Datastore NFS por lo que vamos a añadir un nuevo disco virtual a
nuestro NFS-SERVER y montarlo para el Almacenamiento. Esto es
recomendable ya que así disponemos de 2 discos para funciones
diferenciadas (sistema y almacenamiento puro).

5. Apagamos la máquina y añadimos un nuevo disco (100GB) y


volvemos a encenderla. Si ejecutamos el comando “lsblk”,
observaremos el nuevo disco nombrado como sdb (El primero es el
sda con sus particiones)

Creamos una única partición para que todo el almacenamiento sea


destinado al NFS. Para crear una nueva -> “sudo fdisk /dev/sdb”.
Ejecutamos n (para nueva partición), p (partición primaria), 1 (nº
particiones) y enter hasta que se cree. Por último w (para guardar).

Formateamos el disco a ext4


Para montar el disco usamos el siguiente comando “sudo mount
/dev/sdb1 /mnt/nfs_datastore” y editamos el archivo “sudo nano
/etc/fstab” (que es un fichero de configuración que define cómo y
dónde se deben montar los sistemas de ficheros) añadiendo la
siguiente linea final:

Solo quedaría revisar si en el archivo “/etc/exports” continua


apuntando bien hacia /mnt/nfs_datastore. Una vez revisado,
observamos que si desmontamos el Datastore de los ESXi y
montamos de nuevo, ya contamos con el espacio del nuevo disco.

Algo curioso es que cuando se apagan las MVs o el PC e iniciar


nuevamente tu homelab, comprobarás que se pierde la conexión de
los ESXi con este datastore. Esto lo solucionaremos más adelante
cuando tengamos nuestro vCenter con la función de Heartbeat.
Servidor DNS
A continuación, vamos a pasar a montar una nueva máquina que funcione
como Servidor DNS y, usarla para definir las IPs y nombres de todos los
equipos de la homelab para que resuelvan nombres, evitemos problemas de
instalación del vCenter y además, cuando hagamos pings o configuraciones
en ESXi o vCenter, también se hará por nombre. Esto último es muy
importante porque muchos sistemas no aceptan IPs, solo nombres FQDN
bien resueltos.
Dato a tener en cuenta, el dominio que utilizaremos será “[Link]”.

1. Primero crearemos una MV muy baja de recursos para que haga de


DNS Server ya que únicamente la queremos para esa función y
debemos tenerla encendida siempre.

CPU: 1 nucleo
RAM: 1 GB RAM
Disco: 8GB
Red: 2 adaptadores, 1 temporal con Bridge (para la instalación y
updates, después se eliminará) y VMnet2
S.O: Ubuntu Server 24.04
IP: [Link]

Instalamos el SO y una vez realizado, nos aseguramos de que este


actualizado:

2. Instalamos el servidor DNS bind9

Tras esta instalación, no necesitaremos más conexión a inet por lo


que cambiaremos el tipo de adaptador de red y modificaremos el
archivo “/etc/netplan/*.yaml” y “sudo netplan apply” para aplicar el
cambio.
3. Lo siguiente que haremos será modificar el archivo principal de
configuración de BIND, ubicado en /etc/bind y añadir las siguientes
lineas

Los ficheros “db.*” que apuntamos son bases de datos directas que
debemos crear a continuación, donde se contienen los diferentes
registros DNS.
De hecho BIND, por defecto trae de ejemplo “/etc/bind/[Link]” y
“/etc/bind/db.127” para inversas, los cuales copiaremos para crear
ambos nuestros y editarlos.
Editamos nuestro primer archivo con la BD para la resolución directa
añadiendo el contenido de nuestro homelab

Ahora vamos con la BD para la inversa

Revisamos que la configuración este correcta a través de los


siguientes comandos y reiniciamos el servicio de BIND para que
aplique.

Con esto ya tendríamos nuestro servidor DNS instalado y


funcionando. Podemos hacer pruebas de que esto funcione utilizando
el comando nslookup y consultando hacia nuestro servidor DNS.
4. Por último, vamos a configurar las MVs que tenemos para que usen
este servidor DNS en su configuración de red.

Ubuntu (NFS-SERVER):

Simplemente editamos el archivo de configuración


“/etc/netplan/*.yaml” y en nameservers, lo añadimos. Finalmente
aplicamos cambios.

Al realizar prueba de nslookup desde este cliente, no me está


respondiendo bien. Me devuelve lo siguiente:
Esto ocurre si “systemd-resolved” sigue actuando como
intermediario, incluso aunque hayas puesto el DNS correcto en
netplan. Lo que ocurre es que Ubuntu por defecto usa systemd-
resolved que escucha en [Link] y no pregunta a tu DNS real si el
sistema no confía en él, o si no encuentra la zona bien definida.

El DNS está bien configurado, vamos a hacer una prueba directa


desde el cliente para que ignore “systemd-resolved” temporalmente,
así:

Reemplazamos /etc/[Link] temporalmente con los siguientes


comandos y probamos a realizar la prueba:

Como podemos observar y confirmar, el problema es que “systemd-


resolved” es un pequeño servicio en Ubuntu que intercepta todas las
consultas DNS y usa [Link] como intermediario. Las consultas no
llegaban bien a tu servidor DNS porque systemd-resolved no tenía
configurado correctamente el forwarding o simplemente fallaba
resolviendo zonas personalizadas como [Link].

Sabiendo que este es el problema y que, estamos usando direcciones


fijas y gestionadas por nosotros mismos en la homelab, vamos a
desactivar de manera permanente este servicio.

Esto detiene el servicio y evita que arranque con el sistema. Ahora


eliminaremos el enlace de “/etc/[Link]” y crearemos uno
manualmente con el dns que hemos montado.

Listo, apagamos la MV y encendemos nuevamente para comprobar


que resuelve correctamente
ESXi Hosts

Accdemos a la interfaz web del ESX01 por ejemplo. Una vez dentro
vamos a la sección de redes, Pilas TCP/IP, seleccionamos la
predeterminada y editamos.

Rellenamos los campos de la configuración DNS y guardamos los


cambios.

Ahora nos podemos conectar por ssh al host ESX01 y probar a


resolver algunas consultas DNS para confirmar su funcionamiento
Implantación vCenter Server
Previo a ponernos con la instalación del vCenter, vamos a realizar una serie
de tareas recomendables para que después todo funcione correctamente.
1. Planificaremos previamente la IP y nombre del vCenter para poder
prepararlo en nuestro servidor DNS. Para nuestra homelab estos
datos serán:

Nombre: [Link]
IP: [Link]

Crearemos en nuestro DNS-Server los registros del vCenter en los


archivos de zona directa e inversa.

2. Sincronizar hora con servidor NTP. De normal, podríamos utilizar


alguno público como [Link] pero como nuestras MVs no
tienen salida a inet, vamos a utilizar una opción de VMware
Workstation para que las MVs sincronicen la hora con la del host (Mi
PC). Para ello con las máquinas apagadas, editamos y vamos a la
pestaña de Options -> VMware Tools y marcamos la siguiente opción.
Para que esta opción funcione correctamente, es necesario que
nuestras máquinas tengan instaladas las VMware Tools. En los ESXi no
hacen falta porque no son SO al uso, pero en las Ubuntu lo haremos
para evitar desincronizaciones.

Cambiaremos el adaptador de red a NAT de nuevo temporalmente


para instalar los paquetes de vmware tolos

Reiniciamos MV y listo, volvemos a hacer el cambio de adaptador de


red.

3.

También podría gustarte