nfs简单搭建

NFS(Network File System)网络文件系统,简单来说,就是将NFS服务器分享出来的目录挂载到本机上,于本机使用者来看,就是像是在操作本机硬盘一样。该系统仅于Linux系统之间操作

安装过程步骤
1,在服务器(192.168.0.100)端与客户端(192.168.0.10)这两台电脑上分别安装nfs,先查看是否有安装,在终端里输入

rpm -qa | grep nfs
rpm -qa | grep rpcbind
若没有安装的话,则分别在终端输入
yum install nfs-utils					-- ContOS

一连串输出后,就可以安装成功的了。系统会产生以下文件,作nfs用

/etc/exports                           NFS服务的主要配置文件,不一定会存在
/usr/sbin/exportfs                   NFS服务的管理命令
/usr/sbin/showmount              客户端的查看命令
/var/lib/nfs/etab                      记录NFS分享出来的目录的完整权限设定值
/var/lib/nfs/xtab                      记录曾经登录过的客户端信息

主要是/etc/exports这个文件,是用来配置分享那个目录给那台电脑来访问的。当然可以设置读写权限了格式为,但这个文件并不一定会存在,所以直接用vi /etc/exports来创建或打开好了,编写完后:wq退出

分享的目录 访问电脑的IP或域名(权限)

如
/mnt/uploadfiles 192.168.0.10(rw,async,anonuid=0,anongid=0)

这里说明了将/mnt/uploadfiles这个目录共享给192.168.0.10这台电脑以读写权限来访问(有多个权限时用,号分隔)并以异步方式写入磁盘(即先将数据先保存在内存缓冲区中,必要时才写入磁盘),anonuid及anongid是指用户及用户组标识id

()选项有以下几种:
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服务器也不检查其父目录的权限,这样可以提高效率;

配置完成后就启动nfs服务,因为nfs服务需要先向rpcbind注册端口之类的,所以在启动nfs前,必须确保rpcbind先启动才能正确运行nfs服务

在终端里输入
/etc/init.d/rpcbind start
/etc/init.d/nfs start
启动后,查看一下
showmount -e localhost

启动后如果有需要对/etc/exports文件进行更改的话,则可以在更改完成后运行
exportfs -arv 重新向rpc注册,如果要卸载的话可以运行   exportfs -auv

最后将/mnt/uploadfiles这个目录的权限开放出来
chmod 777 -R /mnt/uploadfiles

至此,暂时将服务器的告一段落


客户端设置
1,大致上与服务器端一样,安装,启动,查看只是不需要编写/etc/exports这个文件。
2,确定那个目录需要挂载后,如果没有则创建一个新的,如
mkdir -p /mnt/nfs
3,挂载目录
mount -t nfs NFS服务器IP:/分享的目录  需要挂载的目录
如
mount -t nfs 192.168.0.100:/mnt/uploadfiles /mnt/nfs

取消挂载
umount /mnt/nfs
如果报device or resource busy(设备或资源忙),可以
lsof | grep /mnt/nfs
得出pid后,直接kill -9杀掉

此时,即可以在本机上的/mnt/nfs目录进行增删文件或目录了。可以打开服务器查看一下,在/mnt/nfs里的任何操作都会同步到/mnt/uploadfiles里,操作/mnt/uploadfiles就好像在本地一样的方便,而且速度也是非常的快

猜你喜欢

转载自tcrct.iteye.com/blog/2033369