Descarga una distribución de Ubuntu compatible (se recomienda una versión antigua para mayor compatibilidad): https://ubuntu.com/download/server
Características del clúster
Máquina Máster:
vCPU: 1
RAM: 2 GB
Disco duro: 25 GB
Máquinas de Nodo (node01, node02, ...):
vCPU: 1
RAM: 1 GB
Disco duro: 10 GB
Creación de la máquina template para la post-creación de las máquinas del clúster
Crea la máquina con el nombre template,
Elige una ubicación (normalmente se deja la que pone por defecto)
cargar la imagen ISO
Asignar los parámetros dichos anteriormente
Se puede dejar por defecto el nombre de usuario y la contraseña. IMPORTANTE TENER EN CUENTA PARA LA POSTERIOR CONFIGURACIÓN
Darle finalizar y arrancar la máquina (te pedirá el usuario y contraseña anotados anteriormente)
Una vez iniciada ejecuta los siguientes comandos:
sudo apt update
sudo apt upgrade
Si tienes problemas, prueba a instalar una versión más moderna y estable.
Instalación de paquetes
sudo apt install net-tools gcc make
sudo shutdown -h now
Maquina lista para ser clonada
Creación máquina Máster
Clonación de la máquina template (pinchar en la oveja y darle a clonación completa, en Name poner master)
Una vez creada, accede a la
configuración -> red -> adaptador1 (NAT) (dejar como está)
configuración -> red -> adaptador2 (Red interna) (necesario habilitarlo) (IMPORTANTE PONERLE DE NOMBRE clustervimnet)
Guarda la configuración
Configuración red del nodo Máster
Para ver las interfaces disponibles en la VM se debe ejecutar el comando
ip link show
Tras ejecutar el comando obtendrás:
dónde:
enp0s3 es el adaptador 1 (NAT).
enp0s8 es el adaptador2 (red interna).
Hay que configurar la interfaz enp0s8 como estatica usando la dirección IP 192.168.0.1, para ello hay que editar el siguiente fichero:
sudo vim /etc/netplan/50-cloud-init.yaml
Dentro de ese fichero debes poner la siguiente información:
Si estas editando con el editor VIM el comando para guardar es ESC :w y para salir ESC :q!
Si estas editando con el editor NANO el comando para guardar es CTR+X
Una vez hayas guardado todo es importante GUARDAR, siempre que toques este fichero debes guardar y aplicar los cambios, usando el siguiente comando:
sudo netplan apply
Para identificar cada máquina de una forma más sencilla, accedemos a los ficheros de host ejecutando los siguientes comandos:
sudo vim /etc/hostname
dentro cambiaremos template por master.
Luego:
sudo vim /etc/hosts
127.0.0.1 localhost
192.168.0.1 master
192.168.0.22 cluster01
# The following lines are deriable for IPv6 capable hosts
...
SSH
Este paso es importante para conectar las VMs con nuestra máquina host
En VirtualBox (máquina máster) accede al siguiente apartado: Settings>Network>Port Forwarding>Add
Establece la siguiente regla:
Instala el servicio ssh sudo apt install openssh-server
Comprueba que esté sudo systemctl status ssh, si no lo está activalo sudo systemctl enable ssh
Entra en tu terminal de WINDOWS/MAC y ejecuta el comando: ssh-keygen para generar una clave
Esta llave publica debe ser copiada en el host del máster con el siguiente comando:
cd .ssh
scp -P 2222 id_ed25519.pub vboxuser@127.0.0.1
recuerda que el nombre de id_.......pub y el nombre de vboxeruser no es el mismo para todos (vboxeruser es el nombre usuario que asignaste al principio de la creación de la máquina por lo que tendrá que ser ese nombre) y el id será el que te genere la ssh-keygen.
Por último debes ir a tu máquina máster y ejecutar el siguiente comando:
sudo vim /etc/default/dnsmasq
IGNORE_RESOLVCONF=yes
DNSMASQ_EXCEPT="lo"
sudo systemctl restart dnsmasq systemd-resolved
sudo systemctl status dnsmasq
host cluster01
Sistema distribuido de ficheros
sudo apt install nfs-kernel-server
sudo mkdir -p /mnt/shared
#Intenta montar nuevamente el directorio exportado desde el servidor NFS:
sudo mount -t nfs <IP_del_servidor>:/shared /mnt/shared
#Reemplaza <IP_del_servidor> con la IP del servidor NFS
sudo mount -t nfs 192.168.0.1:/shared/ /mnt/shared
#Después del montaje, verifica si se realizó correctamente ejecutando el comando:
df -h | grep /mnt/shared
Si el directorio /mnt/shared aparece en la lista, significa que el sistema de archivos NFS fue montado con éxito.
Es importante que este sistema de ficheros esté siempre que encedamos la máquina es por eso que hace falta hacerlo permanente
sudo vim /etc/fstab
y pones: :/shared /mnt/shared nfs defaults 0 0
192.168.0.1:/shared /mnt/shared nfs defaults 0 0
Aquí están los componentes de esa línea:
: La dirección IP del servidor NFS. Por ejemplo, 192.168.0.10.
/shared: El directorio que exportaste en el servidor (el que configuraste en /etc/exports).
/mnt/shared: El punto de montaje en el cliente (debes haber creado este directorio en el cliente).
nfs: El tipo de sistema de archivos (en este caso, NFS).
defaults: Las opciones de montaje (puedes usar rw, sync, u otras si tienes necesidades específicas).
0 0: Estos dos números son opciones estándar en /etc/fstab para controlar el "dump" (0 es no hacer copia de seguridad) y la verificación del sistema de archivos (fsck).
Antes de reiniciar, prueba que la nueva entrada en /etc/fstab funciona correctamente. Ejecuta el siguiente comando para montar todos los sistemas de archivos especificados en /etc/fstab:
sudo mount -a
Si no ves ningún mensaje de error, significa que el montaje fue exitoso. Puedes verificarlo con el comando:
df -h | grep /mnt/shared
Finalmente, reinicia el cliente para asegurarte de que el sistema de archivos NFS se monta automáticamente al arrancar:
sudo reboot
Después del reinicio, verifica que el sistema de archivos NFS esté montado automáticamente:
df -h | grep /mnt/shared
Nodos01, Nodos02...Nodos_n
Realizar los mismos pasos de clonación y de configuración de red (adaptador)
Una vez iniciada la máquina abrir el siguiente fichero:
$ sudo vim /etc/netplan/50-cloud-init.yaml
# This is the network config written by 'subiquity'
network:
ethernets:
enp0s3:
dhcp4: true
dhcp4-overrides:
use-dns: no
enp0s8:
dhcp4: true
dhcp-identifier: mac
nameservers:
addresses: [192.168.0.1]
version: 2
Configuración de resolución de nombres en el archivo /etc/hosts
Configurar el archivo /etc/hosts para resolver cluster01
En el master, agrega una entrada en el archivo /etc/hosts para que el nombre cluster01 se resuelva a la IP de node01 (por ejemplo, 192.168.0.23).
Pasos:
Abre el archivo /etc/hosts en el master:
sudo vim /etc/hosts
Agrega la siguiente línea al archivo para que el nombre cluster01 se resuelva a la IP de node01 (usa la IP que corresponde al interfaz de red que deseas utilizar, que sería probablemente 192.168.0.23):
192.168.0.23 cluster01
Guarda y cierra el archivo.
Verificar que puedas hacer ping a cluster01
Una vez que hayas actualizado el archivo /etc/hosts, verifica que puedas hacer ping a cluster01 desde el master para asegurarte de que la resolución de nombres funciona correctamente:
ping cluster01
Si el ping responde, entonces la resolución de nombres funciona y puedes pasar al siguiente paso.
Finalmente desde la máquina máster podrás ejecutar:
ssh vboxuser@cluster01
# o también
ssh vboxuser@192.168.0.23
finalmente, repite los mismo pasos de creación de sistema distribuido de ficheros y tendrás tu clúster listo
Crear un clúster con una máquina máster y dos máquinas (node01 y node02)
Requisitos iniciales
Características del clúster
Máquina Máster:
Máquinas de Nodo (node01, node02, ...):
Creación de la máquina template para la post-creación de las máquinas del clúster
Si tienes problemas, prueba a instalar una versión más moderna y estable.
Maquina lista para ser clonada
Creación máquina Máster
Guarda la configuración
Configuración red del nodo Máster
Para ver las interfaces disponibles en la VM se debe ejecutar el comando
Tras ejecutar el comando obtendrás:
dónde:
enp0s3 es el adaptador 1 (NAT). enp0s8 es el adaptador2 (red interna).
Hay que configurar la interfaz enp0s8 como estatica usando la dirección IP 192.168.0.1, para ello hay que editar el siguiente fichero:
Dentro de ese fichero debes poner la siguiente información:
Si estas editando con el editor VIM el comando para guardar es
ESC :w y para salir ESC :q!
Si estas editando con el editor NANO el comando para guardar esCTR+X
Una vez hayas guardado todo es importante GUARDAR, siempre que toques este fichero debes guardar y aplicar los cambios, usando el siguiente comando:
Para identificar cada máquina de una forma más sencilla, accedemos a los ficheros de host ejecutando los siguientes comandos:
sudo vim /etc/hostname
dentro cambiaremos template por master.
Luego:
SSH
Este paso es importante para conectar las VMs con nuestra máquina host
sudo apt install openssh-server
sudo systemctl status ssh
, si no lo está activalosudo systemctl enable ssh
ssh-keygen
para generar una claverecuerda que el nombre de id_.......pub y el nombre de vboxeruser no es el mismo para todos (vboxeruser es el nombre usuario que asignaste al principio de la creación de la máquina por lo que tendrá que ser ese nombre) y el id será el que te genere la ssh-keygen.
Por último debes ir a tu máquina máster y ejecutar el siguiente comando:
Finalmente ya tendrás tu conexión ssh lista:
Este comando debe ser ejecutado desde tu terminal de WINDOWS/MAC
DHCP y DNS
Lista de comando a ejecutar:
sudo ln -fs /run/systemd/resolve/resolv.conf /etc/resolv.conf
sudo netplan apply
sudo systemctl restart dnsmasq systemd-resolved
sudo systemctl status dnsmasq
host cluster01
Sistema distribuido de ficheros
Si el directorio
/mnt/shared
aparece en la lista, significa que el sistema de archivos NFS fue montado con éxito.Es importante que este sistema de ficheros esté siempre que encedamos la máquina es por eso que hace falta hacerlo permanente
y pones::/shared /mnt/shared nfs defaults 0 0
192.168.0.1:/shared /mnt/shared nfs defaults 0 0
Aquí están los componentes de esa línea:
Antes de reiniciar, prueba que la nueva entrada en
/etc/fstab
funciona correctamente. Ejecuta el siguiente comando para montar todos los sistemas de archivos especificados en/etc/fstab
:sudo mount -a
Si no ves ningún mensaje de error, significa que el montaje fue exitoso. Puedes verificarlo con el comando:
Finalmente, reinicia el cliente para asegurarte de que el sistema de archivos NFS se monta automáticamente al arrancar:
Después del reinicio, verifica que el sistema de archivos NFS esté montado automáticamente:
Nodos01, Nodos02...Nodos_n
Realizar los mismos pasos de clonación y de configuración de red (adaptador)
Una vez iniciada la máquina abrir el siguiente fichero:
y guardar cambios
$ sudo netplan apply
Configuración de resolución de nombres en el archivo
/etc/hosts
/etc/hosts
para resolvercluster01
En el master, agrega una entrada en el archivo
/etc/hosts
para que el nombrecluster01
se resuelva a la IP de node01 (por ejemplo,192.168.0.23
).Pasos:
Abre el archivo
/etc/hosts
en el master:Agrega la siguiente línea al archivo para que el nombre
cluster01
se resuelva a la IP de node01 (usa la IP que corresponde al interfaz de red que deseas utilizar, que sería probablemente192.168.0.23
):Guarda y cierra el archivo.
cluster01
Una vez que hayas actualizado el archivo
/etc/hosts
, verifica que puedas hacer ping acluster01
desde el master para asegurarte de que la resolución de nombres funciona correctamente:Si el ping responde, entonces la resolución de nombres funciona y puedes pasar al siguiente paso.
Finalmente desde la máquina máster podrás ejecutar:
finalmente, repite los mismo pasos de creación de sistema distribuido de ficheros y tendrás tu clúster listo