服务器集群搭建后,若系统中存在文件的上传功能,那么如何保证上传文件的一致性呢?通常的解决思路有两种:第一种是建立文件服务器,所有的文件上传都到该服务器上;第二种就是做文件共享,每一台服务器的文件都相同。本文以第二种为例,介绍NFS文件共享集群。
NFS介绍
NFS(Network File System)网络文件系统,可以透明的让客户端像读取本地文件一样,读取远程服务器上的文件。同时在上传文件时,向任意一台客户端上传,可以透明的上传到服务器上,从而使链接的每台客户端都可以共享同样的内容。
利用该方式不仅使用透明,而且配置简单,可以方便的实现文件共享集群。
NFS集群搭建实例
环境介绍
Ubuntu 12.04 64位
服务器:172.29.131.126
客户端1:172.29.131.139
客户端2:172.29.131.140
NFS服务器
安装NFS服务器
sudo apt-get install nfs-kernel-server #或 dpkg -i nfs-kernel-server_1.2.5-3ubuntu3.2_amd64.deb
配置NFS服务器
#配置共享目录 vim /etc/exports #创建共享目录 mkdir /nfs #最后面添加一行: /nfs *(insecure,rw,sync,no_root_squash,no_subtree_check)
/nfs为root目录下新建的一个文件夹,这个文件夹就是nfs服务对外的共享目录,名字可以随便。(必须在Root目录下,不可以用其他用户随便创建)
启动NFS服务器
#启动服务器(关闭好防火墙) service nfs-kernel-server start|restart|stop #每修改过/etc/exportfs 后需要执行一次 exportfs -a
NFS客户端
假设客户端tomcat1和tomcat2都会上传文件到/upload目录下(两台服务器各自有该目录),分别执行下面命令:
#安装nfs-utils apt-get install nfs-common #设置权限 chmod -R 777 /upload #挂载目录内容到NFS服务器共享目录下 mount -t nfs 172.29.131.126:/nfs /upload #查看是否挂载成功 showmount -e 172.29.131.126
若挂在成功,即完成搭建,可以测试向任一台客户端中上传文件,从其他客户端中可以像操作本地文件一样透明的操作该文件。
需要向博主学习的地方还有很多,很多,很多……
最近很少浏览博客了,认真拜读下
嗨~我是Feeey 不小心进了你的博客,很棒。记得来我博客转转 http://www.feeey.com/
除了膜拜,别无它言!
博客真不错,会经常来逛逛的。
进来转转,博主新年快乐。
感谢分享
向楼主学习,赞赞。