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

6月21日任务

14.1 NFS介绍
14.2 NFS服务端安装配置
14.3 NFS配置选项

 

14.1 NFS介绍

 

14.2 NFS服务端安装配置

1、首先需要2台机器,一台是服务端,一台是客户端,分别安装nfs-utils。

服务端需要安装的程序

[root@jimmylinux-001 ~]# yum install -y nfs-utils rpcbind

客户端需要安装的程序

[root@jimmylinux-001 ~]# yum install -y nfs-utils

2、编辑文件 vim /etc/exports 

[root@jimmylinux-001 ~]# vim /etc/exports

写入以下内容
/home/nfstestdir 192.168.52.0/24(rw,sync,all_squash,anonuid=1000,anongid=1000)

前面一段是共享目录,后面一段定义你要给那个机器去分享共享这个目录,指定一个IP或IP段。

3、创建要分享的目录,并设置成777的权限,设置成777权限是为了方便一会做实验。

[root@jimmylinux-001 ~]# mkdir /home/nfstestdir

[root@jimmylinux-001 ~]# chmod 777 /home/nfstestdir

4、启动rpcbind 服务

[root@jimmylinux-001 ~]# systemctl start rpcbind

查看rpcbind 服务监听端口

[root@jimmylinux-001 ~]# netstat -lnpt
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
tcp        0      0 0.0.0.0:111             0.0.0.0:*               LISTEN      2572/rpcbind        
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      1101/nginx: master  
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      942/sshd            
tcp        0      0 127.0.0.1:25            0.0.0.0:*               LISTEN      1267/master         
tcp        0      0 0.0.0.0:443             0.0.0.0:*               LISTEN      1101/nginx: master  
tcp6       0      0 :::111                  :::*                    LISTEN      2572/rpcbind        
tcp6       0      0 :::22                   :::*                    LISTEN      942/sshd            
tcp6       0      0 ::1:25                  :::*                    LISTEN      1267/master         
tcp6       0      0 :::3306                 :::*                    LISTEN      1315/mysqld  

5、启动nfs服务,在启动nfs服务后会自动启动rpc相关的其他服务。

6、如果想让nfs服务开机自启动,还需要执行以下命令。

[root@jimmylinux-001 ~]# systemctl enable nfs
Created symlink from /etc/systemd/system/multi-user.target.wants/nfs-server.service to /usr/lib/systemd/system/nfs-server.service.

 

14.3 NFS配置选项

[root@jimmylinux-001 ~]# cat /etc/exports 
/home/nfstestdir 192.168.52.0/24(rw,sync,all_squash,anonuid=1000,anongid=1000)    括号里面是nfs的配置选项内容

NFS配置选项的含义:

rw   读写
ro   只读
sync                        同步模式,内存数据实时写入磁盘(sync很快的就会把数据写到磁盘去,但是不好之处就会降低磁盘效率)
async                      非同步模式(不需要实时把数据写入到磁盘,每隔一段时间会把内存数据刷入到磁盘,好处是可以保障磁盘效率,不好就是万一断电,数据可能会丢失)
no_root_squash     客户端挂载NFS共享目录后,root用户不受约束,权限很大
root_squash           与上面选项相对,客户端上的root用户收到约束,被限定成某个普通用户
all_squash              客户端上所有用户在使用NFS共享目录时都被限定为一个普通用户
anonuid/anongid    和上面几个选项搭配使用,定义被限定用户的uid和gid

下面在客户端上做一个挂载

1、安装rpcbind,rpcbind包是由nfs-utils自带的包一起安装的。

[root@jimmylinux-002 ~]# yum install -y nfs-utils

2、假如有一台机器已经做了nfs的服务,可以使用showmount查看是否有权限。

如果出现上面的报错,说明网络不通,没有办法和192.168.52.128的111端口通讯,要么是对方的rpcbind服务没有开启,如果服务开启了还不行,那就是防火墙的关系导致。

把服务端和客户端的防火墙都关闭,包括selinux。

[root@jimmylinux-001 ~]# systemctl stop firewalld  关闭服务端防火墙

[root@jimmylinux-001 ~]# setenforce 0
[root@jimmylinux
-002 ~]# systemctl stop firewalld 关闭客户端防火墙 [root@jimmylinux-002 ~]# getenforce 关闭selinux Enforcing
[root@jimmylinux-002 ~]# setenforce 0

这个时候再showmount 查看权限就可以了

3、mount 挂载

可以在这个目录下创建一个文件

为什么服务端和客户端2边的显示名字不一样呢?

因为在配置选项中有anonuid和anongid,而配置文件中有写了一个

anonuid=1000,anongid=1000(1000的id来限定一个普通用户)意思就是说一旦挂载了nfs共享的目录,不够用哪个用户来操作,最终都是以1000uid和1000gid的用户体现出来。

这个就是因为限定了用户,所以会显示成这样子的。

 

 

posted @ 2018-06-22 00:37  吉米乐享驿站  阅读(2147)  评论(0编辑  收藏  举报