红联Linux门户
Linux帮助

Linux NFS文件服务器安装与配置

发布时间:2015-04-20 15:32:36来源:linux网站作者:lichaosha

NFS,是Network File System的简写,即网络文件系统。网络文件系统是FreeBSD支持的文件系统中的一种,也被称为NFS. NFS允许一个系统在网络上与他人共享目录和文件。通过使用NFS,用户和程序可以像访问本地文件一样访问远端系统上的文件。


一、NFS安装、配置

yum -y install nfs-utils nfs-utils-lib rpcbind

mkdir -p /home/network/nfs

vim /etc/exports

增加

/home/network/nfs *(rw,sync,no_root_squash,no_all_squash)

保存退出

exportfs -r

service rpcbind restart
service nfs restart

chkconfig --level 35 nfs on

chkconfig --level 35 rpcbind on

服务端验证NFS共享:

showmount -e

注:正常能显示出上面设置的共享目录,如果报如下错误:

clnt_create: RPC: Program not registered

说明 rpcbind服务与NFS服务 启动顺序不对,把他俩都停了,重新启动,先启动rpcbind服务再启动nfs服务;

客户端验证NFS共享:

showmount -e 192.168.1.207 (即NFS服务器的IP地址)

注:正常也能显示出上面设置的共享目录,如果报如下错误:

clnt_create: RPC: Port mapper failure - Unable to receive: errno 113 (No route to host)

说明防火墙没有开启相应需要开启的端口,把防火墙关掉,再测试应该就可以正常了;不过防火墙比较重要,一般情况下,不会随意关闭,在服务端可开启如下命令列出的所有端口即可:

# rpcinfo -p localhost


二、客户端挂载

cd

mkdir testnfs

mount -t nfs 192.168.1.207:/home/network/nfs testnfs

验证NFS挂载

df

正常能多显示出类似红色字体内容:

文件系统 1K-块 已用 可用 已用% 挂载点
/dev/sda3 50403012 1772272 46070384 4% /
tmpfs 914652 0 914652 0% /dev/shm
/dev/sda1 198337 27655 160442 15% /boot
192.168.1.207:/home/network/nfs
13383232 538944 12164480 5% /root/testnfs

或者

cd /root/testnfs

mkdir test

然后到服务端 /home/network/nfs 目录下,是否出现一个 test的文件夹即可;

设置系统启动自动挂载:

vim /etc/fstab

新增

192.168.1.207:/home/network/nfs /root/testnfs nfs defaults 0 0


三、知识扩展

exports命令:

参数说明如下。
(1)-a:全部挂载(或卸载)/etc/exports文件内的设定。
(2)-r:重新挂载/etc/exports中的设置,此外同步更新/etc/exports及/var/lib/nfs/xtab中的内容。
(3)-u:卸载某一目录。
(4)-v:在export时将共享的目录显示在屏幕上。

/etc/exports文件内容格式:

<共享目录> [客户端1 选项(访问权限,用户映射,其他)]

用户映射选项

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

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

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

no_root_squash:与rootsquash取反;

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

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

其它选项

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

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

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

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

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

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

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

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


结束词:写了那么多,有些知识只是供学习参考使用,其实NFS服务器的安装与配置非常简单,安装-配置共享目录-客户端挂载 即可。