Se stai modificando con l'editor VIM il comando per salvare è ESC :w e per uscire ESC :q!.
Se stai modificando con l'editor NANO il comando per salvare è CTRL+X.
Una volta salvato tutto è importante applicare le modifiche, utilizzando il seguente comando:
sudo netplan apply
Per identificare ogni macchina più facilmente, accediamo ai file host eseguendo i seguenti comandi:
sudo vim /etc/hostname
dentro cambieremo template con master.
Poi:
sudo vim /etc/hosts
127.0.0.1 localhost
192.168.0.1 master
192.168.0.22 cluster01
# Le seguenti righe sono derivate per host compatibili con IPv6
...
SSH
Questo passaggio è importante per connettere le VM con la nostra macchina host.
In VirtualBox (macchina master) accedi a: Impostazioni > Rete > Inoltro porta > Aggiungi
Imposta la seguente regola:
Installa il servizio ssh sudo apt install openssh-server
Verifica che sia attivo sudo systemctl status ssh, altrimenti attivalo con sudo systemctl enable ssh
Entra nel tuo terminale WINDOWS/MAC ed esegui il comando: ssh-keygen per generare una chiave
Questa chiave pubblica deve essere copiata sull'host master con il seguente comando:
cd .ssh
scp -P 2222 id_ed25519.pub vboxuser@127.0.0.1
Ricorda che il nome di id_.......pub e il nome di vboxuser possono variare (vboxuser è il nome utente che hai assegnato all'inizio della creazione della macchina, quindi deve essere quello).
Infine, vai sulla tua macchina master ed esegui il seguente 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 di file distribuito
sudo apt install nfs-kernel-server
sudo mkdir -p /mnt/shared
# Prova a montare nuovamente la directory esportata dal server NFS:
sudo mount -t nfs <IP_del_server>:/shared /mnt/shared
# Sostituisci <IP_del_server> con l'IP del server NFS
sudo mount -t nfs 192.168.0.1:/shared/ /mnt/shared
# Dopo il montaggio, verifica se è stato eseguito correttamente con il comando:
df -h | grep /mnt/shared
Se la directory /mnt/shared appare nell'elenco, significa che il file system NFS è stato montato correttamente.
È importante che questo file system sia montato automaticamente ad ogni accensione della macchina, quindi devi renderlo permanente:
sudo vim /etc/fstab
e aggiungi: <IP_del_server_NFS>:/shared /mnt/shared nfs defaults 0 0
192.168.0.1:/shared /mnt/shared nfs defaults 0 0
Creazione dei nodi (node01 e node02)
Clonazione dei nodi: Clona la macchina template due volte, creando le macchine node01 e node02.
Configurazione della rete:
Configura la rete per entrambe le macchine nello stesso modo in cui è stata configurata per la macchina master.
Imposta l'adattatore 1 su NAT e l'adattatore 2 su Rete Interna, assegnando il nome della rete interna come clustervimnet.
Assegnazione indirizzo IP statico:
Per node01, modifica il file /etc/netplan/50-cloud-init.yaml come segue:
Su node01 e node02, monta il file system condiviso fornito dal server NFS (il master in questo caso).
sudo mkdir -p /mnt/shared
sudo mount -t nfs 192.168.0.1:/shared /mnt/shared
Verifica che il file system sia montato correttamente:
df -h | grep /mnt/shared
Per rendere permanente il montaggio del file system condiviso, modifica il file /etc/fstab:
sudo vim /etc/fstab
Aggiungi la seguente riga:
192.168.0.1:/shared /mnt/shared nfs defaults 0 0
Test e verifica del cluster
Ping tra le macchine:
Verifica la connessione di rete tra le macchine utilizzando il comando ping:
ping 192.168.0.22 # Dal master verso node01
ping 192.168.0.23 # Dal master verso node02
Verifica dell'accesso condiviso:
Su ciascun nodo, verifica che il file system NFS sia accessibile e scrivibile creando file all'interno della directory condivisa:
touch /mnt/shared/testfile_node01.txt
Verifica che il file creato sia visibile anche dagli altri nodi e dal master.
Controllo dei servizi di rete:
Verifica che il servizio DNS e DHCP funzioni correttamente interrogando l'host master o i nodi con il comando:
host master
host node01
Con questi passaggi, avrai configurato un cluster funzionante con un master e due nodi connessi in rete, che condividono risorse di storage e utilizzano servizi di rete comuni come DHCP, DNS e NFS.
Creare un cluster con una macchina master e due macchine (node01 e node02)
Requisiti iniziali
Caratteristiche del cluster
Macchina Master:
Macchine Nodo (node01, node02, ...):
Creazione della macchina template per la post-creazione delle macchine del cluster
Se riscontri problemi, prova a installare una versione più recente e stabile.
Macchina pronta per essere clonata
Creazione macchina Master
Salva la configurazione
Configurazione della rete del nodo Master
Per vedere le interfacce disponibili nella VM esegui il comando
Dopo aver eseguito il comando otterrai:
dove:
enp0s3 è l'adattatore 1 (NAT). enp0s8 è l'adattatore2 (rete interna).
Devi configurare l'interfaccia enp0s8 come statica utilizzando l'indirizzo IP 192.168.0.1, per farlo devi modificare il seguente file:
All'interno di questo file devi inserire le seguenti informazioni:
Se stai modificando con l'editor VIM il comando per salvare è
ESC :w
e per uscireESC :q!
. Se stai modificando con l'editor NANO il comando per salvare èCTRL+X
.Una volta salvato tutto è importante applicare le modifiche, utilizzando il seguente comando:
Per identificare ogni macchina più facilmente, accediamo ai file host eseguendo i seguenti comandi:
dentro cambieremo template con master.
Poi:
SSH
Questo passaggio è importante per connettere le VM con la nostra macchina host.
sudo apt install openssh-server
sudo systemctl status ssh
, altrimenti attivalo consudo systemctl enable ssh
ssh-keygen
per generare una chiaveRicorda che il nome di id_.......pub e il nome di vboxuser possono variare (vboxuser è il nome utente che hai assegnato all'inizio della creazione della macchina, quindi deve essere quello).
Infine, vai sulla tua macchina master ed esegui il seguente comando:
Finalmente avrai la tua connessione ssh pronta:
Questo comando deve essere eseguito dal tuo terminale WINDOWS/MAC.
DHCP e DNS
Lista di comandi da eseguire:
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 di file distribuito
Se la directory
/mnt/shared
appare nell'elenco, significa che il file system NFS è stato montato correttamente.È importante che questo file system sia montato automaticamente ad ogni accensione della macchina, quindi devi renderlo permanente:
e aggiungi:
<IP_del_server_NFS>:/shared /mnt/shared nfs defaults 0 0
192.168.0.1:/shared /mnt/shared nfs defaults 0 0
Creazione dei nodi (node01 e node02)
Clonazione dei nodi: Clona la macchina template due volte, creando le macchine node01 e node02.
Configurazione della rete:
Assegnazione indirizzo IP statico:
/etc/netplan/50-cloud-init.yaml
come segue:Modifica dei file
/etc/hosts
:/etc/hosts
aggiungendo le seguenti righe per riconoscere i nodi del cluster:Test della connessione SSH:
Montaggio del file system condiviso:
/etc/fstab
:Aggiungi la seguente riga:
Test e verifica del cluster
Ping tra le macchine:
ping
:Verifica dell'accesso condiviso:
Controllo dei servizi di rete:
master
o i nodi con il comando:Con questi passaggi, avrai configurato un cluster funzionante con un master e due nodi connessi in rete, che condividono risorse di storage e utilizzano servizi di rete comuni come DHCP, DNS e NFS.