- 论坛徽章:
- 0
|
项目中存储最初规划了nfs,但是随着用户的逐渐增多,并发访问增大,经常出现远程nfs目录反映慢的问题。iostat发现磁盘阵列达到瓶颈。
存储原本有配有光纤,通过光交和两台流媒体服务器相连,因为nfs达到了瓶颈,于是采取不走nfs,直接走光纤,负载下去了(项目之初原本想做GFS的,
因为某些原因没有做,做了NFS)。
产生的新问题就是:三台主机直接挂载光纤连接的分区,一台写,两台读。其他两台对于第一台写入的新的文件并不能实时读取到。
查了一些资料,了解到“多主机共享一个lun,数据是不同步的,各有各的缓存,也没有锁的机制”,“nfs的传输时文件级的,而fc san是块级的”。
由于是生产环境,不能重新部署GFS,OCFS,SANergy,ImageSAN等共享软件,我的问题是:
1)既然各主机各有各的缓存,这个缓存是在主机还是存储控制器上的?如果是在主机上,能否像Oracle一样,通过checkpoin强制把缓存的数据写入磁盘阵列?
2) 但是对1)仍有疑问,因为挂载分区后,两台读的主机三天了还没有能看到写主机三天前写的新的数据。好像重新mount可以看到?生产环境在跑,还没试验。
3)对于当前需求,一台写,两台主机读,有什么办法在不安装共享软件的情况下,实时读取写主机上更新的数据吗?(另两台只需要读取,不需要写)
4)如果以上皆不可行,对nfs能做何优化使之能承受越来越大的并发访问压力?
本人对存储方面经验,了解都很有限,还请各位大牛指教...... |
|