NFS

From Alessandro's Wiki
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

Nfs, Network File System serve per condividere dati tra due o + computer in rete, con linux naturalmente. E`molto potente ma ha degli svantaggi, pochi in realtà.

Export

  • Nel mio caso ho bisogno di accedere a risorse del computer della camera da quello della cucina:
  • Esporterò le seguenti directory:
  1. /export
  • Modifico il file /etc/exports per dire a NFS di espoortare queste directory a chi e come:
vi /etc/exports
  • Aggiungo le seguenti linee:
/export/                192.168.1.251(rw,async,no_root_squash)
  • la formattazione è Directory | ip/domain/hostname(opzione,opzione,...)
  • rw dal client sarà possibile scrivere nella directory
  • sync tutte le operazioni di scrittura vengono eseguite in modo sincrono
  • no_root_squash vuoldire che se dal client monto la partizione e cerco di modificare qualche file come root, il root del server viene mappato con il root del client
  • Ricarico file di configurazione:
/etc/init.d/nfs reload
  • reload the exports table
exportfs -ra
  • Ora dal client sarà possibile montare la partizione in questo modo:
mkdir /mnt/remote_export
mount -t nfs -o rw,users elwood:/export /mnt/remote_export
  • ls -la /mnt/remote_export
  • check open ports:
 rpcinfo -p | awk -F " " '{print $3 ", " $4 ", " $5}' | sort | uniq

Configuration

  • In Gentoo
    • File di configurazione generale
/etc/conf.d/nfs
  • Directory attualmente esportate:
elwood ~ # exportfs
/export         zombie

From the Client

  • show remote mounts
showmount -e <hostname>

ubuntu

  • to allow the system to mount a NFS share, you need to install:
apt-get install nfs-common

Benchmarks

NFSometer

  • deps
apt-get install python-numpy python-setuptools python-matplotlib python-mako
yum  install numpy python-setuptools python-matplotlib python-mako -y       
# ./nfsometer.py workloads
> Using results directory: /root/nfsometer_results
Available workloads:
  cthon
  dd_100m_100k
  dd_100m_1k
  gitclone
  kernel
  python
Unavailable workloads:
  bonnie++             - binary 'bonnie++' not found,
  custom               - env variable 'NFSOMETER_CMD' not defined,
  filebench_fileserver - binary 'filebench' not found, file '/usr/share/filebench/workloads/fileserver.f' not found,
  filebench_networkfs  - binary 'filebench' not found, file '/usr/share/filebench/workloads/networkfs.f' not found,
  filebench_varmail    - binary 'filebench' not found, file '/usr/share/filebench/workloads/varmail.f' not found,
  filebench_webserver  - binary 'filebench' not found, file '/usr/share/filebench/workloads/webserver.f' not found,
  iozone               - binary 'iozone' not found,
  iozone_direct        - binary 'iozone' not found,