zoukankan      html  css  js  c++  java
  • 安装配置NFS服务

    超级好的配置centos下服务的链接

    http://www.server-world.info/en/note?os=CentOS_6&p=nfs

    http://linux.vbird.org/linux_server/0330nfs.php

    开源的有freenas,openfilterhttp://blog.csdn.net/wwwlh/article/details/5989097

    以下是NFS最显而易见的好处:

    • 本地工作站使用更少的磁盘空间,因为通常的数据可以存放在一 台机器上而且可以通过网络访问到。

    • 用户不必在每个网络上机器里头都有一个home目录。Home目录 可以被放在NFS服务器上并且在网络上处处可用。

    某些应用程序 (例如 mutt) 需要文件上锁支持才能正常运行。 在使用 NFS 时, 可以用 rpc.lockd 来支持文件上锁功能

    典型情况下, NFS 会使用一个 “块” 为单位进行操作, 其尺寸是 8 K (虽然它可能会将操作分成更小尺寸的分片)。 由于最大的以太网包尺寸大约是 1500 字节, 因此 NFS “块” 会分成多个以太网包, 虽然在更高层的代码看来它仍然是一个完整的单元, 并在接收方重新组装, 作为一个整体来 确认。 高性能的工作站, 可以将构成 NFS 单元的包迅速发出, 其节奏会快到标准允许的最大限度。

    Server端

    1.rpm –qa|grep nfs

    2.yum –y install nfs-utils rpcbind

       会自动增加用户nfsnobody

    [root@rhel /]# id nfsnobody
    uid=65534(nfsnobody) gid=65534(nfsnobody) groups=65534(nfsnobody)

    3.如果Yum安装报错 [Errno 256] No more mirrors to try,则执行

    1. yum clean all
    2. yum makecache

    4. 创建共享目录 mkdir /nfs_share

    5. chown nfsnobody:nfsnobody /nfs_share

    6.vi /etc/exports,增加

    /nfs_share 192.168.1.*(rw,all_squash,anonuid=65534,anongid=65534)

    no_root_squash 客户机用root用户访问该共享文件夹时,将root用户映射成匿名用户

    root_squash 客户机用root访问该共享文件夹时,不映射root用户

    all_squash 客户机上的任何用户访问该共享目录时都映射成匿名用户

    7.启动服务

    service rpcbind start

    service nfslock start

    service nfs start


    [root@rhel /]# service nfs start
    Starting NFS services:  [  OK  ]
    Starting NFS quotas: [  OK  ]
    Starting NFS mountd: [  OK  ]
    Starting NFS daemon: [  OK  ]
    [root@rhel /]#

    8.rpcinfo –p

    [root@rhel /]# rpcinfo -p
       program vers proto   port  service
        100000    4   tcp    111  portmapper
        100000    3   tcp    111  portmapper
        100000    2   tcp    111  portmapper
        100000    4   udp    111  portmapper
        100000    3   udp    111  portmapper
        100000    2   udp    111  portmapper
        100024    1   udp  38041  status
        100024    1   tcp  52337  status
        100011    1   udp    875  rquotad
        100011    2   udp    875  rquotad
        100011    1   tcp    875  rquotad
        100011    2   tcp    875  rquotad
        100005    1   udp  24683  mountd
        100005    1   tcp  20579  mountd
        100005    2   udp  35399  mountd
        100005    2   tcp  46049  mountd
        100005    3   udp  61341  mountd
        100005    3   tcp  22087  mountd
        100003    2   tcp   2049  nfs
        100003    3   tcp   2049  nfs
        100003    4   tcp   2049  nfs  #NFS版本4
        100227    2   tcp   2049  nfs_acl
        100227    3   tcp   2049  nfs_acl
        100003    2   udp   2049  nfs
        100003    3   udp   2049  nfs
        100003    4   udp   2049  nfs
        100227    2   udp   2049  nfs_acl
        100227    3   udp   2049  nfs_acl
        100021    1   udp  54757  nlockmgr
        100021    3   udp  54757  nlockmgr
        100021    4   udp  54757  nlockmgr
        100021    1   tcp  39549  nlockmgr
        100021    3   tcp  39549  nlockmgr
        100021    4   tcp  39549  nlockmgr

    9.

    chkconfig rpcbind on

    chkconfig nfslock on

    chkconfig nfs on

    10. showmount –e 列出共享的目录

    showmount –a IP 用于server端查看哪些client

         exportfs –r -v 再次export

    Exports [-aruv]

    -a    全部mount或umount文件/etc/exports中的内容

    -r     重新mount文件/etc/exports中的共享内容

    -u   umount目录

    -v    在export的时候,将详细的信息输出到屏幕上

    例:

    [root@localhost ~]#/usr/sbin/exportfs –rv        全部重新export一次

    [root@localhost ~]#/usr/sbin/exportfs –au        全部卸载

       nfsstat  查看nfs状态

    /root/share/  192.168.1.20 (rw,insecure,sync,all_squash)  表示共享服务器上的/root/share/目录只有192.168.1.20主机可以访问,且有读写权限;此主机用任何身份访问时,将客户机的用户都映射成服务器上的匿名用户(all_squash),相当于在服务器上用nobody用户访问该目录(若客户机要在该共享目录上保存文件(即写操作),则服务器上的nobody用户对该目录必须有写的权限)

    /home/ljm/  *.gdfs.edu.cn (rw,insecure,sync,all_squash)   表示共享/home/ljm/目录,*.gdfs.edu.cn域中所有的主机都可以访问该目录,且有读写权限

    /home/share/  .gdfs.edu.cn (ro,sync,all_squash,anonuid=student,anongid=math)     表示共享目录/home/share/,*.gdfs.edu.cn域中的所有主机都可以访问,但只有只读的权限,所有用户都映射成服务器上的uid为student、gid为math的用户

    客户端

    1.客户端还需要启动rpcbind服务.rpcbind一般预设会自动启动.

    service rpcbind start

    2.如果服务器端启动了nfslock,则客户端也要启动nfslock服务

    service nfslock start

    3.建立挂接目录

    mkdir /client_nfs

    chown nfsnobody:nfsnobody /client_nfs 如果有必要的话

    4.查询有哪些目录被export出来

    showmount –e ip地址

    5.挂接

    mount –t nfs 192.168.1.x:/nfs_share /client_nfs

    注意:要注释掉server端/etc/hosts中的客户端IP-主机名,否则报错如下:

    [root@hp ~]# mount -t nfs 192.168.1.80:/nfs /nfs_client
    mount: 192.168.1.80:/nfs failed, reason given by server: Permission denied

    原因:nfs server接到客户端的mount时,会先客户的IP做反解成域名,用域名(注意是用域名而不是IP)去和/etc/exports做比较,如果匹配不成功会失败

    根本原因:规范的配置应是192.168.1.0/24或192.168.1.0/255.255.255.0。

    客户端在挂载的时候遇到的一个问题如下,可能是网络不太稳定,NFS默认是用UDP协议,换成TCP协议即可:

    mount -t nfs 192.168.1.225:/nfs  /nfs_client -o proto=tcp -o nolock

    mount -t nfs 使用的是 nfsv3 协议,需要明确指出使用 nfsv4 协议挂载 mount -t nfs4:

    df查看 是否骨架成功

    6.rc.local中写入自动挂载脚本,开机后会自动挂载.

    替换工具autofs,效果更好

     

     

    解除挂载:

    [root@localhost ~]# umount /nfs_client

     

     

    其他网上摘录:

    NFS 在 Solaris 上最稳定、功能最丰富;在 FreeBSD 上的性能最好,但是缺少一些功能,比如 FreeBSD 8.0 内核才增加了 NFS 文件锁的支持;NFS 在 Linux 上表现最一般了

    vpsee,你这个是什么时候的测试结果,我近期测得结果NFS下Linux里写入速度最快,千兆网络中SAS硬盘RAID1能达到90M/s,基本达到网卡极限,而Solaris只能跑到50M/s左右,FreeBSD最低只有38M/s左右,另外BSD在本地硬盘的读写也较慢。 不知道是不是UFS文件系统效率问题。

  • 相关阅读:
    ceph 网络配置
    Centos7.2 下DNS+NamedManager高可用部署方案完整记录
    Mysql多实例数据库
    Mysql 基础
    搭建本地YUM仓库
    Go实现线程安全的缓存
    KubeEdge安装详细教程
    Kubeedge实现原理
    Go语言中new()和make()的区别
    Go语言中append()函数的源码实现在哪里?
  • 原文地址:https://www.cnblogs.com/jjkv3/p/3825302.html
Copyright © 2011-2022 走看看