Linux搭建NFS服务
NFS网络文件系统:
(1)基于C/S架构,支持多客户端,支持IP和域名访问
(2)实现Linux与Linux之间网路文件系统共享访问
(3)包含查看和修改两种访问行为(无法上传和下载)
(4)NFS和iscsi都只在Linux里访问
传输类型讲解:
(1)同步传输:server和client的数据是同时更新的,不存在客户端缓存来缓解server的数 据处理压力。
(2)异步传输:server和client的数据不是同时更新的,server总是滞后于client,通常使 用异步传输的都是客户群体较大的情况,这个时候就要借助client自身的缓存机制, 来对客户端的服务申请缓存,当达到一定次数时,server会做出相应的响应,并且这 种响应是按照申请顺序来的
1,NFS工作原理
(1)server与client都支持“rpc远程调用协议”
(2)连接映射端口:server端—111号端口,client端—随机端口号
对应守护进程:rpcbind对应软件包—rpcbind
(3)登录服务端口:server端—2049号端口,client端—随机端口号
对应守护进程:nfsd对应软件包—nfs-utils
2,如何实现NFS访问?
【服务端配置】
(1)利用yum下载软件包:rpcbind,nfs-utils
终端输入以下命令:yum -y install rpcbind && yum -y install nfs-utils
(2)创建共享文件夹(NFS)
终端输入以下命令:mkdir /opt/NFS
注意:共享文件夹绝对不能创建在/root目录下,因为对于root用户来说,其他用户没有访问root文件夹的权限
(3)进入共享文件夹
终端输入以下命令:cd /opt/NFS
(4)创建一个文件
终端输入以下命令:touch flag
(5)向这个文本文件写入一些东西
终端输入以下命令:echo ‘hello’ >> flag
(6)配置NFS的文件(在/etc/exports文件里)
vim进入文件后,写入:/opt/NFS 192.168.10.0/24(ro,sync)
解释:‘/opt/NFS’是共享文件夹的路径,‘192.168.10.0’是设置处于这个网段的客户端能够访问共享文件夹,‘ro’设 置客户端访问文件夹的形式是只读,若客户端想对文件夹内做出修改,这个参数要设置为读写,即:‘rw’。‘sync’设置 传输类型,sync为同步传输,async为异步传输。
(7)重启服务
终端输入以下命令:systemctl restart rpcbind && systemctl restart nfs
(8)关闭防火墙
终端输入以下命令:systemctl stop firewalld
(9)关闭SElinux安全子系统
终端输入以下命令:setenforce 0
【客户端配置(手动挂载)】
(1)查看NFS服务器挂载点信息
终端输入以下命令:showmount -e 192.168 .10.10
(2)挂载
终端输入以下命令:mount -t nfs 192.168.10.10:/opt/NFS /mnt
注意:上述命令后面NFS与/mnt之间一定要隔一个空格
(3)设置rpcbind和nfs开机自启动
终端输入以下命令:systemctl enable rpcbind && systemctl enable nfs-server
额外命令:df -hT(查看当前所有挂载点信息) umount /media(取消/media的挂载)
yum search rpcbind(查看rpcbind包是否为镜像所提供)
yum list rpcbind(找rpcbind的安装包)
3,能不能实现NFS的自动挂载?
AUTOFS的原理:
/share/pub
cd share -->/etc/auto.test
cd pub -->192.168.10.10:/opt/NFS
【客户端配置(自动挂载)】
(1)在客户端利用yum下载软件包:autofs
终端输入以下命令:yum -y install autofs
(2)配置share与pub
先配share:
终端输入以下命令:vim /etc/auto.master.d/test.autofs(创建的文件必须是 以.autofs为后缀结尾)
写入:/share /etc/auto.test
再配pub:
终端输入以下命令:vim /etc/auto.test(创建的文件结尾是以第一个文件,也就是 配share中test.autofs的文件名test为后缀结尾)
写入:pub 192.168.10.10:/opt/NFS
(3)重启服务并设置开机自启动
终端输入以下命令:systemctl restart autofs && systemctl enable autofs
(4)测试
终端输入以下命令:cd /share
终端输入以下命令:cd pub (触发pub文件夹即为成功)
4,如何在客户端对服务端共享文件夹进行写的操作?
方法:服务端配置文件/etc/exports里的‘ro’参数改为‘rw’,并赋予共享文件夹其他用户的写权限—chmod -R o+w NFS,服务端这样配置完后再次在客户端测试。
额外命令:scp 192.168.10.10:/etc/yum.repos.d/local.repo(远程将服务端的local.repo文件复制到客户端里)