两台服务器centos7.x 直接文件共享,文件挂载 nfs

Linux 收藏 0 972
苏东旭 VIP 2020-06-18 09:32:46

需求:在IP为240服务器,共享访问235服务器中的文件(只读访问)


环境

服务器 centos 7.x

服务器240 (访问端): 172.16.0.240

服务器235 (被访问端,被共享端): 172.16.0.235


风.foxwho


安装必须的程序

两台服务器必须要安装


yum install nfs-utils -y

1

服务器235 (被访问端,被共享端)

配置共享属性


vim /etc/exports 

1

加入或修改内容


/www/wwwroot/www.test.cn 172.16.0.240(ro,sync,no_root_squash,no_subtree_check)

1

上面意思是:

/www/wwwroot/www.test.cn 表示共享目录

172.16.0.240 可以被哪些服务器访问

o,sync,no_root_squash,no_subtree_check 映射选项参数


客户端常用的指定方式

指定ip地址的主机:172.16.0.240

指定子网中的所有主机:192.168.0.0/24 192.168.0.0/255.255.255.0

指定域名的主机:david.bsmart.cn

指定域中的所有主机:.bsmart.cn

所有主机:


访问权限选项

设置输出目录只读:ro

设置输出目录读写:rw


用户映射选项

参数如下


ro 该主机对该共享目录有只读权限

rw 该主机对该共享目录有读写权限

root_squash 客户机用root用户访问该共享文件夹时,将root用户映射成匿名用户

no_root_squash 客户机用root访问该共享文件夹时,不映射root用户

all_squash 客户机上的任何用户访问该共享目录时都映射成匿名用户(nfsnobody)

no_all_squash 与all_squash取反(默认设置)

anonuid=XXX 将客户机上的用户映射成指定的本地用户ID的用户(UID=xxx)

anongid=XXX 将客户机上的用户映射成属于指定的本地用户组ID (GID=xxx)

sync 资料同步写入到内存与硬盘中,效率低,但可以保证数据的一致性

async 资料会先暂存于内存中,而非直接写入硬盘

insecure 允许从这台机器过来的非授权访问

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

no_subtree_check 和上面相对,不检查父目录权限

wdelay 检查是否有相关的写操作,如果有则将这些写操作一起执行,这样可以提高效率(默认设置)

no_wdelay 如果多个用户要写入NFS目录,则立即写入,当使用async时,无需此设置。若有写操作则立即执行,应与sync配合使用

hide 在NFS共享目录中不共享其子目录

no_hide 共享NFS目录的子目录

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

insecure NFS通过1024以上的端口发送


重新 刷新配置共享配置文件中的共享目录

exportfs -rv

1

服务器240 访问端

创建挂载目录


mkdir /www/share/test

1

测试挂载,显示指定的(172.16.0.235 )NFS服务器上export出来的目录


showmount -e 172.16.0.235  

1

输出


Export list for 172.16.0.235:

/www/wwwroot/www.test.cn 172.16.0.240

1

2

挂载


mount -t nfs 172.16.0.235:/www/wwwroot/www.test.cn /www/share/test -o nolock

1

注意:这时候的挂载,在重启服务器后会失效,如果你需要重启服务器后还会生效,请要配置永久挂载


如果有错误时,可以查看日志


cat /var/log/messages | grep mount

1

永久挂载

vim /etc/fstab

1

最后一行,新加入


172.16.0.235:/www/wwwroot/www.test.cn /www/share/test nfs defaults 1 1

1

取消挂载

umount /www/share/test

1

如果出现


umount.nfs: /XXX: device is busy

1

查看占用进程用户


fuser -m -v /XXX/

1

输出


                     USER        PID ACCESS COMMAND

/home/www/share/test:

                     root     kernel mount /home/www/share/test

                     root      26641 ..c.. bash

1

2

3

4

杀死进程


kill -9 26641

1

一些命令

重启nfs

systemctl restart nfs

1

启动nfs

systemctl start nfs

1

关闭nfs

systemctl stop nfs

1

设置开机启动nfs

systemctl enable nfs

1

查看NFS的运行状态

nfsstat

1

查看rpc执行信息,可以用于检测rpc运行情况

rpcinfo

1

显示指定的(172.16.0.235 )NFS服务器上export出来的目录

showmount -e 172.16.0.235  

1

参考

https://blog.csdn.net/lizhou828/article/details/79197848

https://blog.csdn.net/qq_36357820/article/details/78488077

————————————————

版权声明:本文为CSDN博主「风.foxwho」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。

原文链接:https://blog.csdn.net/fenglailea/article/details/88060641

评论
  • 消灭零回复