centOS下NFS服务器的安装配置详解

1、NFS简介html

       NFS就是Network FileSystem的缩写,最先以前是由Sun公司所发展出来的。他最大的功能就是能够透过网络,让不一样的机器、不一样的操做系统能够彼此分享个别档案(share file)。这个NFS Server可让你的PC来说网络远程的NFS主机分享的目录,挂载到本地端的机器当中,因此,在本地端的机器看起来,那个远程主机的目录就好像是本身的一个磁盘分割操同样。说白了,就至关于Windows下面的文件共享同样.....web

       NFS使用的协议是RPC(远程过程调用)协议来协助NFS自己的运做! NFS本省的服务并无提供数据传输的协议,可是NFS却可以让咱们进行档案的分享,这其中的缘由就是NFS使用到一些其它相关的传输协议!而这些传输的协议,就是使用到这个所谓的RPC的功能!这也就是说,NFS自己就是使用RPC的一个程序了,NFS能够视做一个RPC server,NFS管理主要管理分享出来的目录,而至于数据的传输,就直接丢给RPC协议来运做!centos

       NFS Server总过须要启动至少两个进程(rpc.nfsd和rpc.mountd),一个管理Client是否能够登入的问题,另外一个管理登入主机后的用户是否可以使用的档案权限!nfsd这个进程主要在管理客户端是否可以登入主机的权限,mountd这个进程则在管理NFS的档案系统,当客户端顺利经过nfsd后,登入到主机以后,在他使用能够NFS Server分享的档案以前,还会通过档案使用权限的认证程序!只有经过这一关以后,Client才可以使用NFS服务所分享的档案。安全

       当客户端尝试使用RPC Server所提供的服务时,因为Client须要取得一个能够链接的端口(port)才可以使用RPC Server所提供的服务,所以,客户端首先去请求rpcbind(旧版本是portmp),而后,rpcbind将本身管理的端口映射告知客户端,好让客户端能够链接上服务,所以:启动NFS以前,必定要先启动rpcbind服务器

       总结一下安装NFS都须要什么,首先须要rpcbind,将端口告知客户端。其次须要nfs-utils,提供nfsd进程和mountd这两个NFS进程。网络

 

2、安装环境async

       这里咱们提供两台主机,一台用来安装NFS服务器,一台用来挂载服务器分享的目录,操做系统所有采用的是centOS6.4,下载地址个人博文《Hadoop彻底分布式模式搭建》中有,若是,对Hadoop感兴趣的话,能够看看:http://blog.sina.com.cn/s/blog_c09822a40102v9ja.html分布式

       主机名                                               IP地址                                        分享目录/挂载目录oop

       centosDateNode3                      192.168.10.71                                    /home/roboson ui

       centosNameNode                      192.168.10.66                                    /home/roboson1

 

3、大体流程

<1>.安装NFS Server

<2>.启动服务

<3>.设定分享的目录

<4>.分享目录的范围详解(给哪些客户端分享)

<5>.分享目录的权限详解(客户端能对分享的目录进行哪些操做)

<6>.服务器分享目录

<7>.服务器对分享目录的操做(卸掉,修改后从新分享使生效等)

<8>.服务器和客户端如何查看分享的目录

<9>.客户端挂载目录

<10>.客户端卸载目录

<11>.NFS Server如何设置开机自动启动

<12>.客户端如何设置开机自动挂载分享目录 

 

 4、开工

<1>.安装NFS Server

首先查看NFS Server是否已经安装,其实在默认状况下,NFS Server已经安装好了,下面查看是否安装了NFS Server,打开命令行,输入如下指令:

 rpm -qa|grep nfs #前面的博文中这个指令用过好屡次了 

前面也说过,在运行NFS Server以前,必定要先启动rpcbind,因此,用相同的方法,查看是否安装

了rpcbind,在命令行下输入如下指令:

rpm -qa|grep rpcbind 

 

如上图所示,说明系统已经安装了NFS Server和rpcbind,若是没有安装,也无所谓,centos操做系统中自带有安装包,打开系统挂载的地方,而后,进行安装!打开命令行,输入如下指令:

cd /media/CentOS_6.4_Final/Packages          #切换到挂载光驱的位置           

ls rpcbind* #列出全部以rpcbind开头的包 rpm -ivh rpcbind-0.2.0-11.el6.x86_64.rpm #安装列出的软件包(一个) 

如上图所示,安装成功,那么下来,就是安装NFS Service,同上面同样,先进入软件安装包中,而后,在命令行中输入如下指令:

cd /media/CentOS_6.4_Final/Packages           #切换到挂载光驱的位置           

ls nfs*                                       #列出全部以rpcbind开头的包  

rpm -ivh  nfs-utils-1.2.3-36.el6.x86_64.rpm   #安装列出的软件包(一个) 

       <2>.启动服务

在安装完成后,咱们就须要启动NFS Server所须要的进程,查看一下服务的状态,看是否启动,在命令行下输入如下指令:

service nfs status                                  #查看NFS Server的状态          

service rpcbind status                              #查看rpcbind的状态                

如上图所示,所须要的进程都已经开启!接下来nfs就能够设定分享目录了。

       <3>.设定分享的目录

       Linux把要分享的目录的路径都放在一个文件中,而且有分享的客户端范围,有分享的权限,这个目录

       在/etc/exports,若是没有这个文件,能够本身手动建一个,记录分享目录的格式:

     【分享的目录】【单个或多个主机名称】或【IP范围】(权限)

       /home/roboson  *(rw)

       如上所示,分享的目录是/home/roboson,对全部人开放  ,权限是可读可写!

       好,分享的范围都有哪些定义法,权限都有哪些呢?

       <4>.分享目录的范围详解(给哪些客户端分享)

(1).指定ip地址的主机:192.168.10.71

只容许IP地址为192.168.10.71的主机能够登陆到此共享目录

(2).指定子网中的全部主机:192.168.0.0/24或者192.168.0.0/255.255.255.0

只容许192.168.10.1~192.168.10.254这个网段内的IP登陆到此共享目录

(3).指定域名的主机:centosNameNode.roboson.cn

只容许主机名为centosNameNode.roboson.cn的能够登陆到此共享目录

(4).指定域内的全部主机:*.roboson.cn

只容许域名为.roboson.cn的能够登陆到此共享目录

(5).指定全部的主机:*

       <5>.分享目录的权限详解(客户端能对分享的目录进行哪些操做)

(1).rw:可读可写的权限

(2).ro:只读的权限

(3).no_root_squash:登入分享目录的使用者若是是root的话,那么对于这个分享的目录来讲,他就具备root的权限!这一项不安全,不建议使用!

(4).root_squash:登入分享目录的使用者若是是root的话,那么这个使用者的权限将被压缩成匿名使用者,一般他的UID与GID都会变成nobody那个系统帐号的身份。

(5).all_squash:不论登入分享目录的使用者是什么身份,都会被压缩成匿名使用者。

(6).anonuid:能够自行设定使用者UID的值!也就是使用者登陆到分享目录中,身份成为UID这个使用者,必须在/etc/passwd中存在这个UID。

(7).anongid:能够自行设定使用者GID的值!也就是使用者登陆到分享目录中,身份成为GID这个使用者,必须在/etc/group中存在这个GID。

(8).sync:数据同步写入到内存与硬盘当中

(9).async:数据会先暂存于内存当中,而非直接写入硬盘

       <6>.服务器分享目录

将centosDateNode3上的/home/roboson目录分享出去,对centosNameNode.roboson.cn主机开放,而且具备读写权限,在命令行中输入如下指令:

注意:centosDateNode3必需要可以解析centosNameNode.roboson.cn这台主机,要么在DNS务器上有记录,要么在/etc/hosts文件下有记录

hosts文件域名映射IP地址的添加,在个人博文《Hadoop彻底分布式模式搭建》中有,若是,对Hadoop感兴趣的话,能够看看:

http://blog.sina.com.cn/s/blog_c09822a40102v9ja.html

<7>.服务器对分享目录的操做(卸掉,修改后从新分享使生效等)

修改好了/etc/exports文件 后,经过如下指令可让分享目录生效,不须要从新启动nfsd等守护进程只须要使用exportfs从新扫描一次/etc/exports文件,而且从新加载一次就能够了,如下是它的用法:

exportfs                                                                                                    

<8>.服务器和客户端如何查看分享的目录

经过showmount能够查看共享的目录,showmount语法以下:

服务器端查看本身分享的目录:

showmount    -e     

客户端查看本身分享的目录:

showmount    -e  centosDateNode3.roboson.cn

注意:若是出现上图Unknown host说明识别不了主机,因此,hosts或者DNS服务器没有记录你的主机与IP地址的映射关系。前面已经提到过了!

<9>.客户端挂载目录

前面的安装环境中,说过,将分享 的目录挂载到/home/roboson1下,输入:

mkdir    /home/roboson1                 #建立要挂载的目录
mount -t  nfs centosDateNode3.roboson.cn:/home/roboson   /home/roboson1 
cd /home/roboson1                       #看是否可以登陆到共享目录

注意:若是出现上图权限不够,由于centosDateNode3.roboson.cn:/home/roboson自己也有权限(drwx-xxx-xxx),不容许组内其余成员和组外的成员访问,只容许本身访问,所以要修改权限。

而后,再进入到挂载的目录,而且新建一个文件夹,看有没有读写权限:

如图所示,说明挂载共享目录成功,而且拥有读写权限(rw)

<10>.客户端卸载目录

客户端卸载共享目录是经过umount实现的

umount /home/roboson1

<11>.NFS Server如何设置开机自动启动

说到这里,先说说Linux的开机启动模式,Linux的开机启动模式有多种,那么若是要设置开机启动项,就得说明,哪种开机启动模式下,个人服务要自动启动!先看看Linux都有哪几种启动模式,在命令行输入如下指令:

cat /etc/inittab                #这个文件下有Linux的开机启动模式

从上图能够看出,总共有七种开机模式:

0:表示关机

1:表示单用户模式,能够经过这个模式修改root的密码

2:无网络链接的多用户命令行模式

3:有网络链接的多用户命令行模式

4:不可用

5:图形界面

6:重启

看见下面有一句话:id:5:initdefault:这句话的主要做用就是修改默认的启动模式,若是把5改成3, 那么就进入命令行模式!同理,修改开机启动项,也须要看给哪一种模式设置开机自动启动,是用多用户命令行登陆后,进程自动启动,仍是以图形界面登陆的时候,进程自动启动等等.....

chkconfig --list rpcbind         #查看rpcbind的开机启动状况                                 
chkconfig --list nfs             #查看nfs的开机启动                                       

如图所示,通常咱们用的要么是3,要么是5,因此,只须要设置三、5开机自动启动就能够了

 

<12>.客户端如何设置开机自动挂载分享目录  

每次客户端重启的话,都须要从新挂载分享目录,挺麻烦的,最好可以设置开机自动挂载,Linux下能够经过/etc/fstab文件来记录,格式以下:

共享目录          本地挂载目录        nfs  选项  0 0

                                                                                 

5、关机或结束时的注意事项

       因为NFS使用的这个RPC在client端连上主机时,那么主机在想要关机的时候,可能关不了,若是,主机上面还有Client在联机,那么最好关机以前,关掉portmap与nfs这两个东西

相关文章
相关标签/搜索