你好,游客 登录 注册 搜索
背景:
阅读新闻

Linux下通过NFS将远程磁盘mount到本地

[日期:2016-04-21] 来源:Linux社区  作者:erbing [字体: ]

最近由于项目原因需要和其他两家公司对接,需要取对方服务器中的图像数据,原本约定是三方都通过http协议来进行通讯,奈何对接方不配合,说文件就在他们服务器放着,怎么取他们不管。所以采取将对方服务器磁盘挂载到本地的方法来获取。

NFS(Network File System)即网络文件系统,是FreeBSD支持的文件系统中的一种,它允许网络中的计算机之间通过TCP/IP网络共享资源。在NFS的应用中,本地NFS的客户端应用可以透明地读写位于远端NFS服务器上的文件,就像访问本地文件一样。本文的两个linux环境分别为CentOSUbuntu,其他版本类似。将Ubuntu下的/home/dhcc/nfs挂载到CentOS下/home/shao/nfs。
 
Ubuntu:
1.安装配置NFS服务器
sudo apt-get install nfs-kernel-server nfs-common
2.配置参数
vim /etc/exports
文件最后加入一行,注意不要加到注释
/home/dhcc/nfs *(rw,sync,no_root_squash)      #该目录为nfs服务根目录,*表示允许所有的网段访问,也可以使用具体的IP,参数详解在最后
3.建立nfs目录(如果配置了已存在的目标可跳过此步)
sudo mkdir /home/dhcc/nfs
4.查看配置是否生效
exportfs -r  #更新配置
showmount -e
如果生效会显示
Export list for Ubuntu:
home/dhcc/nfs
5.重启nfs服务
/etc/init.d/nfs-kernel-server restart
 
CentOS:
1.创建挂载目录(如果已存在请跳过)
mkdir /home/shao/nfs
2.安装nfs-utils
yum install nfs-utils
2.mount挂载
mount -t nfs 10.18.105.116:/home/dhcc/nfs /home/shao/nfs      #Ubuntu的ip为10.18.105.116
3.开机自动挂载
vim /etc/rc.local
添加一行
sudo mount -t nfs 10.18.105.116:/home/dhcc/nfs /home/shao/nfs
 
如果出现mount.nfs:access denied by server while mounting问题,可通过以下几种途径尝试解决:
1.修改需挂载的nfs目录权限
chmod 755 /home/dhcc/nfs
2.如果端口号大于1024,则需要将 insecure 选项加入到配置文件(/etc/exports):
vim /etc/exports
文件最后加入一行
/home/dhcc/nfs *(insecure,rw,sync,no_root_squash) 
3.修改/etc/sysconfig/nfs文件
# Turn off v2 and v3 protocol support
#  RPCNFSDARGS="-N 2 -N 3"
# Turn off v4 protocol support
#RPCNFSDARGS="-N 4"    /*把这句话的#号去掉*/
 NFS分为三个版本,即NFS-2 NFS-3 NFS-4,该配置文件默认关闭了这三个的NFS版本,我们只需要打开NFS-4即可。
 
 
附录:NFS常用参数如下:
ro 只读访问
rw 读写访问sync 所有数据在请求时写入共享
async nfs在写入数据前可以响应请求
secure nfs通过1024以下的安全TCP/IP端口发送
insecure nfs通过1024以上的端口发送
wdelay 如果多个用户要写入nfs目录,则归组写入(默认)
no_wdelay 如果多个用户要写入nfs目录,则立即写入,当使用async时,无需此设置。
hide 在nfs共享目录中不共享其子目录
no_hide 共享nfs目录的子目录
subtree_check 如果共享/usr/bin之类的子目录时,强制nfs检查父目录的权限(默认)
no_subtree_check 和上面相对,不检查父目录权限
all_squash 共享文件的UID和GID映射匿名用户anonymous,适合公用目录。
no_all_squash 保留共享文件的UID和GID(默认)
root_squash root用户的所有请求映射成如anonymous用户一样的权限(默认)
no_root_squas root用户具有根目录的完全管理访问权限
anonuid=xxx 指定nfs服务器/etc/passwd文件中匿名用户的UID
anongid=xxx 指定nfs服务器/etc/passwd文件中匿名用户的GID

--------------------------------------分割线 --------------------------------------

Ubuntu 12.04安装NFS server http://www.linuxidc.com/Linux/2012-09/70728.htm

NFS服务器安装配置实现Ubuntu 12.04与ARM文件共享 http://www.linuxidc.com/Linux/2012-10/73159.htm

Ubuntu搭建nfs服务器 http://www.linuxidc.com/Linux/2012-10/71930.htm

文件服务器NFS配置详解 http://www.linuxidc.com/Linux/2013-06/86542.htm

Ubuntu下搭建NFS网络文件系统服务器 http://www.linuxidc.com/Linux/2013-07/87367.htm

Heartbeat_ldirector+LB+NFS实现HA及LB、文件共享 http://www.linuxidc.com/Linux/2013-06/85292.htm

CentOS 5.5配置NFS服务器教程 http://www.linuxidc.com/Linux/2013-03/81737.htm

Ubuntu 12.10下NFS的安装使用 http://www.linuxidc.com/Linux/2013-03/80478.htm

--------------------------------------分割线 --------------------------------------

更多Ubuntu相关信息见Ubuntu 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=2

本文永久更新链接地址http://www.linuxidc.com/Linux/2016-04/130504.htm

linux
本文评论   查看全部评论 (0)
表情: 表情 姓名: 字数

       

评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款