Advertisement

NFS介绍、NFS服务端安装配置、NFS配置选项

阅读量:

NFS介绍

其中 A、B、C 三台设备上所需的共享资源具有相同的配置。A节点发布数据后会被多个客户端同时挂载。这些客户端(如 B 和 C)即可像访问本地存储一样获取一致的数据副本。

这里写图片描述

NFS原理图:

这里写图片描述

NFS服务端安装配置

准备两台机器,一个做服务端,一个做客户端

服务器端:192.168.176.135 客户端:192.168.176.134

服务器端操作:

安装两个包 nfs-utils rpcbind

复制代码
    [root@shuai-01 ~]# yum install -y nfs-utils rpcbind

安装完后编辑export

复制代码
    [root@shuai-01 ~]# vim /etc/exports

加入下面内容

复制代码
    /home/nfstestdir 192.168.176.0/24(rw,sync,all_squash,anonuid=1000,anongid=1000)

字段理解

复制代码
    #/home/nfstestdir :需要共享挂载的目录
    #192.168.8.0/24:共享网段的权限,也可以是IP

保存配置文件后,执行如下准备操作

复制代码
    [root@shuai-01 ~]# mkdir /home/nfstestdir                           //创建分享的目录
    
    [root@shuai-01 ~]# chmod 777 /home/nfstestdir                    //共享目录设置777权限
    
    
    #systemctl start nfs                                //启动nfs服务,rpcbind默认监听端口111
    
    #systemctl enable rpcbind                                     //设置开机启动
    #systemctl enable nfs //开机启动nfs

客户端的配置
安装 nfs-utils

复制代码
    [root@shuai-02 ~]# yum install -y nfs-utils
                            //安装包

查看是否有权限连接

复制代码
    [root@shuai-02 ~]# showmount -e 192.168.176.135
    Export list for 192.168.176.135:
    /home/nfstestdir 192.168.176.0/24

错误:

复制代码
    [root@shuai-02 ~]# showmount -e 192.168.176.135
    clnt_create: RPC: Port mapper failure - Unable to receive: errno 113 (No route to host)

如果所有配置都已完成,请注意可能的连接问题,请确保nfs服务已启用。为了进一步排查问题,请通过检查以下防火墙工具来确认:使用iptables进行端口转发管理、util/f Firewalld进行动态管理以及selinux用于细粒度的安全控制。

复制代码
    Export list for 192.168.176.135:  
    /home/nfstestdir 192.168.176.0/24

//服务器机的/home/nfstestdir目录,共享给了192.168.176.0/24网段

在客户机上挂载:

复制代码
    [root@shuai-02 ~]# mount -t nfs 192.168.176.135:/home/nfstestdir /mnt/
    [root@shuai-02 ~]# df -h
    文件系统                          容量  已用  可用 已用% 挂载点
    /dev/sda3                          18G  1.1G   17G    6% /
    devtmpfs                          479M     0  479M    0% /dev
    tmpfs                             489M     0  489M    0% /dev/shm
    tmpfs                             489M  6.7M  482M    2% /run
    tmpfs                             489M     0  489M    0% /sys/fs/cgroup
    /dev/sda1                         197M  109M   88M   56% /boot
    tmpfs                              98M     0   98M    0% /run/user/0
    192.168.176.135:/home/nfstestdir   18G  7.0G   11G   40% /mnt

客户机创建文件,指定为1000

复制代码
    [root@shuai-02 mnt]# touch test
    [root@shuai-02 mnt]# ls -l
    总用量 0
    -rw-r--r--. 1 1000 1000 0 1月  21 21:00 test
    -rw-r--r--. 1 1000 1000 0 1月  21 20:51 test.log

服务器机创建文件:

复制代码
    [root@shuai-01 mnt]# touch test.log
    [root@shuai-01 ~]# ls -l /home/nfstestdir/
    总用量 0
    -rw-r--r--. 1 shuai shuai 0 1月  21 21:00 test
    -rw-r--r--. 1 shuai shuai 0 1月  21 20:51 test.log

NFS配置选项

rw:读写;
ro :只读
sync:(同步)将数据同步写入内存缓冲区与磁盘中进行处理效率较低但能确保数据一致性;
async:(异步)先将数据暂存于内存缓冲区待必要时再进行磁盘操作;
all_squash:所有访问用户均被映射为匿名用户或系统指定用户(如/etc/exports文件定义的用户);
no_all_squash(默认):允许客户端用户与本地系统用户进行匹配若匹配成功则执行相应操作若无匹配则转为匿名用户或系统指定用户;
anonuid=1000,anongid=1000:设置匿名用户的ID信息为uid:1000 gid:1000;
no_root_squash 客户端挂载NFS服务后root用户的权限不受限制拥有较大的权限范围;
root_squash 与此相对应客户端root用户的权限受到严格限制仅能以特定普通用户身份运行

exports命令

该工具执行的服务器端操作具体包括...]
【该工具用于控制或维护当前NFS共享的文件系统的列表信息...

命令:exports
选项:

-a:全解压或全挂载
-r:解压
-u:解压指定目录
-v:列出共享目录
常用组合 exportfs -arv
修改服务器上的配置文件后无需重启即可通过执行此命令使更新生效。

请特别注意,在进行nfs服务重启操作之前必须首先将所有挂载点进行卸载操作;这可能导致程序运行异常。

NFS客户端问题

NFS 4版本的问题

将共享目录配置至客户端端后,在注册root账户或者普通账户的情况下,默认状态下新增文件均不会指定所属账户与存储位置

解决方法:

方法1:在客户端进行挂载时加上选项-o nfsvers=3

复制代码
    monunt -t nfs -o nfsvers=3 192.168.176.135:/tmp/ /mnt/

如果目录已经挂载,而又不想卸载,执行如下命令:

复制代码
    monunt -t nfs -o remount,nfsvers=3 192.168.176.135:/tmp/ /mnt/

方法2:客户端和服务端都需要

复制代码
    vim /etc/idmapd.conf

更换该配置文件中的Domain字段值为xxx.com(其中xxx.com为自定义域名),随后重新启动 rpcidmapd 服务;具体操作中,在CentOS 7环境中直接重新启动 rpcbind 服务。

全部评论 (0)

还没有任何评论哟~