一、了解NFS

Samba 是主要用于实现Linux和Windows操作系统之间文件共享的协议,而NFS则是实现UNIX和Linux操作系统之间文件共享的协议。

NFS可以把网络上远程的文件挂载到本机机器上。

二、安装

需要安装 portmap和nfs-utils这两个包,用rpm安装或者直接用yum安装都可以。好像一般都默认安好了...贴心~

rpm -ivh portmap-4.0-65.2.2.1.i386.rpm

rpm -ivh nfs-utils-1.0.9-50.el5.i386.rpm

三、配置

只有一个配置文件是/etc/exports,如果不存在需要自己创建。

/etc/exports文件内容格式:

<输出目录> [客户端1域名/IP(选项(访问权限,用户映射,其他))] [客户端2域名/IP 选项(访问权限,用户映射,其他)]

(共享目录和客户端之间、客户端与客户端之间都需要使用空格分隔,但是客户端和选项的小括号挨着,选项之间以逗号分隔)

如果客户端写的域名要保证DNS服务器可以解析到正确的IP,如果是IP,要保证服务器和客户端之间能够ping通,gg,这个必须有啊...

NFS主要的选项有3类:

A 访问权限选项

设置输出目录只读:ro

设置输出目录读写:rw

B 用户映射选项

all_squash:将远程访问的所有普通用户及所属组都映射为匿名用户或用户组(nfsnobody);

no_all_squash:与all_squash相反(默认设置);

root_squash:将root用户及所属组都映射为匿名用户或用户组(默认设置);

no_root_squash:与rootsquash相反;

anonuid=xxx:将远程访问的所有用户都映射为匿名用户,并指定该用户为本地用户(UID=xxx);

anongid=xxx:将远程访问的所有用户组都映射为匿名用户组账户,并指定该匿名用户组账户为本地用户组账户(GID=xxx);

C 其它选项

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

insecure:允许客户端从大于1024的tcp/ip端口连接服务器;

sync:将数据同步写入内存缓冲区与磁盘中,效率低,但可以保证数据的一致性;

async:将数据先保存在内存缓冲区中,必要时才写入磁盘;

wdelay:检查是否有相关的写操作,如果有则将这些写操作一起执行,这样可以提高效率(默认设置);

no_wdelay:若有写操作则立即执行,应与sync配合使用;

subtree:若输出目录是一个子目录,则nfs服务器将检查其父目录的权限(默认设置);

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

例如,我们在namenode1机器上配置做如下配置

/home/dfs/nfs_share_edits/      namenode2(rw)

这个配置是把namenode1上的/home/dfs/nfs_share_edits目录设置成共享,可以给namenode2来访问,访问权限是可读写。

四、启动

sudo service portmap start

sudo service nfs start

查询状态

service portmap status

service nfs status

停止服务

service nfs stop

service portmap stop

五、 客户端测试

1、服务器端 showmount -e 查看服务器的共享目录

客户端 showmount -e NFS服务器IP 查看指定IP的服务器共享的目录

2、在本地计算机种创建挂载点目录

如:mkdir -p /xiaotao/share

3、挂载服务器上的共享目录

mount -t nfs NFS服务器IP/域名:共享文件目录 本地挂载目录

例如,在namenode2机器上运行mount命令挂载namenode1的NFS共享目录

mkdir /home/dfs/nfs_share_edits

sudo mount namenode1:/home/dfs/nfs_share_edits  /home/dfs/nfs_share_edits

这是把namenode2把namenode1的NFS共享目录挂载到本地,这样就可以访问远程的共享目录了,挂载前需要先创建本地的挂载目录。

挂载之后,可以用mount命令查看挂载状态

sudo mount | grep -i nfs

卸载命令

umount 本地挂载目录

如果卸载的时候提示,device is busy,可能原因是一个进程仍然在使用这个目录。

六、 相关的守护进程

nfsd

它是基本的NFS守护进程,主要功能是管理客户端是否能够登录服务器;

mountd

它是RPC安装守护进程,主要功能是管理NFS的文件系统。当客户端顺利通过nfsd登录NFS服务器后,在使用NFS服务所提供的文件前,还必须通过文件使用权限的验证。它会读取NFS的配置文件/etc/exports来对比客户端权限。
 
portmap

主要功能是进行端口映射工作。当客户端尝试连接并使用RPC服务器提供的服务(如NFS服务)时,portmap会将所管理的与服务对应的端口提供给客户端,从而使客户可以通过该端口向服务器请求服务。
 
七、 相关的命令

#查看配置

exportfs

#默认查看共享的服务

showmount -e

#查看已经与客户端连接上的目录信息

showmount -a

八、停止服务

service nfs stop

service portmap stop

如果当前还有客户端正在连接NFS服务器,此时要想将NFS服务器所在的主机关机,应先关掉portmap和nfs这两个服务,否则可能要等待很久才能正常关机。如果无法正确地将potrmap和nfs这两个服务关掉,那么可先用命令netstat -utlp找出它们的PID,然后使用kill命令杀掉,这样才能正常关机。

当然,还可以先用exportfs -auv命令将当前主机中NFS服务器的所有输出目录停止掉,再关机。

很有爱的NFS...没有遇见bug...

redhat enterprixe 5.0 NFS服务配置与管理的更多相关文章

  1. redhat enterprixe 5.0 DNS 服务配置与管理

    一.了解DNS相关概念 DNS是一个分布式数据库,在本地负责控制整个分布式数据库的部分段,每一段中的数据通过客户机/服务器模式在整个网络上存取.通过采用复制技术和缓存技术使得整个数据库稳定可靠的同时, ...

  2. redhat enterprixe 5.0 web 服务配置与管理

    一.Web服务及工作原理 Web服务的实现采用客户/服务器模型.客户机运行Web客户程序(浏览器),作用是解释和显示Web页面,相应用户的输入请求,并且通过http协议将用户请求传递给Web服务器.W ...

  3. linux的基本操作(NFS服务配置)

    服务配置 [什么是NFS] NFS会经常用到,用于在网络上共享存储.这样讲,你对NFS可能不太了解,笔者不妨举一个例子来说明一下NFS是用来做什么的.假如有三台机器A.B.C,它们需要访问同一个目录, ...

  4. linux nfs服务配置挂载以及oracle使用nfs存储挂载注意事项

    服务端共享目录 /home/XXX/nfs_shared 172.16.22.0/24(rw,no_root_squash) service nfs restart 常用命令: 查看所有nfs共享目录 ...

  5. NFS 服务配置篇

    安装.配置NFS服务 1.NFS简介 NFS(network file system) NFS是一个主机A通过网络,允许其他主机B可以来共享主机A的一个目录文件的一个文件系统 2.需要安装两个包nfs ...

  6. NFS服务配置总结

    目录 介绍 原理 适用场景 安装 NFS服务端 NFS客户端 配置 服务端配置 客户端配置 介绍 NFS就是Network File System的缩写,它最大的功能就是可以通过网络,让不同的机器.不 ...

  7. NFS服务配置

    FS服务会经常用于在网络上共享存储. 比如有3台机子A,B,C;他们都需要访问同一个目录,使用NFS, 只需要把图片都放在A上,然后A共享给B和C即可. 访问B和C时,是通过网络的方式访问A上的哪个目 ...

  8. 【转】NFS服务配置与mount nfs时-o nolock的问题

    NFS文件系统挂载步骤 1.创建共享目录 #mkdir /home/hellolinux/nfs 2.创建或修改/etc/exports文件 #vi /etc/exports home/helloli ...

  9. Linux系统中NFS服务配置

    文章目录:                一.NFS服务简介                二.NFS服务端配置                三.NFS客户端配置                四. ...

随机推荐

  1. XAF应用开发教程(三)业务对象模型之引用类型与关联关系

    本节介绍信息系统开发中最常见的问题,引用关系,一对多关系,多对多关系. 以客户信息为例,客户通常需要客户分类,如VIP客户,普通客户,潜在客户.当然,我们可以定义枚举类型进行定义出这个类型,并在客户类 ...

  2. HBase介绍及简易安装(转)

    HBase介绍及简易安装(转) HBase简介 HBase是Apache Hadoop的数据库,能够对大型数据提供随机.实时的读写访问,是Google的BigTable的开源实现.HBase的目标是存 ...

  3. linux 目录结构图解

    参考资料:http://www.linuxidc.com/Linux/2016-08/134701.htm

  4. Python学习(14)模块一

    目录 Python 模块 import语句 from ... import 语句 from ... import * 语句 定位模块 PYTHONPATH变量 命名空间和变量 dir()函数. glo ...

  5. python把元组组合成字典

    list=((","16g"), (","32g"), (","red"), (","bl ...

  6. CentOS6.x最下化安装及优化配置

    一.最小化安装自定义额外包组 1.1 选择最小化安装 1.2 自定义额外的包组 Base System的选择 Development的选择 如果需要中文的支持可以在Languages中勾选中文 1.3 ...

  7. iOS——Xcode中添加第三方库

    一.只有.h和.a文件的库 1.向项目中添加三方库文件 如果添加的第三方库只有.h和.a文件,直接把文件夹拖进项目下面,这时会弹出下面的提示框,一定要勾选下面选择的选项: 这里要注意,在Add to ...

  8. 论APP测试中黑盒测试方案的重要性?

    运筹帷幄之中,决胜千里之外.古人足不出户,通过正确的部署就能决定千里之外战争的胜利!而于测试人员而言,制定正确的测试方案,就是日后测试就是是否顺利的决定性因素. 在整个测试过程中,对测试人员.资源以及 ...

  9. 使用 Subversion (SVN) 的方式来访问 Github(转)

    [转至]:http://www.open-open.com/lib/view/open1340760267717.html

  10. WebDriver 页面等待

    selenium2.4.0版本提供了页面等待处理. 显示等待元素可见: protected void WaitElementVisible(By by,int timeOutInSeconds, lo ...