linux配置NFS网络共享文件夹目录

linux | 2020-03-05 15:26:22

网络共享磁盘大家都用过,在windows上叫共享文件夹,linux叫共享目录,linux上配置网络共享目录也有很多中方式samba和nfs,各自有各自的优点,nfs是比较常用的。

1.安装NFS 服务

在需要共享文件夹所在的主机上安装nfs server

1.1查看系统是否已安装NFS

[root@bogon ~]# rpm -qa | grep nfs
[root@bogon ~]# rpm -qa | grep rpcbind

1.2安装NFS

[root@bogon ~]# yum -y install nfs-utils rpcbind

1.3设置开机启动nfs相关服务

[root@nfs_server ~]# systemctl enable rpcbind
[root@nfs_server ~]# systemctl enable nfs-server
Created symlink from /etc/systemd/system/multi-user.target.wants/nfs-server.service to /usr/lib/systemd/system/nfs-server.service.
[root@nfs_server ~]# systemctl enable nfs-lock
[root@nfs_server ~]# systemctl enable nfs-idmap

1.4启动nfs service

[root@nfs_server ~]# systemctl start rpcbind
[root@nfs_server ~]# systemctl start nfs-server
[root@nfs_server ~]# systemctl start nfs-lock
[root@nfs_server ~]# systemctl start nfs-idmap

1.5创建需要共享的目录

[root@nfs_server ~]# mkdir -p /application/share                    -p 级联创建
[root@nfs_server ~]# chmod -R 777 /application/share       更改share文件夹及其子文件夹权限为777

1.6配置需要共享的目录

配置需要共享的目录到 /etc/exports下,xxx.xxx.xxx.xxx为需要共享的对象ip地址(要共享给谁)。

vim /etc/exports

修改内容如下

/home/test 192.168.22.*(rw,sync,no_root_squash)
/home/share 192.168.10.10(rw,sync,no_root_squash)
/data/share 10.22.77.0/24(rw,sync,insecure,no_subtree_check,no_root_squash)

上面案例中我配置了将 /data/share 文件目录设置为允许 IP 为该 10.222.77.0/24 区间的客户端挂载,当然,如果客户端 IP 不在该区间也想要挂载的话,可以设置 IP 区间更大或者设置为 * 即允许所有客户端挂载,
例如:/home *(ro,sync,insecure,no_root_squash) 设置 /home 目录允许所有客户端只读挂载。

exportfs -a          使exports的修改生效

1.7参数列表

参数

说明

ro

只读访问

rw

读写访问

sync

所有数据在请求时写入共享

async

nfs 在写入数据前可以响应请求

secure

nfs 通过 1024 以下的安全 TCP/IP 端口发送

insecure

nfs 通过 1024 以上的端口发送

wdelay

如果多个用户要写入 nfs 目录,则归组写入(默认)

no_wdelay

如果多个用户要写入 nfs 目录,则立即写入,当使用 async 时,无需此设置

hide

在 nfs 共享目录中不共享其子目录

no_hide

共享 nfs 目录的子目录

subtree_check

如果共享 /usr/bin 之类的子目录时,强制 nfs 检查父目录的权限(默认)

no_subtree_check

不检查父目录权限

all_squash

共享文件的 UID 和 GID 映射匿名用户 anonymous,适合公用目录

no_all_squash

保留共享文件的 UID 和 GID(默认)

root_squash

root 用户的所有请求映射成如 anonymous 用户一样的权限(默认)

no_root_squash

root 用户具有根目录的完全管理访问权限

anonuid=xxx

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

anongid=xxx

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

 

1.8修改防火墙配置

如果网络不通可以修改一下

[root@nfs_server ~]# firewall-cmd --add-service=nfs --permanent --zone=public
success
[root@nfs_server ~]# firewall-cmd --add-service=mountd --permanent --zone=public
success
[root@nfs_server ~]# firewall-cmd --add-service=rpc-bind --permanent --zone=public
success
[root@nfs_server ~]# firewall-cmd --reload   重新载入配置,使其生效
success

 

2.安装NFS挂载客户端

2.1安装nsf客户端 不需要安装服务端

[root@nfs_client ~]# yum -y install nfs-utils

2.2 检查共享目录是否设置正确

xxx.xxx.xxx.xxx 为共享服务器地址

[root@nfs_client ~]# showmount -e 192.168.0.240
Export list for 192.168.0.240:
/application/share 192.168.0.*

2.3 挂载远程服务器NFS分区到本地目录

创建本地文件夹 :-p 确保目录名称存在,如果目录不存在的就新创建一个

[root@nfs_client ~]# mkdir -p /application/share

挂载共享目录

[root@nfs_client ~]# mount -t nfs 192.168.0.240:/application/share /application/share

然后 就可以测试 读写共享目录是否正常了

2.3取消挂载

最后附上取消挂载的命令

方式一

umount 192.168.0.240:/application/share

方式二

umount  /application/share

 

登录后即可回复 登录 | 注册
    
关注编程学问公众号