OCFS,OCFS2,ASM,RAW 讨论1(转帖)

本文探讨了四种不同的存储技术——OCFS、OCFS2、ASM和RAW,深入解析它们的工作原理和应用场景。通过学习,读者可以了解这些技术在集群文件系统和数据库存储管理中的角色。
摘要由CSDN通过智能技术生成
200亿条数据,就是20T吧,用ASM好?还是用OCFS好?还是用RAW好?几个问题要先搞清楚:[@more@]200亿条数据,就是20T吧,用ASM好?还是用OCFS好?还是用RAW好?几个问题要先搞清楚:

1. 20T 是否是历史数据和归档数据?还是天天都要修改,更新和变化?
2. 20T数据中有多少比例的数据是需要经常修改/查询/更新的?
3. 20T数据是纯data数据还是有媒体数据?
4. 这套业务系统以后的数据增长是怎样的? 每天/每个月,每年新增长多少数据,增长速度如何?

这些问题都搞清楚了,你的数据库存储的规划就基本清晰了, 否则操作起来盲人摸象。


按照我的经验,恐怕20T不是全部都需要always online, 所以在数据库逻辑设计上需要把数据分层对待,即便是Oracle ,你要是只有一个层的20T数据,恐怕性能也会糟糕的一塌糊涂.

还有,ASM, OCFS, RAW并不是等价可比的。他们的特性和设计差别很大.

ASM的性能基本上和RAW差不多. 但是管理性上好很多很多。但是牺牲的代价就是引入了系统的复杂性,多了一层东西,问题出现的几率也大很多.

不过有一点我可以肯定就是如果你要放你这20T的数据,OCFS2不应该考虑, 别问我为什么,因为又要解释很多很多东西.


cwinxp 回复于:2006-03-09 09:36:55

谢谢
要同时检索10T到20T数据,怎么弄好?


nntp 回复于:2006-03-09 16:50:14

引用: 原帖由 cwinxp 于 2006-3-9 09:36 发表
谢谢
要同时检索10T到20T数据,怎么弄好?




找专业的公司作咨询把,10T-20T的数据同时作检索,已经不能算是常规应用了。

正常情况下,他们会对这样的应用做这些工作:

1. 分析你的数据使用习性,调整数据库结构(包括为针对查询操作做的优化)
2. 建立一个常规的HA集群方案,同时会根据发向这套系统的查询请求的情况,加入负载均衡的考虑
3. 做一个小样测试之后,会根据性能测试的采样结果,调整你的OS和文件系统.(如果你们这里有对Linux比较熟悉的工作人员,这个工作也可以自己做,OTN上有很多性能调整的资料)
4. 还有可能在分析你的待查数据之后,把数据在物理上分开布局
5. 1-4的工作的前提是你的硬件投资是有限的不多的。做了1-4 的研究工作之后,还有一种糟糕的可能就是发现瓶颈还是在硬件上,你们对性能/可用性上的要求和真实你的物理基础能够提供的并不符合。所以需要对硬件作改造.

如果要做好10T-20T的应用,这些工作都比较复杂,需要接触实际的系统和深入的了解应用.

good luck


cwinxp 回复于:2006-03-10 10:19:48

thank you , 这么大的数据,硬件不是问题,搞5个CX700级联的,够用吧

我把5个CX700 按照您说的分出几个RAW等等,然后把10T甚至更大分成一个区给ASM吗?


nntp 回复于:2006-03-10 17:31:38

引用: 原帖由 cwinxp 于 2006-3-10 10:19 发表
thank you , 这么大的数据,硬件不是问题,搞5个CX700级联的,够用吧

我把5个CX700 按照您说的分出几个RAW等等,然后把10T甚至更大分成一个区给ASM吗?




硬件好当然好,但是硬件好完全保证不了这套东西能够按照期望的性能和可用性工作。关于怎么样规划,我真地说不来什么,这些工作得认真分析你的应用之后才能得出结论,这么大的数据,搞错了就错了.


shimu 回复于:2006-03-10 23:49:21

我个人认为,这么大的数据来说安全最重要的,当然选择RAW,ocfs,asm相对是新东西,成熟性和稳定性不能比。。


cwinxp 回复于:2006-03-13 09:29:46

用RAW ? 谢谢


brave_script 回复于:2006-05-09 16:01:09

我现在做oracle的应用集群,在VG上建立的不同LV来实现ocfs2文件系统的的存储,现在希望能够在一个LV满时实现在线的扩充,在ext3的文件系统有相应的方法实现,不知道ocfs2文件系统如何实现
求教各位大虾


nntp 回复于:2006-05-09 18:12:59

生产系统么? 不要用ocfs2.

raw+ASM就可以了.

目前的RAC环境,看不出有任何理由在生产环境用ocfs2的必要.

RAC涉及到存储的就是2个个地方,一个是OCR和voting(以及他们的redundant config),另外一块就是Oralce Data和Flashback recovery area.

现在Oracle的RAC配置一般是两种 raw(ocr+voting)+ASM(data+flashback recovery area),另外一种是 ocfs2+ASM

OCR和 voting 占用的空间很小,根本没有必要在用了ocfs2的下面用一个OS的LVM来支持,就算你那样做了,也是错误的,因为目前OCR和voting 都需要存储是clusterware的,这也是用raw或ocfs2的原因,你用lvm+ocfs2的话,底下的OS LVM不是clusterware的,所以就会把你的数据破坏掉,这个话题是一个很老的话题了,你到oracle forum去搜,或者有metalink账号的话你看看就知道了,没有意义多讨论.

如果你用 OS LVM+ocfs2 用来放 Data+Flashback Recovery Area,我建议你还是不要这么干,不是说不可以,只不过ocfs2实在是很脆弱,你有订阅 ocfs2的maillist 么? 去看看吧.
Data+FRA用ASM 或RAW都很好,无论是性能上还是管理上,还是可靠性尚.

建议你仔细学习RAC安装的相关资料,把基础知识了解清楚。 


shahand 回复于:2006-05-09 19:15:30

nntp回答耐心,诲人不倦啊


brave_script 回复于:2006-05-09 23:21:55

谢谢版主,asm在oracle的官方网站一般都采用是oracle10g,由于特殊原因我们采用的是9204的oracle,如果采用raw那么分区是有限制的最多255个所以采用ocfs2文件系统,这也是oracle官方网站建议的。现在我已经做好了rac只是在扩充上有些不是很理想。ocr和voting是在单一的raw上的现在主要是data文件和flashback recovery area 文件的扩充问题如何解决,的确ocfs2文件系统有时不是很稳定但相对扩充要好多了


nntp 回复于:2006-05-10 04:00:48

oracle 没有说best practise 建议你用ocfs2, 实际上在社区没有一个oracle得人敢出来说ocfs2 你们放心用在生产环境把.

既然是RAC这个前提,我的建议就偏安全考虑.

既然解决的是Data部分的问题,而且又不用ASM,就没有选择了,只能用 LVM+OCFS了.

不过ocfs R1很麻烦的,不但和R2 一样不支持online resizing, 而且如果要resize ,操作起来需要一定的步骤的.

现在的麻烦就是 array 可以online resize, lun可以online hot add, pv可以online add, vg 可以online extend, lv 可以online extend,唯独你 resize ocfs on lv 的时候,不能online做. 必须要把ocfs 从所有node上卸下来.


nntp 回复于:2006-05-10 14:39:51

ocfs1不能直接升级到ocfs2, 如果以后要升级,需要做DB的导入导出操作.

昨天为了确认我给你的回复,顺便又搜了一下,ocfs1的 bug在网上比比皆是,触目惊心.
说白了,你们这样的架构的选择,最后就是给施工单位/人员和客户自找麻烦,痛苦的还在后面呢.

[ 本帖最后由 nntp 于 2006-5-10 14:40 编辑 ]


brave_script 回复于:2006-05-11 10:33:51

谢谢斑竹。其实我现在做的就是你所的方式,在所有节点将要扩充的ocfs盘umount之后在格式化,其实在oracle中也不需要这么做,毕竟oracle都是文件存放,只是想明白可以不可以动态扩展ocfs2文件系统在LVM上


brave_script 回复于:2006-05-11 10:35:05

顺便说一下我们使用的是ocfs2


nntp 回复于:2006-05-11 12:47:19

我昨天看到ocfs2的maillist有ocfs2 的 developer回答了类似问题:
他们的答复和我在二楼写的基本相同.

我在重复一下: ocfs2是一个clusteraware 的文件系统,在每个RAC node上都有instance运行,并通过网络通信+lock的机制,确保不同的node对同一个存储区域的读写是在控制下进行并且所有的node通过ocfs2 instance知道谁写了/谁读了. 所以ocfs2 filesystem的完整性是有保障底线的.

当你把ocfs2创建在LVM上的时候,LVM的 control在不同的node上是各管各的,由每个node的OS和LVM module自己来控制,node之间的LVM 并不通信,他们都是独立的,不排斥不加锁得去访问/操作共享存储上的区域,虽然你可以从每个node上用lvm工具scan到共享盘阵上的pv/vg/lv,但是一旦涉及到读写操作,所有的node便完全孤立来做了.所以LVM metadata 的读写就变成一个严重的问题.
所以 ocfs2+LVM 用在RAC的数据共享上是不可取的.

________________________________
maillist 的答复如下:

That's why ocfs2 is not certified with lvm2.

Going forward, we will be looking into this issue. But currently
there is no certified solution.

If you are running Oracle db and need volume mgmt, you should look into ASM.
-----------------------------------------------------------------------------------------------


joyhappy 回复于:2006-05-12 08:52:29

"所以 ocfs2+LVM 用在RAC的数据共享上是不可取的"

我同意这种说法。
但从原理上讲,如果确实需要用LVM, 可以用LVM2,也就是ocfs2 + CLVM,不过我没有试过;应该可以。


nntp 回复于:2006-05-12 15:17:17

引用: 原帖由 joyhappy 于 2006-5-12 08:52 发表
"所以 ocfs2+LVM 用在RAC的数据共享上是不可取的"

我同意这种说法。
但从原理上讲,如果确实需要用LVM, 可以用LVM2,也就是ocfs2 + CLVM,不过我没有试过;应该可以。



HA里面用LVM 很常见,但是都是一头用一头锁的,RAC那种需要同时访问操作的,我恐怕就不是这样简单了.


blue_stone 回复于:2006-05-12 16:54:09

linux下的lvm不是clusterware aware的,所以不能够用在cluster环境下,cluster环境下应该使用clvm.

不明白为什么ocfs2不能使用在生产环境中,毕竟ocfs2已经整合到了linux kernel中。
还请nntp解释一下


nntp 回复于:2006-05-12 17:38:00

引用: 原帖由 blue_stone 于 2006-5-12 16:54 发表
linux下的lvm不是clusterware aware的,所以不能够用在cluster环境下,cluster环境下应该使用clvm.

不明白为什么ocfs2不能使用在生产环境中,毕竟ocfs2已经整合到了linux kernel中。
还请nntp解释一下



我在谈生产环境的时候,说话的依据就不是什么整合不整合kernel了,而是很现实的稳定不稳定,如果我是负责一个企业系统架构的主管,我不会管那个东西吹得有多好,来头有多大,如果我看到好多好多人在汇报故障,并且故障源头在code level,大家在讨论的一些故障最后导致的问题不但会影响数据安全(可靠性),还影响到了服务连续性(可用性). 我就不会去考虑它. 即便是厂商可以提供技术支持和服务. 当然更加不要说没有任何支持服务的技术了.

因为有一件事情很清楚,用了新技术,为了还没有看到享受到的新特性和性能,我今天冒了这个风险,我必须要客观的评估风险,比如风险春在于什么层面?风险可能影响的范围有多大,一旦风险发生造成的损失具体有多少?为了这些风险我需要投入多少资源,资金和额外人工来做预防工作?风险发生后的的恢复工作复杂程度多少? 系统重新上线的时间间隔是多少? 停机对企业和个人的影响如何?风险发生后是否会影响下一期的企业IT建设计划和资金投入? 是否会影响到我作为IT架构的主管在决策层的信用和话语权?

谈到生产环境,我们考虑的前提就是一种最糟糕,最难堪,最受伤害的可能.所以新特性到底有多大的价值被采用,就是一个系统考虑的问题,而不是就事论事了.

这个话题有点岔开了,我猜这里大多数朋友都是engineer,所以很少涉及到项目管理,风险评估和控制方面的东西,不过项目组的每个人都有一些了解的话会对整个项目有莫大的好处.

所以回到话题上来,如果站在一个linux 粉丝的角度,看到ocfs2集成到linux kernel我觉得是一个超棒的事情,如果站在项目的高度来考虑,目前不建议.

建议订阅ocfs2的 mailing list . 可以获取第一手的信息.


blue_stone 回复于:2006-05-12 18:01:20

对nntp的话深表认同
感觉自己太浅薄了


rambus 回复于:2006-06-23 15:33:52

现在正在培训中,ORACLE方面把OCFS,OCFS2性能吹得天花乱坠,但是问了各个地方的同行,好像还没有那个生产环境是采用OCFS的。
不知道实际怎么样呢?


pawnjazz 回复于:2006-06-23 16:19:15

oracle 的強項在database , 做cluster 應該找OS平台廠商,就我知道的Redhat GFS 就是用在cluster


soway 回复于:2006-06-23 16:35:19

这个你让版主来回答

我记得他前面回答过,目前是坚决不要用.


我爱钓鱼 回复于:2006-06-23 17:35:28

ORACLE自己的资深工程师说:现在用的多的还是RAC,暂时不要用...


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值