一、服务端配置
1、创建目录
mkdir /app/nas
2、安装nfs、rpc
[root@localhost ~]# yum install -y nfs-utils
[root@localhost ~]# yum install -y rpcbind
3、启动服务
启动rpc并设置rpc为开机启动,忽略图中3行4行
启动nfs服务和nfs安全传输服务
systemctl start nfs-server nfs
再将服务设置为开机启动
配置之前记得关闭防火墙或配置防火墙放行nfs服务
4、配置共享文件目录,写入配置文件
编辑exports文件:vim /etc/exports,写入目录、IP和用户权限
/app/nas 172.18.0.0/24(rw)
/app/protected 172.18.0.0/24(rw)
在172.18.0.0/24 ip范围内皆可访问,(rw)为读写权限,注意权限和ip之间没有空格
用 showmount -e 172.18.0.80查看nfs服务器共享信息
重新启动nfs以更新配置文件
systemctl reload nfs 或 systemctl restart nfs
配置文件目录部分属性说明
参数 | 作用 |
---|---|
ro | 只读 |
rw | 读写 |
二、客户端配置
1、在客户端下载nfs-utils组件
使用showmount查看nfs服务器共享信息
[root@localhost ~]# showmount -e 172.18.0.80
showmount命令的用法;
参数 | 作用 |
---|---|
-e | 显示NFS服务器的共享列表 |
-a | 显示本机挂载的文件资源的情况NFS资源的情况 |
-v | 显示版本号 |
2、在客户端创建目录
mkdir /app/nas
以下两种方法根据需求使用其一
方法一:
直接使用命令挂载:mount 172.18.0.80:/app/nas /app/nas
方法二:
在/etc/fstab文件中添加以下内容,
在该文件中挂载,好处是使系统每次启动时都能自动挂载,
vim /etc/fstab
这里的IP有变化不要在意,就填nfs服务端的IP即可,本文多次修改又懒得补图,所以以下信息IP和上面不一样
192.168.41.128:/app/nas /app/nas nfs defaults 0 0
192.168.41.128:/app/protected /mnt/data nfs defaults 0 1
192.168.41.128是服务端ip、mnt下的data需要自己创建
执行mount -a 使配置文件生效
df -h 查看以下磁盘信息 ,刚刚挂载的共享目录出现了
三、测试文件共享
在服务端共享目录下创建文件
在客户端查看,已出现对应文件,此时共享是成功的
在客户端共享目录创建文件
此时出现了报错,仔细看是目录权限的问题
回到服务端查看目录权限,发现共项目录只有本机用户才有写权限
现在给目录赋权
chmod -R 777 /app/nas
回到客户端继续创建文件,发现文件已经创建成功
至此,完结撒花...
报错小记:
从这里看我把文件挪入到共项目录是没有权限的
但其实没问题,文件已经被挪到nas目录下了
参考网络上的解答是如下原因:
There’s your problem. vfat knows nothing about Linux permissions. It’s not an issue of USB mounts, but of file-systems used.
Oh: and to answer your question - no, it’s not a problem.
vfat对Linux权限一无所知。这不是USB挂载的问题,而是使用的文件系统的问题。
这不是问题。
nfs-utils离线安装
下载nfs-utils离线安装包并解压
安装 rpm -ivh *.rpm --force --nodeps
并启动systemctl start nfs-server
注:--force --nodeps 可以无视依赖安装