zoukankan      html  css  js  c++  java
  • 配置CentOS6.3 NFS

     

    说明:本文是基于CentOS 6.3版本,5系列版本请另行参照其他文档

    一、安装NFS对应的服务

    1.安装NFS 套件

       首先安装NFS套件,命令如下:

    yum install nfs-utils.x86_64(64位系统)

    yum install nfs-utils(32位系统)

    2.安装RPC服务(注①)

    yum install rpcbind(centos6)

    二、启动NFS

    1.启动RPC服务

    Service rpcbind start

    2.启动NFS服务

    Service nfs start

    三、配置NFS服务器端

    1.设置共享目录

      建立共享目录或者使用已有的目录,本文创建/data/nfsshare作为共享目录。

         返回到根目录 CD /

         创建目录 mkdir –p /data/nfsshare        -p 的意思是父文件夹不存在就创建

    2.编辑/etc/exports文件

     a) #vi /etc/exports  注②

     b)按一下键盘 【i】 键进入编辑状态

     c)输入nfs地址,具体命令格式:[目录路径]…  [目标主机名或IP地址(参数…)]…

    例子:

    /data/nfsshare  10.10.225.*(rw,all_squash,anonuid=504,anongid=504)注③

    [共享目录]   [第一台主机(权限)]

      d)保存文件,按【esc】键输入【:w】保存

      e)退出vi,输入【:q】退出Vi

    3.重新加载exports文件

    输入exportfs –rv命令    注④

    4.查看本机发布的nfs目录

    showmount –e 注⑤

    四、设置客户端

    1.查看可挂载的目录

      showmount –e ip

    2.挂载服务器目录

      mount –t nfs –o nolock [主机名或IP]:[服务端目录路径] [客户端目录路径]

     例子:

    mount –t nfs –o nolock

    10.10.225.178:/data/nfsshare  /data/clientshare

    五、进行测试

    在服务器的共享目录里面建立一个文件,查看一下客户端是否存在

    问题:

    1. RPC: Port mapper failure - RPC: Unable to receive

    iptable没关,把portmap的端口给阻挡了,禁用,service iptables  stop,一切OK!

    2. mount.nfs:access denied by server while mounting

    查看NFS Server端的/etc/exports文件设置是否有问题。

    3.NFS客户端不能写文件问题

       是因为服务器端没有设置NFS 共享目录的读写权限,使用chmod进行更改文件夹的权限即可。

    注解:

    注① 为什么要安装RPC(Remote Procedure Call)

    因为NFS支持的功能相当的多,而不同的功能都会使用不同的程序来启动,每启动一个功能就会随机启动一些没有被占用并且小于1024的端口来传输资料,因为NFS支持的功能没有固定的端口。

    这样的话,就需要一个服务来获得对应的端口号,而这个服务就是RPC服务。因为服务器在启动NFS时会把随机取得的端口主动注册到RPC服务中,因此RPC就可以知道每个NFS功能对应的端口号,并且RPC服务是固定端口号111。

     这也就间接要求RPC服务必须先于NFS服务启动。

    详见:【鳥哥的 Linux 私房菜------第十三章、檔案伺服器之一:NFS 伺服器】

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

    注② Vi的简单操作

    Vi有三种模式:命令模式、插入模式、底行模式。画面启动的时候就是命令模式,这个时候只能输入各种命令,而不能进行输入,所以需要按【i】键进入到插入模式,进行输入文本,然后在按【Esc】键退出插入模式,进入命令模式。输入:qw进行保存退出。

    注③ 权限参数

    参数值

    内容说明

    rw

    ro

    目录分享权限是可读写(read-write)或者只读(read-only),但最终能否读写还是与档案系统的rwx以及身份相关

    sync

    async

    sync 资料会同步写入内存和硬盘中, async 资料会先存入内存中,而不是直接写入硬盘。

    no_root_squash

    root_squash

    客户端使用NFS的账号若为root时,系统如何判断这个账号的身份?

    默认情况下,客户端root的身份由root_squash设定缩减为nfsnobody,这样才能保证服务器系统的安全。

    但若想开放客户端的root身份来操作服务器档案系统,就需要设置no_root_squash

    all_squash

    无论登入NFS的客户端身份是什么,都会被缩减为匿名使用者,也就是nobody(nfsnobody)

    anonuid

    anongid

    anon 代表anonymous (匿名用户),前面关于*_squash提到的匿名用户的UID设定值,通常为nobody(nfsnobody),但是你也可以自行设定这个UID的值!当然,这个UID必须存在你的/etc/passwd当中!anongid 则是群组的GID。

    注④ Exportfs命令

    Exportfs命令是使得本地目录可以被NFS客户端进行安装,默认使用/etc/exports文件进行导出一个或者多个目录。

    参数:

     –r   重新读取etc/exports文件中的设置,并使设置生效,而无需重启NFS服务     -v    显示当前共享目录及详细的选项设置

      其它具体设置,请参照exportfs的命令详解。

    注⑤ 用户端查询服务器分享资源的指令:/usr/sbin/showmount

    这是另一个重要的NFS指令。exportfs是用于在NFS Server端进行设置,查询的。而showmount则主要用于Client端,用于查看NFS分享出来的目录资源。

    -e   显示导出服务器上的所有文件系统。

    -a   显示每个已安装在服务器上的所有网络文件系统 (NFS) 客户端和目录。

    -d   显示当前装载 NFS 客户端的服务器上的所有目录。

  • 相关阅读:
    firewalld防火墙
    MariaDB
    if,for,while
    自定义带图标input样式
    display:inline-block 和 float 水平排列区别?
    css中块元素和行内元素区别
    margin-top 为什么会影响父元素的 margin-top
    vertical-align 的理解
    什么是HTTP协议?
    Grunt 自动编译 Less 文件配置
  • 原文地址:https://www.cnblogs.com/kaka/p/2950236.html
Copyright © 2011-2022 走看看