NFS, linux系统间文件共享
Posted supingemail
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了NFS, linux系统间文件共享相关的知识,希望对你有一定的参考价值。
好记忆不如烂笔头,能记下点东西,就记下点,有时间拿出来看看,也会发觉不一样的感受。
目录
一、介绍
NFS为 Network FileSystem 的简称,它的目的就是想让不同的机器、不同的操作系统可以
彼此分享个别的档案啦!目前在 linux 当中用来做为文件服务器是相当不错的一个方案喔!
基本上, linux 主机连接到另一部 linux 主机来分享彼此的档案时,使用 NFS 要比 SAMBA
这个服务器快速且方便的多了!NFS用来实现文件的共享操作,其实还是一个不错的选择。她可以实现linux 和 linux ,linux 和windows 之间的文件共享。
NFS 在文件传送或信息传送过程中依赖于 RPC(Remote Procedure Call) 协议,即远程过程调用, NFS 的各项功能都必须要向 RPC 来注册,如此一来 RPC 才能了解 NFS 这个服务的各项功能 Port、PID、NFS 在服务器所监听的 IP 等,而客户端才能够透过 RPC 的询问找到正确对应的端口,所以,NFS 必须要有 RPC 存在时才能成功的提供服务,简单的理解二者关系:NFS是 一个文件存储系统,而 RPC 是负责信息的传输。
二、测试环境
两台服务器需要共享文件夹
服务端:10.110.110.110
客户端:10.119.119.119注释: 为了安装的顺利,最好是关闭客户端和服务端的防火墙。生产上时,需要谨慎操作
三、在线安装
1. 服务端安装
# 服务端 10.110.110.110 执行
$ yum install -y nfs-utils rpcbind2.# 客户端 10.119.119.119 执行
$ yum install -y nfs-utils3.启动nfs和相关软件
# nfs 启动
#为rpcbind和nfs做开机启动
systemctl enable rpcbind.service
systemctl enable nfs-server.service#启动相关软件
systemctl start rpcbind.service
systemctl start nfs-server.service4.服务端设置共享文件夹
# 编辑配置文件
vi /etc/exports# 修改配置文件,增加下面这一行数据,指定的ip地址为客户端的地址
/home/files/nfs_share 10.119.119.119(rw,no_root_squash,no_all_squash,sync)# 加载配置文件,在相关软件启动后执行
exportfs -arv5.客户端文件挂载
# 接下来我想要将远程主机的/home/files/nfs_share 挂载到本地端主机的 /home/files/nfs_share ,在本地端主机先建立一个挂载点目录,然后就可以用 mount 这个指令直接挂载 NFS 的文件系统
[root@localhost home]# mkdir /home/files/nfs_share
[root@localhost home]# mount -t nfs 10.110.110.110:/home/files/nfs_share /home/files/nfs_share
四、服务端离线安装
#nfs 安装
cd /opt/software/nfs
#下载所需的rpm包,下载命令是:
yum -y install nfs-utils --downloadonly --downloaddir /opt/software/nfs
# 安装nfs
rpm -ivh *.rpm --force --nodeps
# 创建共享文件夹
mkdir -p /home/files/nfs_share
# nfs 配置
# 编辑配置文件
vi /etc/exports
# 修改配置文件,增加下面这一行数据,指定的ip地址为客户端的地址
/home/files/nfs_share 10.119.119.119(rw,no_root_squash,no_all_squash,sync)
# 加载配置文件,在相关软件启动后执行
exportfs -arv
# nfs 启动
#为rpcbind和nfs做开机启动
systemctl enable rpcbind.service
systemctl enable nfs-server.service
#启动相关软件
systemctl start rpcbind.service
systemctl start nfs-server.service
五、客户端端离线安装
#nfs 安装
cd /opt/software/nfs
# 安装nfs
rpm -ivh *.rpm --force --nodeps
# 创建共享文件夹
mkdir -p /home/files/nfs_share
# nfs 启动
# 为rpcbind和nfs做开机启动
systemctl enable rpcbind.service
systemctl enable nfs-server.service
#启动相关软件
systemctl start rpcbind.service
systemctl start nfs-server.service
# 在你的 NFS 服务器设定妥当之后,利用 showmount 这个指令来查阅!
[root@localhost home]# showmount -e 10.110.110.110
Export list for 10.110.110.110:
/home/files/nfs_share 10.119.119.119
#如果报:clnt_create: RPC: Port mapper failure - Unable to receive: errno 113 (No route to host),可能防火墙没关
# 关闭防火墙
[root@localhost bw]# systemctl stop firewalld.service #关闭防火墙
[root@localhost bw]# systemctl disable firewalld.service #开机禁止启动防火墙
#关闭selinux
[root@localhost bw]# vim /etc/selinux/config
SELINUX=disabled #永久关闭selinux
SELINUXTYPE=targeted
[root@localhost bw]#setenforce 0 临时关闭
[root@localhost bw]#getenforce 结果为Disabled 为关闭 检查selinux是否关闭
# 接下来我想要将远程主机的/home/files/nfs_share 挂载到本地端主机的 /home/files/nfs_share ,在本地端主机先建立一个挂载点目录,然后就可以用 mount 这个指令直接挂载 NFS 的文件系统
[root@localhost home]# mkdir /home/files/nfs_share
[root@localhost home]# mount -t nfs 10.110.110.110:/home/files/nfs_share /home/files/nfs_share
#查看挂载情况,可以使用这个命令df -TH
[root@10 ~]# df -TH
[root@localhost home]# df -TH
文件系统 类型 容量 已用 可用 已用% 挂载点
devtmpfs devtmpfs 2.0G 0 2.0G 0% /dev
tmpfs tmpfs 2.0G 91k 2.0G 1% /dev/shm
tmpfs tmpfs 2.0G 18M 2.0G 1% /run
tmpfs tmpfs 2.0G 0 2.0G 0% /sys/fs/cgroup
/dev/sda1 xfs 1.1G 181M 883M 18% /boot
tmpfs tmpfs 396M 17k 396M 1% /run/user/0
10.110.110.110:/home/files/nfs_share nfs4 86G 6.0G 80G 7% home/files/nfs_share
[root@localhost home]#
# 也可以使用下面的命令: mount | grep nfs 去检查
六、注意事项
1. 在测试环境下,可以关闭防火墙来测试,一旦在生成环境,还是要谨慎操作,最好不要关闭防火墙,放开nfs的相关端口即可。
如果不关闭防火墙,报错:clnt_create: RPC: Port mapper failure - Unable to receive: errno 113 (No route to host)
可参考:https://blog.csdn.net/weixin_30270889/article/details/97045168 解决
2.注意共享文件的设置,不管是在离线安装还是在线安装中,都要将两边的文件设置好,最好两边的文件夹一模一样(理想状态),保证文件的映射关系。
3.注意文件夹的读写权限,如果没有给到位权限,那么在文件获取的时候,也是不可能完成的。测试环境可以使用如:chmod -R 777 /home/files/nfs_share 这样最强权限,生成谨慎。
建议:
还是离线安装比较妥当,这样能知道每一步都是怎么进行的。
参考:
https://blog.csdn.net/aixiaoyang168/article/details/83782336
https://www.cnblogs.com/daofaziran/p/14652802.html
想要了解更多,关注:码出精彩(codingba),有收集的相关学习视频
以上是关于NFS, linux系统间文件共享的主要内容,如果未能解决你的问题,请参考以下文章