NFS共享存储服务

NFS简介

NFS网络文件系统(做文件存储,共享)

  1. 依赖于RPC (远端过程调用)客户端访问服务器的过程由RPC服务管理
  2. 需安装nfs-utils、rpcbind软件包
  3. 系统服务: nfs、 rpcbind
  4. 共享配置文件: /etc/exports (唯一 一个配置文件为空的文件)

NFS工作与原理

客户机存在RPC服务,RPC服务会向NFS服务器索要开放的端口号,(NFS服务不是固定的端口对外开放服务,端口具有随机性),所以RPC服务是专门用来管理端口的。NFS服务启动时RPC同时启动,在启动过程中NFS会向RPC服务申请要开放的端口号,客户端的RPC服务也会通过TCP/IP协议连接到服务端的RPC服务询问客户端需要的访问的端口号,这时,服务端RPC服务告知客户端PRC服务开放的端口号。之后客户端通过访问服务器IP和从RPC服务获取的端口号来访问NFS服务,访问同时NFS服务映射了一个本地文件访问的路径去访问本地磁盘里的文件。所以RPC是在此过程中的中间调度的一个程序。

NFS环境部署

一、NFS服务器

  1. 编辑网卡

    vi /etc/sysconfig/network-scripts/ifcfg-ens33
    

在这里插入图片描述

  1. 重启网卡,在/opt下面创建两个目录

     systemctl restart network
     mkdir /opt/web1
     mkdir /opt/web2
    
  2. 进入到 /opt/web1,编辑一个index.html的文件做测试

    cd /opt/web1
    vi index.html
    <html><tittle>web1</tittle><body><h1>This is web1<h1><body></html>
    
  3. 进入到 /opt/web2,编辑一个index.html的文件做测试

    cd /opt/web2
    vi index.html
    <html><tittle>web2</tittle><body><h1>This is web2<h1><body></html>
    

二、客户机

使用两台客户机做测试用
客户机1
  1. 编辑网卡

    vi /etc/sysconfig/network-scripts/ifcfg-ens33
    

在这里插入图片描述

  1. 重启网卡

    systemctl restart network
    
客户机2
  1. 编辑网卡

    vi /etc/sysconfig/network-scripts/ifcfg-ens33
    

在这里插入图片描述

  1. 重启网卡

    systemctl restart network
    
  2. 关闭防火墙
    3.1 临时关闭防火墙

    systemctl stop firewalld
    setenforce 0
    

    3.2 永久关闭防火墙

    systemctl disable firewalld
    vi /etc/selinux/config
    SELINUX=disabled
    

可以ping一下主机的连通性,确保实验环境

三、NFS服务搭建

服务器
  1. yum安装NFS服务

    yum -y install nfs-utils
    
  2. 编辑

    vi /etc/exports
    /opt/web1 20.0.0.19(ro)
    /opt/web2 20.0.0.20(ro)
    
    
    字符	                    权限
    ro	                    只读,不允许更改
    rw	                    读写
    sync	                服务器和客户端开启同步
    no_root_squash	        root身份访问服务器
    
  3. 启动服务

    systemctl start nfs
    systemctl start rpcbind
    
  4. NFS服务器产看自己共享的目录

    showmount -e
    

在这里插入图片描述

  1. 查看NFS是否开启

    systemctl status nfs
    

在这里插入图片描述

四、客户机(测试)

  1. 安装apache

    yum -y install httpd
    
  2. 开启http服务

    systemctl start httpd
    
  3. 查看服务是否开启

    systemctl status httpd
    

在这里插入图片描述

  1. 查询NFS服务器发布的共享目录

    showmount -e 20.0.0.18
    

在这里插入图片描述

4.1 常见错误

  1. clnt_create: RPC: Port mapper failure - Unable to receive: errno 113 (No route to host)
  2. clnt_create: RPC:端口映射器失败-无法接收:errno 113(没有到主机的路由)

4.2 解决方法:

  1. 在服务器上

      iptables -F 
    
  2. 回到客户机测试一下,如果还是出现相同错误,执行下面命令

    systemctl  stop   firewalld
    setenforce 0
    

4.3 clnt_create: RPC: Program not registered

  1. 在服务器上

    rpc.mountd
    
客户机1
  1. 将服务器的目录文件挂载到本地

    mount 20.0.0.18:/opt/web1 /var/www/html
    
  2. 检查挂载情况

    df -Th
    

在这里插入图片描述

  1. 永久挂载

    vi /etc/fstab
    20.0.0.18:/opt/web1                              nfs    defaults,_netdev0 0
    
客户机2
  1. 将服务器的目录文件挂载到本地

    mount 20.0.0.18:/opt/web2 /var/www/html
    
  2. 检查挂载情况

    df -Th
    

在这里插入图片描述

  1. 永久挂载

    vi /etc/fstab
    
    20.0.0.18:/opt/web2                              nfs    defaults,_netdev0 0
    

五、测试

  1. 打开浏览器输入

    http://localhost
    

在这里插入图片描述

  1. 或者是输入IP地址测试

在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值