发新话题
打印

讨论多os共享lun,以及文件系统,数据库方面的问题!

不管是matadata也好,raw lun也好,我的理解是,在没有软件来协调两个os操作时,肯定会出现硬件的冲突或者其他的问题,试想,当一个os对raw lun进行操作时,他是怎么来进行操作的了,他其实认为此时的raw lun只有自己一个在访问操作,假使这时os写了一个1,在这种情况下,因为没有文件系统的缓存,是不是1就直接写入到raw lun上了,假设这时第二个os也来写数据1,他又会写到什么地方了,因为2个os之间没有协调的软件,我认为,第二个os也是认为raw lun是他所有,这样2个os都会操作raw lun,那raw lun到底要听从谁的的,是都写还是不写,如果同时的io又怎么办了。所以,我自己认为,如果没有软件来协调的话,raw lun是谁都可写的,谁都可读的,要做到共享,也是非常危险的,除非有个控制机制。

TOP

引用:
原帖由 annifer 于 2006-9-8 21:23 发表
不管是matadata也好,raw lun也好,我的理解是,在没有软件来协调两个os操作时,肯定会出现硬件的冲突或者其他的问题,试想,当一个os对raw lun进行操作时,他是怎么来进行操作的了,他其实认为此时的raw lun只有 ...
这就是为什么现在出现很多很多SAN filesystem的原因了。

TOP

这个问题就像早期的单CPU单任务一样,把CPU当成RAW LUN, 把任务当作OS。如果没有设计多任务处理调度的机制,这是mission impossible。就像“人不能在同一时间踏入同一河流”一样,单一资源基本上在某一时间点都具有独占性的。因此一定要设计相关的管理,同步互斥机制。
多个OS共享raw lun,在上面加上一定的模块并非不可能。比如在一个raw Lun上面装一个NFS或者CIFS,可以实现甚至异构环境的数据共享;在HA设计中,比如gfs,gpfs中加入lock机制来实现对SAN环境中LUN的共享用;以及SAN FS中的Metadata Server。无不是进行这样的管理,来实现对LUN的共享访问或者说分时访问。

TOP

引用:
原帖由 annifer 于 2006-9-8 21:23 发表
不管是matadata也好,raw lun也好,我的理解是,在没有软件来协调两个os操作时,肯定会出现硬件的冲突或者其他的问题,试想,当一个os对raw lun进行操作时,他是怎么来进行操作的了,他其实认为此时的raw lun只有 ...
在任何时候,裸设备都不可能不经文件系统的组织,直接被读写。所以,原则上,不存在“共享裸设备”的概念,只有共享文件系统。

TOP

引用:
原帖由 pekics 于 2006-9-10 00:37 发表

在任何时候,裸设备都不可能不经文件系统的组织,直接被读写。所以,原则上,不存在“共享裸设备”的概念,只有共享文件系统。
Basically,基本上都要有文件系统。
只是记得说对于数据库,可以直接使用RAW设备;还有OSD说,也是直接把对象存到raw设备。不知道这中间也用了文件系统管理类似的机制!

TOP

引用:
原帖由 pekics 于 2006-9-10 00:37 发表

在任何时候,裸设备都不可能不经文件系统的组织,直接被读写。所以,原则上,不存在“共享裸设备”的概念,只有共享文件系统。
似乎这句话本身就是一个悖论:在任何时候,裸设备都不可能不经文件系统的组织,直接被读写。

那么在建立文件系统的时候,裸设备上并无文件系统的呀....

其实,文件系统就是一种数据结构,在操作系统内部,不需要通过文件系统也可以在磁盘上存取数据。

TOP

引用:
原帖由 rechardluo 于 2006-9-10 09:35 发表


Basically,基本上都要有文件系统。
只是记得说对于数据库,可以直接使用RAW设备;还有OSD说,也是直接把对象存到raw设备。不知道这中间也用了文件系统管理类似的机制!
那些直接使用裸设备的应用,也是有文件系统的,只不过放弃了操作系统提供的文件系统而已。

OSD是个有趣的话题,它把文件系统跟设备间的界限重新定义了。

文件系统分两种,本地文件系统和网络文件系统。而文件系统的功能包括两个层次:
一是命名空间、目录结构、访问权限管理等。这些是上层一点儿的功能,两种文件系统都具备。
二是块组织,设备管理。这些功能比较底层,只有本地文件系统管,网络文件系统是不管的。

而诸如OSD、DAFS以及google实验室搞的NASD,这些技术都是试图把块组织的功能包含在设备之中,让文件系统更向上层靠拢。用个不太恰当的比喻,这些技术的方向大致是想把一个NAS做成今天硬盘一样的设备。如果从这个意义上讲,那么的确是可以共享设备的。

TOP

引用:
原帖由 pekics 于 2006-9-10 00:37 发表

在任何时候,裸设备都不可能不经文件系统的组织,直接被读写。所以,原则上,不存在“共享裸设备”的概念,只有共享文件系统。
我同意P兄这个说法,任何raw设备,出厂时只有一般为512自解的扇区,其他什么信息都没有,得靠fs格式化来工作,没有fs的磁盘,就算可以写上数据,那么数据也是无法管理的,所以不可能有哪个系统(至少目前没有)可以不用fs就管理磁盘数据的,包括oracle数据库用的所谓raw,那也是oracel自己的文件系统(不过这个有些不明白,oracle不是有个clfs么,安装的时候还可以选择适用raw还是格式化成这个fs,难道oracle有两套fs?)
敝人博客
《大话存储》预订链接:http://www.china-pub.com/301645

TOP

引用:
原帖由 thresh_freeman 于 2006-9-10 17:06 发表


似乎这句话本身就是一个悖论:在任何时候,裸设备都不可能不经文件系统的组织,直接被读写。

那么在建立文件系统的时候,裸设备上并无文件系统的呀....

其实,文件系统就是一种数据结构,在操作系统内部 ...
不敢苟同t兄的说法,linux的vfs,什么/,/usr,/home  /tmp之类的,这些确实是只存在在内存中的,每次初始化时候会加载这么一颗树,实际文件系统其实是ext或者其他什么系统,需要挂载到这些目录中。所以ext之类的文件系统是真真切切的物理文件系统,有自己的操作磁盘的格式的。所以t兄说的不完全正确个人以为。
敝人博客
《大话存储》预订链接:http://www.china-pub.com/301645

TOP

最后弱弱的请教一下,osd指什么技术?谢谢各位热情回答了。
敝人博客
《大话存储》预订链接:http://www.china-pub.com/301645

TOP

发新话题