引用:
原帖由 冬瓜头 于 2008-7-15 13:21 发表 
Hong,我做过实验,仅就windows来说,一写多读是可以的。但是多写就完蛋了,最后写入的说了算,以前先写的全部丢失。
但是blueoceanliang说的mount -r,这个是mount nfs吧?lun好像没有mount -r这样干的。不知 ...
兄弟,是不可以的。
如果是windows更是不可以了,应为windows挂接文件系统的时候会写东西到磁盘的,叫做signature。更夸张的是在windows环境中,一定要做SAN zone,否则你的lun被其他windows机器"看"一下,都有可能丢数据。就是这个道理。这也是windows不是企业级操作系统的原因之一。
如果是unix的话,虽然不写东西进去,也是不可以的。
假设一下,a mount了一个lun,作为文件系统,来写。b mount了同样一个lun,作为文件系统来读。
如果a写了一个文件到该文件系统。b这个机器的文件系统有如何知道这个文件已经有变化了呢?b会不会有事没事刷新inode到内存里?如果真是这样,这个文件系统也太烂了(可能存在定期刷新,我不清楚,但绝对不是每次读之前就会刷新)。如果不会,那么请问b又如何知道文件系统已经更新了呢?a又不会告诉b,他更新了文件系统。
如果a在该文件系统删除了一个文件,在原来的地方写入另外一个文件。b这个机器的文件系统有如何知道这个文件已经被删除了呢,而且还被写入其他数据?如果他还认为原来文件还在,那么b读出来的是什么文件呢?你的钞票是不是会变成我的钞票呢?
归根到底是应为,主机的文件系统设计时就只认识自己。不知道别人在上面做过操作。所以才需要SAN文件系统,需要一个统一的元数据服务器。
你做的测试有没有检查过数据的一致性?多大的压力?个人认为测试不能说明问题的。
[
本帖最后由 xylonhong 于 2008-7-15 14:20 编辑 ]