linux下配置nfs服务器以及设置自动挂载(以centos6.7为例)

简介:

NFS(百度百科):NFS(Network File System)即网络文件系统,是FreeBSD支持的文件系统中的一种,它允许网络中的计算机之间通过TCP/IP网络共享资源。在NFS的应用中,本地NFS的客户端应用可以透明地读写位于远端NFS服务器上的文件,就像访问本地文件一样。

NFS在文件传送或信息传送过程中依赖于RPC协议。RPC,远程过程调用 (Remote Procedure Call) 是能使客户端执行其他系统中程序的一种机制。NFS本身是没有提供信息传输的协议和功能的,但NFS却能让我们通过网络进行资料的分享,这是因为NFS使用了一些其它的传输协议。而这些传输协议用到这个RPC功能的。可以说NFS本身就是使用RPC的一个程序。或者说NFS也是一个RPC SERVER。所以只要用到NFS的地方都要启动RPC服务,不论是NFS SERVER或者NFS CLIENT。这样SERVER和CLIENT才能通过RPC来实现PROGRAM PORT的对应。可以这么理解RPC和NFS的关系:NFS是一个文件系统,而RPC是负责负责信息的传输。

实验环境准备:服务端CentOS6.7,ip:192.168.1.3;客户端机器test,ip:192.168.1.6;两台机器可以通信,即相互ping的通,关掉服务端防火墙(命令:service iptables stop)和sexlinux(命令:setenforce 0)。

配置步骤:

1.在客户端安装nfs

           yum install nfs*   (这样就会把依赖的软件都下载下来,包括portmap)

 2.修改配置文件(默认打开是空白)

    vi  /etc/exports

    增加一条: /home/dong    *     (rw)


wKiom1dk8FKw1aOJAAASm4vz8Ms291.jpg

(注: 2.0 NFS的配置文件为 /etc/exports,内容格式如下:

                <共享目录> 客户端1(选项) [客户端2(选项) ...]

                共享目录:NFS共享给客户机的目录。

                客户端:网络中可以访问此目录的主机。多个客户端以空格分隔。
                选项:设置目录的访问权限、用户映射等,多个选项以逗号分隔。

           例如:/home/dong 1 92.168.1.0/24 (rw,insecure,sync,all_squash,anonuid= 65534,anongid=65534)

2.1 客户端的指定方式

             指定ip地址的主机:192.168.0.100或者指定子网中的所有主机:192.168.0.0/24 或               192.168.0.0/255.255.255.0   指定域名的主机:nfs.test.com   指定域中的所有主机:*.test.com

所有主机:*

2.2选项说明

            ro:共享目录只读;

            rw:共享目录可读可写;
            all_squash:所有访问用户都映射为匿名用户或用户组;
            no_all_squash(默认):访问用户先与本机用户匹配,匹配失败后再映射为匿名用户或用户组;

            root_squash(默认):将来访的root用户映射为匿名用户或用户组;

            no_root_squash:来访的root用户保持root帐号权限;

            anonuid=<UID>:指定匿名访问用户的本地用户UID,默认为nfsnobody(65534);
            anongid=<GID>:指定匿名访问用户的本地用户组GID,默认为nfsnobody(65534);

            secure(默认):限制客户端只能从小于1024的tcp/ip端口连接服务器;

            insecure:允许客户端从大于1024的tcp/ip端口连接服务器;
            sync:将数据同步写入内存缓冲区与磁盘中,效率低,但可以保证数据的一致性;
            async:将数据先保存在内存缓冲区中,必要时才写入磁盘;
            wdelay(默认):检查是否有相关的写操作,如果有则将这些写操作一起执行,这样可以提高效率;

            no_wdelay:若有写操作则立即执行,应与sync配合使用;
            subtree_check(默认) :若输出目录是一个子目录,则nfs服务器将检查其父目录的权限;

            no_subtree_check :即使输出目录是一个子目录,nfs服务器也不检查其父目录的权限,这样可以提高效率;

     3.启动nfs服务:service nfs start  会起来四个服务

wKiom1dk8PrhXXi4AADBRih6Xn8195.jpg-wh_50   

4.在客户端挂载

wKiom1dk8jzSuTpYAAAUgwBjw1Y490.jpg

如果出现错误的话建议你在客户端安装以下nfs相关应用,因为报错的情况很多,安装后就没了:yum install -y nfs*

5.查看你挂载到的目录是否出现服务端的的内容,如果没有问题证明实验成功,到此可以结束了,请往后面去看自动挂载的配置;这时你如果发现你没有权限的话出现下面图片的情况的话

wKiom1dk9Cay_g6VAAAkcJbxWiY764.jpg

转到服务端查看共享目录的权限

wKiom1dk9InAOpvnAAAUv1IlIbI879.jpg

发现其他同组的用户和其他用户的权限是---,那就执行下下面的命令如图

wKioL1dk9OKhuXNBAACFQ76Xpus844.jpg-wh_50

设置好权限后再返回客户端查看挂载的目录发现就可以看到一模一样的文件了。

wKiom1dk9SSAID4GAAB0OKBjX18345.jpg-wh_50

在/mnt里面可以创建和删除文件了。

到此配置nfs结束,下面是解决每次客户端开机都需要输入很长的挂载命令的不便问题,接下来是客户端自动挂载的配置:

1.在客户端安装软件autofs

wKioL1dk9qmhFmTXAACIg2_JYYo557.jpg-wh_50

2.修改主配置文件 vim /etc/auto.master

增加一条   /home/text-autonfs  /etc/auto.nfs

/home/autofs-test不需要存在这个目录,挂载后自动创建。

3.编辑auto.nfs (原先不存在,编辑时会自动创建)

vi /etc/auto.nfs 

增加一条: dong   -rw    192.168.1.3:/home/dong

4.重启autofs服务

serveice autofs restart

wKioL1dk-UTQ__zxAAAkLoR7EsE733.jpg-wh_50

5.测试:卸载原来的挂载,仅输入命令:mount  就会自动挂载设置好的命令。

wKiom1dk-k6BmP8WAAAe0opcN20202.jpg

6.查看自动生成的挂载目录

wKiom1dk-ujS53YdAAA0J0OXkYo373.jpg-wh_50

7.查看挂载的目录,发现映射成功。

ls   /mnt/test-autonfs/dong

wKiom1dk_QOBFdbpAABpUhBucYE937.jpg-wh_50

ok!











本文转自 河北李晓东  51CTO博客,原文链接:http://blog.51cto.com/lixiaodong2016/1790620,如需转载请自行联系原作者
目录
相关文章
|
13天前
|
Linux
linux centos history 查看命令历史 显示时间戳
linux centos history 查看命令历史 显示时间戳
|
10天前
|
NoSQL 关系型数据库 应用服务中间件
jdk1.8、mysql、redis、nginx centos云服务器安装配置
jdk1.8、mysql、redis、nginx centos云服务器安装配置
|
11天前
|
Linux 编译器 C++
Linux centOS 编译C/C++
Linux centOS 编译C/C++
|
12天前
|
Ubuntu Java Linux
Linux centos7 ubuntu 一键安装Java JDK 脚本 shell 脚本
Linux centos7 ubuntu 一键安装Java JDK 脚本 shell 脚本
|
12天前
|
Ubuntu 应用服务中间件 Linux
Linux Centos7 ubuntu 安装nginx,脚本一键安装nginx
Linux Centos7 ubuntu 安装nginx,脚本一键安装nginx
|
13天前
|
关系型数据库 MySQL Linux
centos linux mysql 5.5脚本全自动源码包 编译安装
centos linux mysql 5.5脚本全自动源码包 编译安装
|
13天前
|
Linux 应用服务中间件 开发工具
centos linux 通过yum安装nginx
centos linux 通过yum安装nginx
|
13天前
|
Ubuntu Linux
查看Linux系统是Ubuntu还是CentOS
查看Linux系统是Ubuntu还是CentOS
24 0
|
14天前
|
Linux 存储 Windows
08. 【Linux教程】CentOS 目录介绍
08. 【Linux教程】CentOS 目录介绍
15 2
|
22天前
|
缓存 Linux 编译器
Linux(CentOS7.5) 安装部署 Python3.6(超详细!包含 Yum 源配置!)
该指南介绍了在Linux系统中配置Yum源和安装Python3的步骤。首先,通过`yum install`和`wget`命令更新和备份Yum源,并从阿里云获取CentOS和EPEL的repo文件。接着,清理和更新Yum缓存。然后,下载Python3源代码包,推荐使用阿里云镜像加速。解压后,安装必要的依赖,如gcc。在配置和编译Python3时,可能需要解决缺少C编译器的问题。完成安装后,创建Python3和pip3的软链接,并更新环境变量。最后,验证Python3安装成功,并可选地升级pip和配置pip源以提高包下载速度。