GNU/Linux >> Linux Esercitazione >  >> OpenSuse

Configurazione di un server e client NFS su OpenSUSE 12.2

Questa guida spiega come configurare un server NFS e un client NFS su OpenSUSE 12.2. NFS sta per File System di rete; tramite NFS, un client può accedere (leggere, scrivere) una condivisione remota su un server NFS come se fosse sul disco rigido locale.

1 Nota preliminare

Sto usando due sistemi OpenSUSE qui:

  • Server NFS:server.example.com, indirizzo IP:192.168.0.100
  • Client NFS:client.example.com, indirizzo IP:192.168.0.101

2 Installazione di NFS

server:

Sul server NFS eseguiamo:

zypper install nfs-kernel-server

Quindi creiamo i collegamenti di avvio del sistema per il server NFS e lo avviamo:

systemctl enable rpcbind.service
systemctl start rpcbind.service
systemctl enable nfsserver.service
systemctl start nfsserver.service

cliente:

Sul client possiamo installare NFS come segue:

zypper install nfs-client

3 Esportazione di directory sul server

server:

Vorrei rendere accessibili al client le directory /home e /var/nfs; quindi dobbiamo "esportarli" sul server.

Quando un client accede a una condivisione NFS, ciò accade normalmente come l'utente nessuno. Di solito la directory /home non è di proprietà di nessuno (e non consiglio di cambiarne la proprietà a nessuno!), e perché vogliamo leggere e scrivere su /home, diciamo a NFS che gli accessi dovrebbero essere effettuati come root (se la nostra condivisione /home fosse di sola lettura, questo non sarebbe necessario). La directory /var/nfs non esiste, quindi possiamo crearla e cambiarne la proprietà in nessuno e nessun gruppo:

mkdir /var/nfs
chown nobody:nogroup /var/nfs

Ora dobbiamo modificare /etc/exports dove "esportiamo" le nostre condivisioni NFS. Specifichiamo /home e /var/nfs come condivisioni NFS e diciamo a NFS di accedere a /home come root (per saperne di più su /etc/exports, il suo formato e le opzioni disponibili, dai un'occhiata a

man 5 exports

)

vi /etc/exports
# See the exports(5) manpage for a description of the syntax of this file.
# This file contains a list of all directories that are to be exported to
# other computers via NFS (Network File System).
# This file used by rpc.nfsd and rpc.mountd. See their manpages for details
# on how make changes in this file effective.

/home           192.168.0.101(rw,sync,no_root_squash,no_subtree_check)
/var/nfs        192.168.0.101(rw,sync,no_subtree_check)

(L'opzione no_root_squash fa in modo che /home sarà accessibile come root.)

Ogni volta che modifichiamo /etc/exports, dobbiamo eseguire

exportfs -a

successivamente per rendere effettive le modifiche.

4 Montaggio delle condivisioni NFS sul client

cliente:

Per prima cosa creiamo le directory in cui vogliamo montare le condivisioni NFS, ad esempio:

mkdir -p /mnt/nfs/home
mkdir -p /mnt/nfs/var/nfs

Successivamente, possiamo montarli come segue:

mount 192.168.0.100:/home /mnt/nfs/home
mount 192.168.0.100:/var/nfs /mnt/nfs/var/nfs

Ora dovresti vedere le due condivisioni NFS negli output di

df -h
client:~ # df -h
Filesystem              Size  Used Avail Use% Mounted on
rootfs                   12G  3.4G  7.5G  31% /
devtmpfs                997M  4.0K  997M   1% /dev
tmpfs                  1004M   96K 1004M   1% /dev/shm
tmpfs                  1004M  580K 1003M   1% /run
/dev/sda2                12G  3.4G  7.5G  31% /
tmpfs                  1004M     0 1004M   0% /sys/fs/cgroup
tmpfs                  1004M  580K 1003M   1% /var/lock
tmpfs                  1004M  580K 1003M   1% /var/run
tmpfs                  1004M     0 1004M   0% /media
/dev/sda3                17G  387M   16G   3% /home
192.168.0.100:/home/     12G  1.5G  9.6G  13% /mnt/nfs/home
192.168.0.100:/var/nfs   12G  1.5G  9.6G  13% /mnt/nfs/var/nfs
client:~ #

e

mount
client:~ # mount
devtmpfs on /dev type devtmpfs (rw,relatime,size=1020060k,nr_inodes=255015,mode=755)
tmpfs on /dev/shm type tmpfs (rw,relatime)
tmpfs on /run type tmpfs (rw,nosuid,nodev,relatime,mode=755)
devpts on /dev/pts type devpts (rw,relatime,gid=5,mode=620,ptmxmode=000)
/dev/sda2 on / type ext4 (rw,relatime,data=ordered)
proc on /proc type proc (rw,relatime)
sysfs on /sys type sysfs (rw,relatime)
tmpfs on /sys/fs/cgroup type tmpfs (rw,nosuid,nodev,noexec,relatime,mode=755)
cgroup on /sys/fs/cgroup/systemd type cgroup (rw,nosuid,nodev,noexec,relatime,release_agent=/lib/systemd/systemd-cgroups-agent,name=systemd)
cgroup on /sys/fs/cgroup/cpuset type cgroup (rw,nosuid,nodev,noexec,relatime,cpuset)
cgroup on /sys/fs/cgroup/cpu,cpuacct type cgroup (rw,nosuid,nodev,noexec,relatime,cpuacct,cpu)
cgroup on /sys/fs/cgroup/memory type cgroup (rw,nosuid,nodev,noexec,relatime,memory)
cgroup on /sys/fs/cgroup/devices type cgroup (rw,nosuid,nodev,noexec,relatime,devices)
cgroup on /sys/fs/cgroup/freezer type cgroup (rw,nosuid,nodev,noexec,relatime,freezer)
cgroup on /sys/fs/cgroup/net_cls type cgroup (rw,nosuid,nodev,noexec,relatime,net_cls)
cgroup on /sys/fs/cgroup/blkio type cgroup (rw,nosuid,nodev,noexec,relatime,blkio)
cgroup on /sys/fs/cgroup/perf_event type cgroup (rw,nosuid,nodev,noexec,relatime,perf_event)
systemd-1 on /proc/sys/fs/binfmt_misc type autofs (rw,relatime,fd=24,pgrp=1,timeout=300,minproto=5,maxproto=5,direct)
tmpfs on /var/lock type tmpfs (rw,nosuid,nodev,relatime,mode=755)
securityfs on /sys/kernel/security type securityfs (rw,relatime)
tmpfs on /var/run type tmpfs (rw,nosuid,nodev,relatime,mode=755)
mqueue on /dev/mqueue type mqueue (rw,relatime)
debugfs on /sys/kernel/debug type debugfs (rw,relatime)
hugetlbfs on /dev/hugepages type hugetlbfs (rw,relatime)
tmpfs on /media type tmpfs (rw,nosuid,nodev,noexec,relatime,mode=755)
/dev/sda3 on /home type ext4 (rw,relatime,data=ordered)
none on /proc/fs/vmblock/mountPoint type vmblock (rw,relatime)
gvfs-fuse-daemon on /run/user/falko/gvfs type fuse.gvfs-fuse-daemon (rw,nosuid,nodev,relatime,user_id=1000,group_id=100)
192.168.0.100:/home/ on /mnt/nfs/home type nfs4 (rw,relatime,vers=4.0,rsize=131072,wsize=131072,namlen=255,hard,proto=tcp,port=0,timeo=600,retrans=2,sec=sys,clientaddr=192.168.0.15,local_lock=none,addr=192.168.0.100)
192.168.0.100:/var/nfs on /mnt/nfs/var/nfs type nfs4 (rw,relatime,vers=4.0,rsize=131072,wsize=131072,namlen=255,hard,proto=tcp,port=0,timeo=600,retrans=2,sec=sys,clientaddr=192.168.0.15,local_lock=none,addr=192.168.0.100)
client:~ #

5 Test

Sul client, ora puoi provare a creare file di test sulle condivisioni NFS:

cliente:

touch /mnt/nfs/home/test.txt
touch /mnt/nfs/var/nfs/test.txt

Ora vai al server e controlla se riesci a vedere entrambi i file di prova:

server:

ls -l /home/
server:~ # ls -l /home/
total 4
drwxr-xr-x 6 administrator users 4096 Jul 19 17:26 administrator
-rw-r--r-- 1 root          root     0 Sep 14 20:47 test.txt
server:~ #
ls -l /var/nfs
server:~ # ls -l /var/nfs
total 0
-rw-r--r-- 1 nobody nogroup 0 Sep 14 20:47 test.txt
server:~ #

(Si prega di notare le diverse proprietà dei file di test:la condivisione NFS /home ottiene l'accesso come root, quindi /home/test.txt è di proprietà di root; la condivisione /var/nfs ottiene l'accesso come nessuno, quindi /var/nfs/ test.txt non è di proprietà di nessuno.)

6 Montaggio di condivisioni NFS all'avvio

Invece di montare manualmente le condivisioni NFS sul client, puoi modificare /etc/fstab in modo che le condivisioni NFS vengano montate automaticamente all'avvio del client.

cliente:

Apri /etc/fstab e aggiungi le seguenti righe:

vi /etc/fstab
[...]
192.168.0.100:/home  /mnt/nfs/home   nfs      rw,sync,hard,intr  0     0
192.168.0.100:/var/nfs  /mnt/nfs/var/nfs   nfs      rw,sync,hard,intr  0     0

Invece di rw,sync,hard,intr puoi usare diverse opzioni di montaggio. Per saperne di più sulle opzioni disponibili, dai un'occhiata a

man nfs

Per verificare se il tuo /etc/fstab modificato funziona, riavvia il client:

reboot

Dopo il riavvio, dovresti trovare le due condivisioni NFS negli output di

df -h
and
mount

  • Linux NFS:http://nfs.sourceforge.net/
  • OpenSUSE:http://www.opensuse.org/

OpenSuse
  1. Configurazione di un server e client NFS su CentOS 7.2

  2. Installazione di server e client NFS su CentOS 7

  3. Come installare client e server NFS su Ubuntu 20.04

  4. Configurazione di un server e client NFS su Debian Wheezy

  5. Apprendimento di NFS attraverso la configurazione di server e client

Come installare Server e Client NFS su Ubuntu

Come configurare client e server NFS su Linux

Come configurare Server e Client NFS su Debian 10

Installa NFS Server e Client su Ubuntu

Client e server NIS

Come configurare server e client NFS su CentOS 8