GNU/Linux >> Linux Esercitazione >  >> Linux

Cos'è NFS e come installarlo su Linux

Introduzione

Questo è un argomento ricco che contiene molte informazioni che potrebbero interessarti se ti trovi nell'area di archiviazione per essere un amministratore di sistema, di archiviazione o potresti essere un amministratore di backup.

Esistono varianti di tipi di file system e il nostro argomento principale oggi riguarda uno di questi e questo è NFS.

Tipi di archiviazione

I tre principali tipi di archiviazione sono:

– DAS

– SAN

– NAS

NAS (Network Attached Storage)

In modo semplice, NAS è condividere cartelle su cui altri possono archiviare i propri dati anziché i loro dischi locali. È necessario disporre di una connettività tra il server e i client affinché funzioni e, naturalmente, i dischi con spazio libero sul server. NAS è un archivio a livello di file, il che significa che si formattano i dischi sul lato server e lo si condivide con il file system formattato.

Ed ecco che arriva il nostro NFS file system, è uno dei file system in cui puoi formattare il tuo NAS dischi con, e questo è ciò che vogliamo fare ora, per utilizzare il nostro sistema operativo Linux come NFS server che in realtà significa che lo usiamo come NAS server ma con i nostri dischi formattati con NFS sistema di file

NFS (Condivisione file di rete)

È un protocollo che consente di condividere directory e file con altri client Linux su una rete. Le directory condivise vengono in genere create su un file server, che esegue NFS componente server. Gli utenti vi aggiungono file, che vengono poi condivisi con altri utenti che hanno accesso alla cartella.

Un NFS la condivisione file viene montata su una macchina client, rendendola disponibile proprio come le cartelle create dall'utente localmente. NFS è particolarmente utile quando lo spazio su disco è esaurito ed è necessario scambiare dati pubblici tra computer client.

Server NFS lato

Prima installa i pacchetti NFS


# yum install nfs-utils rpcbind

Ora abilita i servizi all'avvio


#  systemctl enable nfs-server
#  systemctl enable rpcbind

Avvia i servizi


#  systemctl start rpcbind
#  systemctl start nfs-server

Creiamo la directory condivisa in cui i client possono archiviare o leggere i propri dati


# mkdir /sharednfs

Imposta le autorizzazioni in modo che qualsiasi utente sulla macchina client possa accedere alla cartella (nel mondo reale devi considerare se la cartella necessita di impostazioni più restrittive).


# sudo chown nobody:nogroup /sharednfs 
# sudo chmod 777 /sharednfs 

Concedi l'accesso ai client NFS

Per concedere l'accesso ai client NFS, dovremo definire un file di esportazione. Il file si trova in genere in /etc/exports

Modifica il file /etc/exports in un editor di testo e aggiungi una delle seguenti opzioni

ro / rw :
a) ro :consente ai client di accedere in sola lettura alla condivisione.
b) rw :consente ai client di accedere in lettura e scrittura alla condivisione.
sincronizzazione/asincrona :
a) sincronizzazione:il server NFS risponde alla richiesta solo dopo che le modifiche apportate dalla richiesta precedente sono state scritte su disco.
b) async :specifica che il server non deve attendere.
wdelay / no_wdelay
a) wdelay :il server NFS ritarda il commit delle richieste di scrittura quando sospetta che un'altra richiesta di scrittura sia imminente.
b) no_wdelay :usa questa opzione per disabilitare il ritardo. L'opzione no_wdelay può essere abilitata solo se l'impostazione predefinita è sync l'opzione è abilitata.
no_all_squash / all_squash :
a) no_all_squash :non cambia la mappatura degli utenti remoti.
b) all_squash :per schiacciare tutti gli utenti remoti incluso root.
root_squash / no_root_squash :
a) root_squash :impedisce agli utenti root connessi in remoto di avere l'accesso come root. Eliminare efficacemente i privilegi di root remoto.
b) no_root_squash :disabilita lo schiacciamento della radice.

Esempio1 (cliente singolo):


# vi /etc/exports
/sharednfs {clientIP}(rw,sync,no_subtree_check)

Esempio2 (clienti multipli):


# vi /etc/exports
/sharednfs {clientIP-1}(rw,sync,no_subtree_check)
           {clientIP-2}(...)
           {clientIP-3}(...)

Esempio3 (sottorete):


# vi /etc/exports
/sharednfs {subnetIP}/{subnetMask}(rw,sync,no_subtree_check)

Rendere la quota NFS disponibile per i clienti

Esporta la condivisione per rendere la directory disponibile ai client


# sudo exportfs -a 

-a : exports entries in /etc/exports but do not synchronize with /var/lib/nfs/etab
-i : ignore entries in /etc/exports and uses command line arguments
-u : un-export one or more directories
-o : specify client options on command line
-r : re-exports entries in /etc/exports and sync /var/lib/nfs/etab with /etc/exports

Quindi riavvia il servizio


# systemctl restart nfs-server

Impostazioni firewall

Per impostazione predefinita, tutte le porte non utilizzate sono disabilitate in Linux, quindi è necessario consentire NFS porte nella configurazione del firewall.

Per farlo, procedi come segue


firewall-cmd --permanent --add-service mountd
firewall-cmd --permanent --add-service rpc-bind
firewall-cmd --permanent --add-service nfs
firewall-cmd --reload

Lato cliente

Dobbiamo installare il pacchetto anche sulla macchina client


yum install -y nfs-utils

Per controllare le cartelle condivise sul server specificato che sono disponibili per il nostro cliente


showmount -e {serverIP}

Mostrerà qualcosa di simile al seguente


Export list for {serverIP}:
/sharednfs {clientIP}

Monta le cartelle condivise

Ora è il momento di montare le cartelle condivise sul nostro lato client

Per prima cosa, dobbiamo creare una directory di punti


mkdir /mnt/sharednfs

È ora di montare


mount {serverIP}:/sharednfs /mnt/sharednfs

Per verificare, prova a creare una directory o un file sul punto montato


touch /mnt/sharednfs/test

Per montare automaticamente le condivisioni NFS

Modifica nel file fstab


vi /etc/fstab

aggiungi questa riga


{serverIP}:/sharednfs /mnt/sharednfs    nfs     nosuid,rw,sync,hard,intr  0  0

Per smontare NFS condivisioni


umount /mnt/sharednfs

Infine, non dimenticare di aggiungere le regole del firewall anche sul lato client


firewall-cmd --permanent --add-service mountd
firewall-cmd --permanent --add-service rpc-bind
firewall-cmd --permanent --add-service nfs
firewall-cmd --reload

Conclusione

NFS è un ottimo protocollo per centralizzare i tuoi dati in un posto o in una cartella condivisa invece di archiviarli localmente su ogni dispositivo. Questo ti dà anche l'opportunità di accedere allo spazio limitato locale sul tuo dispositivo.

Con la connettività e la configurazione adeguate, avrai la soluzione perfetta per archiviare i tuoi dati in un unico posto.


Linux
  1. Come installare e testare Ansible su Linux

  2. Flatpak su Linux:cos'è e come installare app con esso

  3. Come installare e utilizzare Flatpak in Linux

  4. Che cos'è Podman e come installare Podman in Linux

  5. Come installare e utilizzare Traceroute in Linux

Come installare e utilizzare phpMyAdmin in Linux

Come installare e utilizzare il comando fd in Linux

Come installare e utilizzare Nu Shell su Linux

Come installare e configurare un server NFS su un sistema Linux

Come installare e configurare un server NFS Ubuntu Linux

Come installare Java 8 JRE e JDK dal file RPM su Linux