NFS Server in XenServer


In questi giorni mi è capitato di dover trovare una soluzione per permettere l’accesso ad un volume XenServer da parte di un altro Host Xen e la soluzione più pulita e valida che mi sia venuta in mente è stata quella di verificare se XenServer potesse pubblicare l’accesso al suddetto volume tramite Server NFS. Solitamente gli host XenServer vengono configurati in modalità Client NFS (per connetterli a volumi pubblicati da NAS o SAN) ma l’utilizzo come Server NFS non è propriamente uno standard. Dopo qualche test e ricerche varie in rete ho potuto verificarne la fattibilità e redarne una breve guida.
Di seguito spiego come sia possibile abilitare le funzionalità di Server NFS su XenServer (da me testata su XenServer 6.2 e 6.5).
La presente guida non è una procedura certificata Citrix in quanto le modifiche ai file di configurazione potrebbero essere considerate dal supporto Citrix come modifiche “non autorizzate”, sebbene le funzionalità siano intrinseche nel sistema CentOS su cui XenServer è basato. Si consiglia per cui di non utilizzare i volumi NFS così pubblicati per memorizzarvi macchine di produzione, in quanto non se ne garantisce la continuità di servizio.
Per eseguire i seguenti passaggi è necessario l’accesso in SSH al host XenServer su cui si vuole abilitare il Server NFS.

//Creazione punto di mount:

mkdir /export

//Creazione partizione in GPT (è possibile usare MBR per volumi fino ad un massimo di 2.2TB)

gdisk /dev/sdc

(nel mio caso il volume è /dev/sdc ma potrebbe essere diverso per voi; assicurarsi di lavorare sul volume corretto)

n

(per “nuova partizione”)

Accettare la partizione di default (1 nel mio caso perché l’array è vuoto)
Accettare il valore di default per il primo settore
Accettare il valore di default per l’ultimo settore
Accettare il default hex code (0700, Linux/Windows data)

w

(Scrive la table del disco ed esce)

//Formattazione del volume in ext3

mkfs.ext3 /dev/sdc1 (primo volume del disco /dev/sdc)

//Modificare il file /etc/fstab per abilitare il montaggio automatico all’avvio del volume in /export:

nano /etc/fstab

//Aggiungere la riga:

/dev/sdc1 /export ext3 defaults 1 1

//Eseguire il montaggio manuale del volume (in seguito avverrà all’avvio dello XenServer)

mount /dev/sdc1 /export

//Definizione punti di export

nano /etc/exports

//Aggiungere la cartella /export (il file, prima di questa modifica, è vuoto)

/export *(rw,async,no_root_squash)

//Applicare le exports

exportfs -a

//Modifiche al firewall iptables

iptables -F
nano /etc/sysconfig/iptables

//Abilitare accesso tramite il firewall

//editare il file portmap per permettere la mappatura delle porte anche da esterno

nano /etc/sysconfig/portmap
PMAP_ARGS=””

//Abilitare l’avvio automatico dei servizi portmap e nfs (server)

chkconfig portmap on
chkconfig nfs on

//Avviare il servizio portmap

service portmap start

//Aggiungere il modulo del Kernel nfsd

modprobe nfsd

//Aggiungere il caricamento del modulo del kernel all’avvio dello XenServer, modificando il file /etc/rc.d/rc.sysinit

nano /etc/rc.d/rc.sysinit

//Aggiungere in fondo la riga:

modprobe nfsd

//Avviare il servizio nfs (server)

service nfs start

//Test funzionamento mappatura

showmount -e localhost
showmount -e IP_ADDRESS

//Se tutto è andato a buon fine ora il servizio NFS server è attivo e lo sarà, in automatico, anche dopo eventuali riavvii dell’host
//Da XenCenter mappare il volume puntando a IP_ADDRESS:/export

Condividi: