Network File Sharing (NFS) è un protocollo che consente di condividere directory e file con altri client Linux tramite una rete. Le directory condivise vengono solitamente create su un file server, che esegue il componente server NFS. Gli utenti vi aggiungono file, che vengono poi condivisi con altri utenti che hanno accesso alla cartella.
Una condivisione file NFS viene montata su una macchina client, rendendola disponibile proprio come le cartelle create localmente dall'utente. NFS è particolarmente utile quando lo spazio su disco è limitato e si ha la necessità di scambiare dati pubblici tra computer client.
Questo fa parte della nostra serie di articoli su Linux su Azure.
In questo articolo imparerai:
Vediamo come configurare un server NFS e creare una condivisione file NFS, che le macchine client possono montare e a cui possono accedere.
Contenuto correlato: Crea il tuo servizio NFS enterprise
Ecco come installare il kernel NFS: questo è il componente server che consente a una macchina di esporre directory come condivisioni NFS.
Su Ubuntu e Debian:
sudo apt-get update sudo apt install nfs-kernel-server
Su CentOS e Fedora:
yum -y install nfs-utils apt-get install nfs-kernel-server
Ora creeremo la directory radice delle condivisioni NFS, nota anche come cartella di esportazione.
sudo mkdir /mnt/myshareddir
Imposta i permessi in modo che qualsiasi utente sulla macchina client possa accedere alla cartella (nel mondo reale dovresti valutare se la cartella necessita di impostazioni più restrittive).
sudo chown nobody:nogroup /mnt/myshareddir #nessuno è proprietario sudo chmod 777 /mnt/myshareddir #tutti possono modificare i file
Per concedere l'accesso ai client NFS, dovremo definire un file di esportazione. Il file si trova solitamente in /etc/exports
Modifica il file /etc/exports in un editor di testo e aggiungi una delle seguenti tre direttive.
Tutte le direttive seguenti utilizzano le opzioni rw, che abilita sia la lettura che la scrittura, sync, che scrive le modifiche su disco prima di consentire agli utenti di accedere al file modificato, e no_subtree_check, che significa che NFS non controlla se ogni sottodirectory è accessibile all'utente.
| Per abilitare l'accesso a un singolo client | /mnt/myshareddir {clientIP}(rw,sync,no_subtree_check) |
| Per abilitare l'accesso a più client | /mnt/myshareddir {clientIP-1}(rw,sync,no_subtree_check) {clientIP-2}(...) {clientIP-3}(...) |
| Per abilitare l'accesso a un'intera sottorete | /mnt/myshareddir {subnetIP}/{subnetMask}(rw,sync,no_subtree_check) |
Ora puoi rendere la directory condivisa disponibile ai client utilizzando il comando exportfs. Dopo aver eseguito questo comando, il kernel NFS deve essere riavviato.
sudo exportfs -a #rende disponibile la condivisione file sudo systemctl restart nfs-kernel-server #riavvio del kernel NFS
Se hai un firewall abilitato, dovrai anche aprire l'accesso al firewall usando il comando sudo ufw allow.
Ora che abbiamo configurato il server NFS, vediamo come condividere una cartella, definita come condivisione NFS, con un computer Linux montandola sulla macchina locale.
Ecco i pacchetti che devi installare per abilitare il montaggio di una condivisione NFS su una macchina Linux locale.
Su Ubuntu e Debian:
sudo apt update sudo apt install nfs-common
Su CentOS e Fedora:
sudo yum install nfs-utils
Puoi montare la cartella NFS in una posizione specifica sulla macchina locale, nota come punto di montaggio, usando i seguenti comandi.
sudo mkdir /var/locally-mounted
sudo mount -t nfs {IP of NFS server}:{folder path on server} /var/locally-mounted
Ad esempio:
sudo mount -t nfs 192.168.20.100:/myshareddir /var/locally-mounted
Il punto di montaggio ora diventa la radice della condivisione file montata e al suo interno dovresti trovare tutte le sottodirectory memorizzate nella condivisione file NFS sul server.
Le directory NFS remote possono essere montate automaticamente all'avvio del sistema locale. Puoi definire questa impostazione nel file /etc/fstab. Per assicurarti che una condivisione file NFS venga montata localmente all'avvio, devi aggiungere una riga a questo file con i dettagli della condivisione file.
Per montare automaticamente le condivisioni NFS su Linux, procedi come segue:
sudo mkdir /var/locally-mounted
Gli ultimi tre parametri indicano le opzioni NFS (che impostiamo su default), il dump del file system e il controllo del file system (di solito non vengono usati quindi li impostiamo a 0).
{IP of NFS server}:{folder path on server} /var/locally-mounted nfs defaults 0 0
mount /var/locally-mounted mount {IP of NFS server}:{folder path on server}
Microsoft Azure, un popolare servizio cloud pubblico, consente di configurare condivisioni file NFS nel cloud e accedervi da macchine nel proprio data center locale o distribuite nel cloud Azure.
Azure NetApp Files è un servizio cloud che offre file storage enterprise dalle performance elevate per le aziende. Supporta le versioni NFS 3.1 e successive.
Azure NetApp Files supporta tutti i tipi di workload di produzione e offre alta disponibilità integrata. Puoi scegliere il livello e le performance del servizio ed eseguire snapshot istantanei dei tuoi dati.
Sfrutta la tecnologia NetApp leader di settore per migrare i workload file Linux e Windows più esigenti su Azure. Azure NetApp Files offre una latenza inferiore al millisecondo e prestazioni equivalenti a quelle che otterresti con un server bare metal locale.
Azure NetApp Files offre tre livelli di performance: Standard, Premium e Ultra. Puoi effettuare il provisioning delle condivisioni file in qualsiasi livello con un solo clic.
Azure NetApp Files si integra con workload aziendali complessi come SAP HANA, high performance computing (HPC), applicazioni line of business (LOB) e virtual desktop infrastructure (VDI). Per questi e molti altri workload enterprise, offre gestione dati integrata e consapevolezza applicativa per backup e snapshot.
Puoi gestire le condivisioni file tramite Azure Portal o CLI, comandi PowerShell o una REST API, proprio come qualsiasi altro servizio Azure. Azure NetApp Files supporta più protocolli di storage in un unico servizio, inclusi NFSv3, SMB3.1.x e NFSv4.1. Questo ti consente di spostare i workload nel cloud con un modello “lift and shift”, senza richiedere modifiche al codice.
Quando si migrano grandi workload enterprise, il trasferimento dati rsync non è sufficiente. Con Azure NetApp Files puoi gestire facilmente il trasferimento e la sincronizzazione dei dati su larga scala.
Il servizio offre crittografia dei dati conforme a FIPS 140-2, controllo degli accessi in base al ruolo (RBAC), autenticazione Active Directory ed elenchi di controllo degli accessi (ACL). Azure NetApp Files è conforme alle principali certificazioni di settore come HIPAA, SOC e GDPR. Queste e altre funzionalità enterprise-grade ti consentono di migrare qualsiasi workload enterprise nel cloud con la massima sicurezza.
Vuoi iniziare? Prova Azure NetApp Files con una demo gratuita