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