什么是nfs


  nfs网络文件系统(Network File System),作用就是把网络上的一台电脑当成一个磁盘文件系统使用,譬如,电脑A打开了nfs功能,那么对于同一网络上的电脑B来说,电脑A就是一块硬盘,电脑B访问电脑A的过程就是电脑A把它们之间的连线转换为磁盘的连线,当电脑B读写电脑A的文件时,电脑A自动完成中间和系统、文件系统、硬件驱动的所有过程,直接向电脑B提供文件服务。
  说白了就是类似于Windows共享文件夹的一种文件服务器功能,只是实现的方式有所不同,网上邻居是直接把目录共享出来,而NFS是依靠现有数据建立新的文件系统。
  


为什么要使用nfs


  那为什么要使用nfs呢?

  • 一方面,对于从事嵌入式开发的人员来说,对nfs并不陌生而且nfs给他们带来了多好处,从网络文件系统启动开发板减少了开销保护了开发板,而且将服务器里的一个目录挂载到开发板的目录下面,通过这样可以起到在开发板上实时调试和共享文件
  • 另一方面,在公司开发项目的时候,员工往往是不能获得服务器的完全使用权限的,一般情况下是为各员工分配出其所能操作的单个目录,这样的话,使用 nfs 管理就会非常的方便,而且对下面的员工而言感觉上来说也就像是在操作整个服务器一样。

安装、配置、启动nfs服务


1)安装nfs服务,通过在终端执行以下命令安装nfs服务,安装完成后会自动运行。

sudo apt-get install nfs-kernel-server portmap


2)它的配置文件为/etc/exports,打开该文件。

sudo vi /etc/exports


3)在下面增加一下内容,以后将通过网络文件系统访问/home/用户名/nfs目录

/home/用户名/nfs *(rw,sync,no_root_squash)


4)在用户目录下创建nfs目录

mkdir /home/用户名/nfs


5)重启服务器,重新加载配置文件

sudo /etc/init.d/nfs-kernel-server restart


到此为止,安装配置nfs服务已经完成,以后可以直接使用。


测试nfs服务


1)在/home/用户名/nfs目录下创建测试文件hello

cd /home/用户名/nfs

touch hello


2)测试服务器,把服务器共享目录nfs挂在到/mnt节点

sudo mount -t nfs -o nolock -o tcp IP(此处填写服务器ip):/home/用户名/nfs /mnt


3)进入/mnt目录可以看到hello文件,表示构建成功


4)卸载网络共享目录

sudo umount /mnt


注)一般在用于嵌入式开发的时候挂载nfs时使用一下命令会更稳定

mount -t nfs -o nolock,rsize=4096,wsize=4096 192.168.22.101(服务器ip):/work/nfs_root/first_fs /mnt



以上就是所有关于nfs服务的介绍、安装、配置、和使用、挂在之后,进入挂在的文件夹就可以按照正常的操作电脑一样使用该文件夹了。