你好
我是你们的雨嘉叔

11-Linux中NFS的安装与配置

一、什么是NFS
NFS(Network File System)即网络文件系统,是FreeBSD支持的文件系统中的一种,它允许网络中的计算机之间通过TCP/IP网络共享资源。在NFS的应用中,本地NFS的客户端应用可以透明地读写位于远端NFS服务器上的文件,就像访问本地文件一样。

二、实验环境
①NFSServer(192.168.80.100):CentOS 6.9 64位、关闭iptables、禁用SELinux。
②NFSClient(192.168.80.110):CentOS 6.9 64位、关闭iptables、禁用SELinux。
③WinServer(192.168.80.120):建议WinServer 2012以后的版本(包括WinServer 2012)

三、安装
1、安装NFS服务(有的版本的系统已经安装好)

yum install -y nfs-utils rpcbind

2、设置NFS开机启动

chkconfig nfs on
chkconfig rpcbind on

3、启动NFS服务

service rpcbind start
service nfs start

4、检查相应端口和进程

ps -eaf | grep nfs
ps -eaf | grep mount
ps -eaf | grep rpcbind
netstat -anp | grep :111

四、配置NFS发布文件夹
1、NFS配置文件简单介绍

/etc/exports
# 是NFS Server最基本的配置文件之一,文件中列出了共享的文件系统和允许访问这些文件系统的主机
/usr/sbin/exportfs
# NFS服务的管理命令
/var/lib/nfs/etab
# 记录NFS分享出来的目录完整的权限设置
/var/lib/nfs/xtab
# 记录曾经登录过的客户端信息

2、设置NFS服务器共享目录以及访问权限
①创建要发布的目录,设置权限和创建测试文件。

#创建目录
mkdir /data
mkdir /picture
#修改权限
chmod o=wrx /data
chmod o=wrx /picture/
#创建测试文件
ifconfig > /data/ifconfig.txt
mount > /picture/mount.txt

②编辑配置文件发布两个目录,设置不同的访问权限。

vi /etc/exports 
在文件中写入
/data 192.168.80.0/24(rw) #发布目录,允许那些网段访问,权限(读写)
/picture 192.168.80.0/24(ro)#发布目录,允许那些网段访问,权限(只读)

③重启服务

service nfs restart

④查看导出目录的设置

cat /var/lib/nfs/etab

[etab]

/picture        192.168.80.0/24(ro,sync,wdelay,hide,nocrossmnt,secure,root_squash,no_all_squash,no_subtree_check,secure_locks,acl,anonuid=65534,anongid=65534,sec=sys,ro,root_squash,no_all_squash)
/data   192.168.80.0/24(rw,sync,wdelay,hide,nocrossmnt,secure,root_squash,no_all_squash,no_subtree_check,secure_locks,acl,anonuid=65534,anongid=65534,sec=sys,rw,root_squash,no_all_squash)

⑤如果配置文件更改,可以使用以下命令让其重新生效

exportfs -r -v

五、使用LinuxNFS客户端连接NFS服务器共享目录
1、使用NFSClient,查看发布的目录

showmount -e 192.168.80.100
Export list for 192.168.80.100:
/picture 192.168.80.0/24
/data    192.168.80.0/24

2、创建挂载目录

mkdir /mnt/data
mkdir /mnt/picture

3、挂载到客户端

#mount -t nfs 服务器IP:客户端目录:挂载到哪里
mount -t nfs 192.168.80.100:/picture /mnt/picture/
mount -t nfs 192.168.80.100:/data /mnt/data/

4、验证是否挂载成功

ls /mnt/data/
得到以下结果
ifconfig.txt
ls /mnt/picture/
得到以下结果
mount.txt

5、写入创建测试

ifconfig > /mnt/data/client.txt
ls /mnt/data/
得出以下结果
client.txt  ifconfig.txt
#可以创建,因为权限是读写
ifconfig > /mnt/picture/client.txt
得出以下结果
-bash: /mnt/picture/client.txt: 只读文件系统
#不可以创建,因为权限是只读

6、启动自动挂载nfs文件系统

vi /etc/fstab
#在文件的最后添加一行
192.168.80.100:/data   /mnt/data                nfs     defaults        0 0
#重启,重启后可用 mount 命令来验证是否挂载成功,若在最后一行出现
192.168.80.100:/data on /mnt/data type nfs (rw,vers=4,addr=192.168.80.100,clientaddr=192.168.80.110)
#则为挂载成功

六、使用WindowsServer来连接NFS服务器
1、安装NFS客户端
服务器管理器→添加角色和功能→一直下一步到“功能”→选择“NFS客户端”→点击“安装”
2、确保与NFS服务器连通

ping 192.168.80.100

3、在CMD中挂载NFS文件夹

mount 192.168.80.100:/data Z:
#mount IP地址:挂载目录 挂在到Windows的盘符
#还可以这样连接
mount \\192.168.80.100\picture Y:

PS:在我的电脑中检查有这两个盘符并能正确访问则证明配置成功

七、设置NFS发布文件夹的权限
1、Exports配置文件格式与权限的分析请参见“12-关于NFS中Exports配置文件格式与权限的分析(转载自网络)
2、修改配置文件(注意文件网段的顺序,如果有特殊需求,请把特殊需求的网段放到前面)

vi /etc/exports

[exports]

#根据下一篇文章,在文件中修改WinServer的IP地址及权限等相关信息
/picture 192.168.80.120(rw) 192.168.80.0/24(ro)

3、重启服务
4、在WindowsServer2012测试是否能够上传文件

八、设置Windows客户端使用root的身份连接NFS服务器
更改注册表,将连接的UID和GID设置为0,就以NFS服务器的root用户连接就能写入。
在挂载NFS的时候将UID和GID改成0即可:打开注册表找到:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\ClientForNFS\CurrentVersion\Default,给其中增加两项:AnonymousUid,AnonymousGid即可


欢迎关注
新浪微博:https://weibo.com/yougazhang0506
微信公众平台:张雨嘉

我的网站:https://www.zhangyujia.cn
51CTO博客:http://blog.51cto.com/11099293
CSDN博客:http://blog.csdn.net/u013260195

赞(0)
未经允许不得转载:嘉叔的博客 » 11-Linux中NFS的安装与配置
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址