系统环境:centos 6.4 x86_64 minimal,记得是199个安装包。
两台机器(可以是虚拟机):
192.168.1.150--->a机器
192.168.1.11----->b机器
1、检查系统是否开启nfs服务:service nfs status 结果显示nfs: unrecognized service,说明系统没有安装nfs服务,so 安装之;
注意,yum install nfs是无法安装的,应该用yum install nfs-utils.
2、开启portmap服务,还是unrecognized service ,安装之,yum install portmap 未果,百度+google之,发现centos 6.4中portmap 已经被rpcbind取代,于是乎继续安装之,未果,检查下是不是已经在安装nfs-utils包的时候安装了,service rpcbind status ,果然已经一块安装了。
以上为整个安装过程,总结下就是centos 6.x之后的系统一个命令yum install nfs-utils 全部搞定,貌似5.x版本的也可以用这个命令搞定,搞不定的话可以单独装portmap;主要6.x版本用的事rpcbind, 5.x版本用的是portmap。
下面是启动过程:
1、首先配置/etc/exports文件
vi /etc/exports;
然后输入 /home/share:192.168.1.*(rw,sync,no_root_squash,no_all_squash)
保存退出
2、启动rpcbind服务 service rpcbind start
3、启动nfs服务 service nfs start
showmount -e 192.168.1.150 输出以下结果:
Export list for 192.168.1.150:
/home/data/share 192.168.1.*
说明成功启动(注意:在centos 6.x之后的版本showmount -e 后面一定要指定ip,否则会卡在那,也没输出,5.x的版本可以不指定)
下面是挂载nfs到指定机器的目录
ssh登陆到另一台机器b:ssh root@192.168.1.11
mount -t nfs 192.168.1.150:/home/share /var/www/html
在a机器上建立文件test.txt,然后发现b机器有了同样的文件,nfs服务端和客户端正常同步。
备注:
1、此处有篇bsd系统的使用文档,其中有对nfs的介绍说明,可以参考http://www.freebsd.org/doc/zh_CN/books/handbook/network-nfs.html
2、http://nfs.sourceforge.net/ 需要FQ
3、https://wiki.archlinux.org/index.php/NFS_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87) 本文中提到这么一句:
NFS 网络文件系统(Network File System) 是由Sun公司1984年发布的分散式文件系统协议。允许用户像访问本地文件一样,去访问网络上共享的文件。NFS 是一個成功的文件共享方法,但它最大的问题是它不太适合大型的分散式系統。
那么大量用户上传的文件的存储应该采用什么文件系统呢,貌似fastdfs不错,与之类似的还有MogileFS等。
这里有篇大型图片网站架构的文章http://www.uml.org.cn/zjjs/201111285.asp