• 网络文件系统NFS


    1、介绍:

    Network File System,

    由Sun公司在1984年开发,目前NFS被普遍使用。

    NFS4.0以前的版本在性能上存在瓶颈,NFS4.1已经是pNFS了,即并行NFS???

    目的是在安装UNIX计算机之间实现磁盘文件共享,构建于IP协议之上,是标准的C/S架构,NFS服务器输出(export)让别人共享的目录,多个客户端挂载(mount)各自感兴趣的目录,并加载到本地文件空间当中,为于VFS(虚拟文件系统)之下,这样就像访问本地硬盘上的文件那样方便简单了。如下图:

    2、搭建

    centos7默认nfs服务器已经安装,只需配置nfs服务器就好。若没有可以yum groupinstall "NFS file server",设置自起和启动服务。

    配置:

    红帽和Ubuntu对nfs服务器的配置都一样,把输出export的目录加到文件/etc/exports中,一行表示一个export dir,格式如下:

    被输出目录  客户主机1(参数1,参数2,...)  客户主机2(参数1, 参数2,...)  .....

    客户主机可以为具体ip,可以为域名且域名中可以使用通配符*   eg   *.moodisk.com, IP网络,指明网段  eg  192.168.10.0/24    或者   192.168.10.0/255.255.255.0

    参数为权限,可以不加,默认为ro(只读),sync(到硬盘反馈),subtree_check(强制检查父目录的权限),no_all_squash(保留共享文件的UID和GID)

    rw读写,async数据到nfs内存就反馈客户端写成功,no_subtree_check不检查父目录权限,root_squash把客户端root账号的uid/gid映射成服务器上的匿名账号,no_root_squash, all_squash, anoomuid=150  anongid=100

    ro                      只读访问 
    rw                      读写访问 
    sync                    所有数据在请求时写入共享 
    async                   NFS在写入数据前可以相应请求 
    secure                  NFS通过1024以下的安全TCP/IP端口发送 
    insecure                NFS通过1024以上的端口发送 
    wdelay                  如果多个用户要写入NFS目录,则归组写入(默认) 
    no_wdelay               如果多个用户要写入NFS目录,则立即写入,当使用async时,无需此设置。 
    hide                    在NFS共享目录中不共享其子目录 
    no_hide                 共享NFS目录的子目录 
    subtree_check           如果共享/usr/bin之类的子目录时,强制NFS检查父目录的权限(默认) 
    no_subtree_check        和上面相对,不检查父目录权限 
    all_squash              共享文件的UID和GID映射匿名用户anonymous,适合公用目录。 
    no_all_squash           保留共享文件的UID和GID(默认) 
    root_squash             root用户的所有请求映射成如anonymous用户一样的权限(默认) 
    no_root_squas           root用户具有根目录的完全管理访问权限 
    anonuid=xxx             指定NFS服务器/etc/passwd文件中匿名用户的UID 
    anongid=xxx             指定NFS服务器/etc/passwd文件中匿名用户的GID 

    nfs和mount详细说明见:http://www.cnblogs.com/wspblog/p/5673924.html#_label0

    systemctl reload nfs  每次修改配置文件都要重载,配置不对会报错!!

    3、连接挂载

    systemctl start nfs

    showmount -e 172.30.0.133在客户端查看nfs服务器共享的目录

    showmount -a 172.30.0.133不知道在show啥???

    mount -t  nfs <NFS服务器目录>:<被输出目录> <本地空目录>   或者 mount.nfs   还可以加 -o v4.1

    4、报错解释:

    [lixn@bogon ~]$ showmount -e 172.30.0.133
    1) clnt_create: RPC: Port mapper failure - Unable to receive: errno 113 (No route to host)服务器端口问题,关掉firewall,开放哪几个端口就可以呀?怎么设置端口???

    2) mount.nfs: access denied by server while mounting 172.30.0.133:/dev/nfs/share1被服务器拒绝

    3)[root@bogon mnt]# mount.nfs -o v4.1 172.30.0.133:/dev/nfs/share1 /mnt/nfs/
    mount.nfs: mounting 172.30.0.133:/dev/nfs/share1 failed, reason given by server: No such file or directory一般是命令中的目录不对

    3)写配置文件时exports 写/dev/nfs/share  reload报错,改为/opt/share就正常,这是为什么????

    4)对配置了rw权限的nfs目录: mkdir: cannot create directory ‘a’: Permission denied???不能写???为什么

    对配置为默认(or)权限的nfs目录:touch: cannot touch '111': Read-only file system

  • 相关阅读:
    解决Cannot change version of project facet Dynamic web module to 3.0
    mysql 存储过程
    查看建表语句
    mysql query cache 查询缓存
    数据库连接池
    JDBC Statement PrepareStatement
    mysql 改变表结构 alter
    maven 获取pom.xml的依赖---即仓库搜索服务
    windows常用快捷键
    oracle 的数据完整性
  • 原文地址:https://www.cnblogs.com/daduryi/p/6641516.html
Copyright © 2020-2023  润新知