一、什么是NFS,有什么作用
NFS (network file system)是一种基于 TCP/IP 传输的网络文件系统协议,最初由 sun 公司开发。通过使用 NFS协议,客户机可以像访问本地目录一样访问远程 NFS 服务器中的共享资源。NFS 也是 NAS存储设备必然支持的一种协议,但是因为没有用户认证机制,而且数据在网络上明文传输,安全性很差,所以一般只能在局域网中使用。
二、配置NFS的准备工作
首先,使用rpm命令检查所需工具是否存在:nfs-utils、rpcbind;前者用于 NFS 共享发布和访问,后者用于 RPC 支持。手动加载 NFS 共享服务时,应该先启动 rpcbind,再启动 nfs。
nfs端口号2049 RPC端口号111
查询是否安装
rpm -q rpcbind
rpm -q nfs-utils
安装nfs和rpc的软件包
yum install -y nfs-utils
yum install -y rpcbind
开启服务
systemctl start nfs
systemctl start rpcbind
开机自启服务
systemctl enable nfs
systemctl enable rpcbind
三、开始在centos7中配置nfs
1、第一步,关防火墙(保持良好习惯)
systemctl stop firewalld
setenforce 0
2、进行软件包的安装,见上一条
3、配置文件配置共享目录
vim /etc/exports
#允许使用挂载点的网段
/nfs_data 192.168.116.0/24(rw,sync,no_root_squash)
#共享出去的目录 (使用此共享目录的主机1.权限 2.同步数据 3.对root用户不进行降权处理)
***请注意 /etc/exports 文件中除了共享目标路径
与后段信息之间外,不能存在空行,不然会报错误码!
4、保存退出,开启服务
systemctl start nfs
systemctl start rpcbind
常用命令:
exportfs -v #查看详细的nfs信息
exportfs -r #重读配置文件
showmount -e #查看本机发布的NFS共享目录
showmount -e +IP #查看IP地址发布的NFS共享目录
mount -t nfs 192.168.100.100:/opt /mnt #将NFS服务端192.168.100.100下的/opt挂载到/mnt下
rpcinfo -p localhost #查看rpc注册的端口信息
常用选项 | 描述 |
rw | 允许读写 |
ro | 只读 |
sync | 同步写入 |
async | 先写入缓冲区,必要时才写入磁盘,速度快,但会丢数据 |
subtree_check | 若输出一个子目录,则nfs服务将检查其父目录权限 |
no_subtree_check | 若输出一个字目录,不检查父目录,提高效率 |
no_root_squash | 客户端以root登录时,赋予其本地root权限 |
oot_squash | 客户端以root登录时,将其映射为匿名用户 |
all_squash | 将所有用户映射为匿名用户 |
创建要分享的目录
mkdir /nfs_data
我们去到另外一台同网段的主机上,使用命令。。查看目标IPnfs的信息
showmount -e 192.168.116.22 #设置nfs的主机IP
Export list for 192.168.116.22:
/nfs_data 192.168.116.0/24
对其进行在本地的挂载
echo 192.168.116.22:/nfs_data /share nfs defaults,_netdev 0 0 >> /etc/fstab
mount -a
挂载成功
df -hT
192.168.116.22:/nfs_data nfs4 19G 8.7G 11G 47% /share
此时,nfs_data 已经挂载在了第二台设备的share下,其中的文件内容可以跨网络进行共享