NFS文件共享

了解NFS

NFS(Network File System,网络文件系统)是历史最为悠久的文件共享协议之一,其目的是让网络环境下的不同主机之间彼此可以共享文件。
1.NFS概述
NFS最初是由Sun Microsystems公司于1984年开发出来的,它的功能是让整个网络共享某些主机的目录和文件。由于NFS使用起来非常方便,因此很快得到了大多数UNIX类系统的支持。
2.远程过程调用RPC
RPC(Remote Procedure Call,远程过程调用)是另一种不同的网络程序设计方法,它定义了一种进程间通过网络进行交互通信的机制,使程序员编写客户程序时感觉只是调用了服务器程序提供的函数,而双方的通讯过程对程序员来说完全是透明的。也就是说,一台机子上的程序使用这种机制可以向网络中另一台机子上的程序请求服务,并且不必了解支持通信的网络协议的具体情况。
3.NFS协议
NFS协议是一个建立在Sun RPC基础上的客户端/服务器应用程序,客户端通过向一台NFS服务器发送RPC请求来访问其中的文件。
NFC协议
NFC协议
4.NFS服务器
NFS服务器采用多进程模型,而且进程数是固定的,默认情况下为4,当然,可以进行修改。不论怎么对NFS进行性能优化,NFS注定不适合IO密集型文件的共享方案。但作为一般用途比如提供站内资源的共享,它是比较容易搭建的,可以减少不必要的数据冗余。
5.NFS远程操作
NFS远程写操作有同步和异步两种模式,对于异步模式,NFS可以在接收到写操作请求后立即返回成功,然后在后台执行真正的写操作。对于同步模式,NFS在写操作完成后才返回,当然,这里不一定是写到磁盘。对于异步模式,由于存在实际写入磁盘的延迟,所以非常有可能发生实际写入失败而应用程序并不知晓的情况,在没有保障的情况下,使用异步模式要格外谨慎。

配置NFS文件共享

安装
nfs-utils和rpcbind软件
在这里插入图片描述
在这里插入图片描述
设置开机启动

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

设置共享目录

[root@localhost mnt]# touch wenjian
[root@localhost mnt]# cd ~
[root@localhost ~]# vim  /etc/exports
/mnt 20.0.0.0(rw,sync,np_root_squash)
~              
[root@localhost ~]# setenforce 0
[root@localhost ~]# iptables -F
                          

在客户端进行挂载

[root@kehu ~]# mount 20.0.0.132:/mnt /var/www/html
[root@kehu ~]# df -hT
Filesystem           Type      Size  Used Avail Use% Mounted on
/dev/sda2            xfs        20G  4.1G   16G  21% /
devtmpfs             devtmpfs  898M     0  898M   0% /dev
tmpfs                tmpfs     912M     0  912M   0% /dev/shm
tmpfs                tmpfs     912M  9.0M  903M   1% /run
tmpfs                tmpfs     912M     18M  912M   2% /sys/fs/cgroup
tmpfs                tmpfs     183M   12K  183M   1% /run/user/42
tmpfs                tmpfs     183M     0  183M   0% /run/user/0
20.0.0.132:/mnt nfs4       25G   32M   25G   1% /var/www/html

配置apache,然后开启

[root@kehu ~]# cd /var/www/html
[root@kehu html]# ls
[root@kehu html]# vim index.html
<h1>this is nfs !</h1>
[root@client html]# systemctl start httpd.service 

在这里插入图片描述
这是发现服务端也有了该文件

[root@server ~]# cd /mnt
[root@server mnt]# ls
index.html
[root@server mnt]# cat index.html 
<h1>this is nfs !</h1>

实验完成

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值