配置CentOS6.3 NFS

说明:本文是基于CentOS 6.3版本,5系列版本请另行参照其他文档

一、安装NFS对应的服务1.安装NFS 套件

首先安装NFS套件,命令如下:

yuminstallnfs-utils.x86_64(64位系统)

yuminstallnfs-utils(32位系统)

2.安装RPC服务(注①)

yuminstallrpcbind(centos6)

二、启动NFS1.启动RPC服务

Service rpcbind start

2.启动NFS服务

Service nfs start

三、配置NFS服务器端1.设置共享目录

建立共享目录或者使用已有的目录,本文创建/data/nfsshare作为共享目录。

返回到根目录 CD /

创建目录 mkdir –p /data/nfsshare -p 的意思是父文件夹不存在就创建

2.编辑/etc/exports文件

a) #vi /etc/exports 注②

b)按一下键盘 【i】 键进入编辑状态

c)输入nfs地址,具体命令格式:[目录路径]… [目标主机名或IP地址(参数…)]…

例子:

/data/nfsshare 10.10.225.*(rw,all_squash,anonuid=504,anongid=504)注③

[共享目录] [第一台主机(权限)]

d)保存文件,按【esc】键输入【:w】保存

e)退出vi,输入【:q】退出Vi

3.重新加载exports文件

输入exportfs –rv命令 注④

4.查看本机发布的nfs目录

showmount –e 注⑤

四、设置客户端1.查看可挂载的目录

showmount –e ip

2.挂载服务器目录

mount –t nfs –o nolock [主机名或IP]:[服务端目录路径] [客户端目录路径]

例子:

mount –t nfs –o nolock

10.10.225.178:/data/nfsshare /data/clientshare

五、进行测试

在服务器的共享目录里面建立一个文件,查看一下客户端是否存在

问题:1. RPC: Port mapper failure – RPC: Unable to receive

iptable没关,把portmap的端口给阻挡了,禁用,service iptables stop,一切OK!

2. mount.nfs:access denied by server while mounting

查看NFS Server端的/etc/exports文件设置是否有问题。

3.NFS客户端不能写文件问题

是因为服务器端没有设置NFS 共享目录的读写权限,使用chmod进行更改文件夹的权限即可。

注解:注① 为什么要安装RPC(Remote Procedure Call)

因为NFS支持的功能相当的多,而不同的功能都会使用不同的程序来启动,每启动一个功能就会随机启动一些没有被占用并且小于1024的端口来传输资料,因为NFS支持的功能没有固定的端口。

这样的话,就需要一个服务来获得对应的端口号,而这个服务就是RPC服务。因为服务器在启动NFS时会把随机取得的端口主动注册到RPC服务中,因此RPC就可以知道每个NFS功能对应的端口号,并且RPC服务是固定端口号111。

这也就间接要求RPC服务必须先于NFS服务启动。

详见:【鳥哥的 Linux 私房菜——第十三章、檔案伺服器之一:NFS 伺服器】

注② Vi的简单操作

Vi有三种模式:命令模式、插入模式、底行模式。画面启动的时候就是命令模式,这个时候只能输入各种命令,而不能进行输入,所以需要按【i】键进入到插入模式,进行输入文本,然后在按【Esc】键退出插入模式,进入命令模式。输入:qw进行保存退出。

注③ 权限参数

参数值

内容说明

rw

ro

目录分享权限是可读写(read-write)或者只读(read-only),香港服务器,但最终能否读写还是与档案系统的rwx以及身份相关

sync

async

sync 资料会同步写入内存和硬盘中, async 资料会先存入内存中,香港服务器,而不是直接写入硬盘。

no_root_squash

root_squash

客户端使用NFS的账号若为root时,系统如何判断这个账号的身份?

默认情况下,客户端root的身份由root_squash设定缩减为nfsnobody,这样才能保证服务器系统的安全。

但若想开放客户端的root身份来操作服务器档案系统,就需要设置no_root_squash

all_squash

无论登入NFS的客户端身份是什么,都会被缩减为匿名使用者,也就是nobody(nfsnobody)

anonuid

anongid

anon 代表anonymous (匿名用户),前面关于*_squash提到的匿名用户的UID设定值,通常为nobody(nfsnobody),但是你也可以自行设定这个UID的值!当然,这个UID必须存在你的/etc/passwd当中!anongid 则是群组的GID。

注④ Exportfs命令

Exportfs命令是使得本地目录可以被NFS客户端进行安装,网站空间,默认使用文件进行导出一个或者多个目录。

参数:

–r 重新读取etc/exports文件中的设置,并使设置生效,而无需重启NFS服务 -v 显示当前共享目录及详细的选项设置

其它具体设置,请参照exportfs的命令详解。

注⑤ 用户端查询服务器分享资源的指令:/usr/sbin/showmount

这是另一个重要的NFS指令。exportfs是用于在NFS Server端进行设置,查询的。而showmount则主要用于Client端,用于查看NFS分享出来的目录资源。

-e 显示导出服务器上的所有文件系统。

-a 显示每个已安装在服务器上的所有网络文件系统 (NFS) 客户端和目录。

-d 显示当前装载 NFS 客户端的服务器上的所有目录。

切忌贪婪,恨不得一次玩遍所有传说中的好景点,

配置CentOS6.3 NFS

相关文章:

你感兴趣的文章:

标签云: