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.