Ubuntu NFS搭建过程

简介

  NFS:是Network FileSystem。最大的作用就是通过网络,让不同的机器、不同的作业系统、可以分享档案。
通过将共享目录挂接到本地,就可以像操作本地目录一样去操作共享的目录。
在共享中分为服务器和客户端,需要安装的程序也不一样,客户端通过RPC的方式去请求服务端完成相应的操作。
可以想象成为windows的共享目录(权限是在server的/etc/exports中设置的)。

          (1、NFS示意图)

  

          (2、RPC在NFS中的位置)

服务端


  安装nfs-server:
  sudo apt-get install nfs-kernel-server

配置

配置文件一般是在/etc/exports
添加:
/hadoop *(rw,sync,no_subtree_check)
/home/grid *(rw,sync,no_subtree_check)
当然也可以用指定的服务器名称(hostname)或IP代替*
配置完成需要重启nfs-server
重启命令:
sudo /etc/init.d/nfs-kernel-server restart
service nfs-kernel-server restart

     export选项说明:

ro 该主机对该共享目录有只读权限

rw 该主机对该共享目录有读写权限

root_squash 客户机用root用户访问该共享文件夹时,将root用户映射成匿名用户

no_root_squash 客户机用root访问该共享文件夹时,不映射root用户

all_squash 客户机上的任何用户访问该共享目录时都映射成匿名用户anonuid 将客户机上的用户映射成指定的本地用户ID的用户

anongid 将客户机上的用户映射成属于指定的本地用户组ID

sync 资料同步写入到内存与硬盘中

async 资料会先暂存于内存中,而非直接写入硬盘insecure 允许从这台机器过来的非授权访问


客户端

(1)安装nfs-client:
sudo apt-get install nfs-common
(2)查看nfs server 上共享的目录
showmount -e 服务器IP
(3)创建共享挂载点,并执行挂载
sudo mkdir /home/grid/nfshadoop
sudo mount -t nfs serverip:/hadoop /home/grid/nfshadoop
(4)修改/etc/fstab文件,让系统在启动时可以自动挂载nfs server目录
serverip:/hadoop /home/grid/nfshadoop nfs defaults 0 0
(5)新建目录看看远程服务器上是否可以看到
touch tmp


进阶阅读

    图片来源:http://linux.vbird.org/linux_server/0330nfs.php#ps1

鸟哥的私房菜:http://linux.vbird.org/linux_server/0330nfs.php#ps1

http://f.dataguru.cn/forum.php?mod=viewthread&tid=156968
http://blog.csdn.net/ustc_dylan/article/details/8164080
http://tech.seety.org/debian/NFSConf.html#id8
http://www.92csz.com/study/linux/19.htm
https://help.ubuntu.com/lts/serverguide/network-file-system.html

原文地址:https://www.cnblogs.com/wangn/p/3503701.html