前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >CentOS6 上搭建 NFS

CentOS6 上搭建 NFS

作者头像
保持热爱奔赴山海
发布2019-09-18 10:26:29
1K0
发布2019-09-18 10:26:29
举报
文章被收录于专栏:饮水机管理员饮水机管理员

CentOS6.6上搭建NFS服务

原理篇:

NFS通过RPC(远程过程调用)服务来连接。

启动NFS SERVER前,先启动RPC服务(portmap服务),否则NFS SERVER无法向RPC服务注册。

wKiom1YEEXji2N90AAEvwb_pTfo542.jpg
wKiom1YEEXji2N90AAEvwb_pTfo542.jpg

更详细的介绍请参考我在网上看到的一篇博客:http://www.cnblogs.com/brucewoo/archive/2012/05/07/2489248.html

实操篇:

CentOS6上的NFS服务依赖rpcbind、nfs-utils这两个软件包。

Server:     192.168.2.10/24

Client:   192.168.2.11/24

Sever端配置如下:

# 安装rpcbind、nfs-utils软件包

yum installrpcbind nfs-utils -y

# 创建挂载目录

mkdir/shares

# 编辑配置文件

vi /etc/exports写入如下内容:

/shares    192.168.2.0/24(ro,no_root_squash)

说明:配置文件的格式为:需要共享的目录 客户端地址(权限设置)

1.目录必须为绝对路径

2.客户端地址可以是域名、网段、IP地址;支持在一个条目下写多个客户端地址,分别配置不同的权限

3.客户端地址和后面的括号之间没有空格

4.权限设置

rw              可读写

ro              只读

sync          文件同时写入硬盘和内存

async         文件暂存内存,不立刻写入磁盘

no_root_squash        NFS客户端连接服务端时如果使用的是root的话,那么对服务端分享的目录来说,也拥有root权限。显然开启这项是不安全的。

root_squash      NFS客户端连接服务端时如果使用的是root的话,那么对服务端分享的目录来说,拥有匿名用户权限,通常他将使用nobody或nfsnobody身份;

all_squash         不论NFS客户端连接服务端时使用什么用户,对服务端分享的目录来说都是拥有匿名用户nobody权限;

no_all_squash  不论NFS客户端连接服务端时使用什么用户,对服务端分享的目录来说都是拥有root权限;

anonuid             指定NFS服务器/etc/passwd文件中匿名用户的UID 

anongid              指定NFS服务器/etc/passwd文件中匿名用户的GID

例:

/usr/local/test/192.168.1.226(rw,no_root_squash,no_all_squash,sync)

/nfsfile  192.168.59.0/24(rw,sync,all_squash,anonuid=2000,anongid=2000)   # 生产环境建议这样写

#注意:要想让客户端也能写入数据,配置时候需要加no_all_squash权限

# 启动NFS服务

servicerpcbind start        # 注意这两个服务的启动的顺序。必须先启动rpcbind服务。

servicenfs start

wKioL1YEEceitiVLAADPy_dp5B0879.jpg
wKioL1YEEceitiVLAADPy_dp5B0879.jpg

Client端配置如下:

# 安装rpcbind、nfs-util,,s软件包

yum installrpcbind nfs-utils -y

# 查看能否访问nfs服务

showmount-e 192.168.2.10

wKioL1YEEcfj9AO-AABT6_RtfEs489.jpg
wKioL1YEEcfj9AO-AABT6_RtfEs489.jpg

# 创建目录并挂载NFS

mkdir/files

mount -tnfs 192.168.2.10:/home /files

ls -l /files或者mount命令查看是否挂载成功

wKiom1YEEcTDjekFAABrvNATg-o218.jpg
wKiom1YEEcTDjekFAABrvNATg-o218.jpg

# 配置开机自动挂载

编辑/etc/fstab写入挂载信息即可。但是不建议这样设置,因为如果NFS服务器连接不上会导致客户端开机时候直接卡住。

# 附:配置过程中会涉及到的问题说明:

1.修改了/etc/exports,并不需要重启NFS服务,只要用exportfs重新扫描一次/etc/exports,并且重新加载即可。

exportfs-a        全部挂载或卸载/etc/exports的设定

exportfs-r        重新挂载/etc/exports里面的设定,也同步更新/etc/exports和/var/lib/nfs/xtab里面的内容

exportfs-u        卸载某一目录

-v 参数表示可视化显示

常用exportfs -rv     # 重新export一次

         exportfs -au     # 全部卸载

2. 可以给多个客户端不同的授权,如

/home192.168.2.11(rw,sync,no_root_squash,no_all_squash)

/home192.168.2.7(ro,sync)

服务端端执行exportfs -rv 即可生效。【注:客户端也需要重新挂载才能看到起作用】

3.文件系统无法卸载时候,用fuser-m -v /PATH/TO/FILES查看哪个用户在访问。

4.客户端在挂载的时候遇到的一个问题如下,可能是网络不太稳定,NFS默认是用UDP协议,换成TCP协议即可:

mount -tnfs 192.168.2.10:/home /files  -oproto=tcp -o nolock

5.如果有客户端通过RPC连接在服务器上,那么主机想要关机是不可能的。因此如果确实需要关机,请先停止nfs-utils、rpcbind服务。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2015-09-24 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档