RHCE服务搭建实验之NFS

目录

  • 一、NFS简介
  • 二、NFS 服务器配置
  • 三、安装NFS
  • 四、配置 NFS 服务器和客户端挂载
  • 五、配置autofs?动挂载

一、NFS简介

网络文件系统(NFS)允许远程主机通过网络挂载?件系统,并像它们挂载在本地那样与这些?件系统进行交互。这可让您将资源整合到?络的集中服务器中。

NFS 服务器参考 /etc/exports 配置?件,来确定是否允许客户端访问任何导出的?件系统。?旦被验证,所有?件和?录操作都对用户有效。

NFS 主机名格式

  • 可用主机名
  • ip地址;a.b.c.d/z;例如192.168.0.0/24

二、NFS 服务器配置

?动编辑 /etc/exports 配置?件
在命令?上使? exportfs ?具,也可以重启该服务

/etc/exports ?件控制哪些?件系统被导出到远程主机。

配置文件的一些规则:

  • 每个导出的文件系统都应该独?。
  • 所有在导出的文件系统后放置的授权主机列表都必须?空格分开
  • 每个主机的选项必须在主机标识符后直接放在括号中,没有空格分离主机和第?个括
    号。
/home bob.example.com(rw)
/home bob.example.com (rw)

以上两行并不具有相同的意义。第?行仅允许来? bob.example.com 的用户读写 /home 目录。第二行允许来?bob.example.com 的用户以只读?式挂载目录(默认),?其他用户可以将其挂载为读/写。

三、安装NFS

dnf install nfs- utils

查看该服务是否启动: systemctl status rpcbind

四、配置 NFS 服务器和客户端挂载

在此之前需要准备两台虚拟机,一台作为服务器,一台作为客户端。
dnf install nfs- utils - y
systemctl status nfs- server

在服务器配置导出目录:
[root@redhat ~]# mkdir /mydata
[root@redhat ~]# chmod 777 /mydata/
[root@redhat ~]# touch /mydata/testfile
[root@redhat ~]# vim /etc/exports
[root@redhat ~]# cat /etc/exports
/mydata 192.168.85.130(rw)          #这是客户端的IP
[root@redhat ~]# systemctl start firewalld.service
配置防火墙规则:
[root@redhat ~]# firewall-cmd --add-service=nfs --permanent 
[root@redhat ~]# firewall-cmd --add-service=mountd --permanent 
[root@redhat ~]# firewall-cmd --add-service=rpc-bind --permanent 
[root@redhat ~]# firewall-cmd --reload
在客户端查看导出的目录:
[root@manged ~]# showmount -e 192.168.85.128       #这是服务器的IP
Export list for 192.168.85.128:
/mydata 192.168.85.129
[root@manged ~]# mkdir /client_data
[root@manged ~]# mount 192.168.85.128:/mydata /client_data/
[root@manged ~]# ll /client_data/
总用量 0
-rw-r--r--. 1 root root 0  1月 20 21:04 testfile
当然也可以写/etc/fstab 开机自动挂载,如果服务器连接不上,设置后会很麻烦的。

在这里会遇到一个问题就是:

[root@manged ~]# showmount -e 192.168.85.128
clnt_create: RPC: Program not registered

可以去看一下防火墙或者是nfs的服务没有重启,写点配置文件没有加载进来

五、配置autofs?动挂载

客户端安装:

他的功能:

  • 当客户端在有使?NFS文件系统的需求时才让系统自动挂载。
  • 当NFS?件系统使用完毕后,让NFS自动卸载。
 
[root@manged ~]# yum install autofs -y
[root@manged ~]# vim /etc/auto.master
/client_data      /etc/auto.suibian
客户端要挂载的目录   写具体挂载配置的目录
[root@manged ~]# cat /etc/auto.suibian 
upload         192.168.85.128:/mydata
#本地端要挂载子目录   服务器对应的被挂载
[root@manged ~]# systemctl restart autofs.service

这时候如果出现以下这种情况,就停掉服务,在创建目录;结果是只要一进入到upload目录,就会自动挂载,很久不使用这个目录,挂载就会被取消掉。

[root@manged ~]# mkdir /client_data/upload
mkdir: 无法创建目录 “/client_data/upload”: 权限不够
[root@manged ~]# systemctl stop autofs.service 
[root@manged ~]# mkdir /client_data/upload