zoukankan      html  css  js  c++  java
  • 2019.2.4 nfs原理和安装实验

    NFS

    访问一个本地文件还是NFS共享文件对于客户端而言都是透明的,当文件打开的瞬间,内核会作出一个决定,如果是本地文件内核会将本地NFS共享文件内核会将NFS共享文件的所有引用传递给——》NFS客户端枢中

    NFS客户端是通过TCP/IP协议及模块向NFS服务器发送RPC请求,NFS主要是用UDP

    NFS服务器在端口2049接收客户端请求

    当NFS共享了一个本地文件夹,然后NFS服务器接收到一个客户端请求后,NFS会将整个请求发送自身系统的能够访问本地文件的进程。

    1.NFS的工作原理如下图:

    NFS参数

    rw Read-write,表示可读可写权限

    ro Read-only,表示只读权限

    sync (同步,实时)请求或吸入数据,数据同步到NFS Server的硬盘后才返回

    async (异步)写入时数据会先写到内存缓冲区,只到硬盘有空档才会写入磁盘,这样可以提升写入速率,风险为若服务器挂掉或不正常关机,会损失缓冲区中未写入磁盘的数据

    no_root_squash 访问NFS Server共享目录的用户如果是root,它对该共享目录具有root权限

    root_squash 如果访问目录是root.则它的权限将被压缩成匿名用户

    all_squash 不管访问共享目录的用户身份如何,它的权限都将被压缩成匿名用户。

    anonuid 指定共享文件夹里的文件所有者的uid号:

    anongid 指定共享文件夹里文件所有者的gid号:例如(rw,squash,anonuid=12306,anongid=12306)

    RPC服务

    1.NFS服务是一个多功能的服务,NFS服务启动后会有多个功能组件一起启动,每个组件都有一个端口号

    2.RPC主要就是搜集每个NFS功能组件对应的端口号,并且返回客户端,让客户端想使用对应功能就需要先知道对应功能的端口

    3.当NFS启动后会随机选用数个端口,并主动向RPC注册,因此RPC可以知道每个端口对应到了NFS党的每个功能组件。

    4.RPC自己使用111端口来监听客户端请求,并回报客户端想请求那个功能组件的端口号

    注意:

    1.NFS启动之前一定要启动RPC,否则NFS无法向RPC注册

    2.重启了RPC后之前所有注册的端口都会不见了,因此RPC启动后所有依赖RPC注册端口的服务

    NFS安装和服务开启

    yum install nfs-utils

    NFS服务器的启动和停止

    #systemctl start/stop/restart redbind.service
    systemccetl start/stop/restart nfs.service

    NFS自动启动

    chkconfig --level 35 portmap on
    #chkconfig --level 35 nfs on

    查看NFS的状态

    自动挂载

    将/nfs_folder共享给102.168.1.0/24网段机器

    服务器端

    配置共享目录 #mkdir /nfs_folder

    ​ #vim /etc/exports

    ​ # nfs_folder 192.168.1.0/24(rw,no_root_squash,no_all_suqash,sync,anonuid)

    启动rpc和 nfs服务 #systemctl start/stop/restart rpdind.service

                                 #####                                   #systemctl start/stop/restart nfs.servic

                                ##### 导出共享目录 #exports -r

    客户端

    客户端查看共享目录有哪些 #showmount -e 查看共享目录输出


    #####                                                 #showmount -a 显示连接上的客户端信息

    客户端挂载 # mkdir /mnt/nfs

    查看端口状态 #rpcinfo -p

    1、进行安装

    2、查看是否已经安装

    3、先启动rpc服务和nfs,并查看状态

    4、编辑导出共享目录 手动添加

    5、保证客户端和服务器端防火墙和selinux都关闭,并且网络都是通的

    6、创建挂载点即可进行挂载用mount命令查看就能看到挂载的点

    7、上面这种挂载方式重启就会失效,还可以在/etc/fstab下面修改好,这样可以开机就能自动挂载

    8、也可以在客户端安装autofs

    在vi /etc/auto.master下指定路径

    指定挂载点

    启动autofs 即可自动挂载。

    systemctl start autofs.service

     

  • 相关阅读:
    javaweb开发之解决全站乱码
    redis加入开机启动服务
    linux下安装memcache
    关于本地连接虚拟机(centos)里的mongodb失败问题
    oracle存储过程中返回一个程序集
    面向对象进阶(二)----------类的内置方法
    面向对象进阶(一)
    面向对象的三大特性之----------封装
    面向对象的三大特性之----------多态
    面向对象的三大特性之----------继承
  • 原文地址:https://www.cnblogs.com/legenidongma/p/10352390.html
Copyright © 2011-2022 走看看