一、NFS 简介
端口号:TCP、UDP 111 端口
NFS(Network File System)网络文件系统,是一种基于 TCP/IP 传输的网络文件系统协议,最初由 SUM 公司开发。通过使用 NFS 协议,客户机可以像访问本地目录一样访问远程服务器中的共享资源。
NFS 没有用户认证机制,而且数据在网络上明文传输,所以安全性很差,一般只能在局域网中使用。NFS 服务的实现依赖于 RPC(Remote Process Call)远程过程调用机制,以完成远程到本地的映射过程。
在 CentOS 6 系统中,需要安装 nfs-utils、rpcbind 软件包来提供 NFS 共享服务,前者用于 NFS 共享发布和访问,后者用于 RPC 支持。
二、使用 NFS 发布共享资源(服务端)
运行环境 : CentOS release 6.10 (Final)
(1).安装nfs服务器
[root@ywz jsj]# rpm -q nfs rpcbind
package nfs is not installed
rpcbind-0.2.0-16.el6.x86_64
(2)修改主配置文件/etc/exports(此文件初始为空文件)
/webfile 192.168.217.129(rw,sync,no_root_scqush) 192.168.1.*(ro)
FNS共享文件目录 共享到的ip地址01(权限) 共享到的ip地址02(权限)
权限分类:
rw : 读写
ro : 只读
sync : 同步写入
no_root_squash : 当客户机以root身份访问同时赋予本地root权限(默认是root_squash,将作为nfsnobody用户降权个对待)
允许使用通配符 : ?*
(3)启动nfs服务
[root@ywz ~]# service rpcbind restart
停止 rpcbind: [确定]
正在启动 rpcbind: [确定]
[root@ywz ~]# service nfs restart
关闭 NFS 守护进程: [确定]
关闭 NFS mountd: [确定]
关闭 NFS quotas: [确定]
Shutting down RPC idmapd: [确定]
启动 NFS 服务: [确定]
关掉 NFS 配额: [确定]
启动 NFS mountd: [确定]
启动 NFS 守护进程: [确定]
正在启动 RPC idmapd:showmount -e loca [确定]
(4)在客户端中测试NFS共享资源
[root@nfc-client jsj]# rpm -q rpcbind nfs-utils #确保安装过nfs
rpcbind-0.2.0-16.el6.x86_64
nfs-utils-1.2.3-78.el6_10.1.x86_64
[root@nfc-client file]# service nfs restart #重启nfs服务
关闭 NFS 守护进程: [失败]
关闭 NFS mountd: [失败]
关闭 NFS quotas: [失败]
启动 NFS 服务: [确定]
关掉 NFS 配额: [确定]
启动 NFS mountd: [确定]
启动 NFS 守护进程: [确定]
正在启动 RPC idmapd: [确定]
[root@nfc-client jsj]# mkdir /file #创建挂载目录
[root@nfc-client jsj]# mount 192.168.217.129:/webfile /file #挂载nfs服务器共享文件
[root@nfc-client jsj]# df -hT #查看磁盘挂载情况
Filesystem Type Size Used Avail Use% Mounted on
/dev/mapper/VolGroup-lv_root
ext4 18G 6.8G 9.6G 42% /
tmpfs tmpfs 490M 72K 490M 1% /dev/shm
/dev/sda1 ext4 477M 130M 322M 29% /boot
/dev/sdb1 ext4 4.9G 211M 4.4G 5% /sdb1
/dev/sdb3 ext4 4.9G 626M 4.0G 14% /test
.host:/ vmhgfs 54G 54G 0 100% /mnt/hgfs
192.168.217.129:/webfile
nfs 18G 6.2G 11G 38% /file
进入客户端挂载到的目录进行操作对比服务器端的目录相同即搭建成功
客户端:
[root@nfc-client ~]# cd /file/
[root@nfc-client file]# ll
总用量 0
[root@nfc-client file]# touch test.txt
[root@nfc-client file]# ll
总用量 0
-rw-r–r-- 1 nobody nobody 0 4月 27 16:33 test.txt
服务器端:
[root@nfs-server webfile]# cd /webfile/
[root@nfs-server webfile]# ll
总用量 0
-rw-r–r-- 1 root root 0 4月 27 16:33 test.txt
三、如果出现挂载失败可能出出现以下原因
- 防火墙没有关闭 关闭iptables和selinux(setenforce 0 临时关闭selinux)
- 查看客户端挂载的目录是否具备读写权限,添加相应权限即可(chown 命令)
- nfs服务器上的/etc/hosts中设置了客户端机器IP对应域名,去掉即可