楼主: anycall2010

基于存储容灾安全性置疑

[复制链接]
论坛徽章:
3
生肖徽章2007版:鸡
日期:2008-01-02 17:35:53祖国60周年纪念徽章
日期:2009-10-09 08:28:00ITPUB十周年纪念徽章
日期:2011-11-01 16:20:28
51#
发表于 2008-12-27 22:45 | 只看该作者
原帖由 vecentli 于 2008-12-25 13:58 发表
我上面说明是把redo放到fs上,fs是有cache的,这样在主机crash的时候就会丢失数据,导致redo损坏。

这个cache是指fs的cache,不是storage的cache。



我说的也是文件系统的cache。具体我也不太确定Redo的写操作是否是不做cache的。但我个人认为如果Redo文件写操作做cache的话,风险比较大。Oracle的写操作是调用操作系统的write()操作完成的,而在调用write()操作时应该是可以设置参数来保证不做cache的。这样就类似于存储的write through.

使用道具 举报

回复
论坛徽章:
116
ITPUB北京九华山庄2008年会纪念徽章
日期:2008-01-21 16:50:24马上有对象
日期:2014-02-19 11:55:14马上加薪
日期:2014-02-19 11:55:14沸羊羊
日期:2015-03-04 14:43:432015年新春福章
日期:2015-03-06 11:57:31喜羊羊
日期:2015-03-25 15:04:022010数据库技术大会纪念徽章
日期:2015-04-23 10:33:192011数据库大会纪念章
日期:2015-04-23 10:33:192012数据库大会纪念章
日期:2015-04-23 10:33:192013数据库大会纪念章
日期:2015-04-23 10:33:19
52#
发表于 2008-12-31 12:09 | 只看该作者
原帖由 vecentli 于 2008-12-25 13:58 发表
我上面说明是把redo放到fs上,fs是有cache的,这样在主机crash的时候就会丢失数据,导致redo损坏。

这个cache是指fs的cache,不是storage的cache。



oracle  default是bytpass fs cache的。

http://download.oracle.com/docs/ ... p_unix.htm#CEGEFGCF


On both UNIX and Windows platforms, bypassing the file system buffer cache ensures data is written to disk.

On UNIX, Oracle uses the O_SYNC flag to bypass the file system buffer cache. The flag name depends on the UNIX port.

On Windows, Oracle bypasses the file system buffer cache completely.

使用道具 举报

回复
论坛徽章:
78
ITPUB15周年纪念
日期:2020-08-28 17:23:53双鱼座
日期:2016-03-19 19:38:31秀才
日期:2016-02-18 09:31:52秀才
日期:2016-01-25 15:02:04双子座
日期:2016-01-19 20:35:54秀才
日期:2016-01-13 12:14:26秀才
日期:2015-12-25 15:31:10秀才
日期:2015-12-18 09:28:57秀才
日期:2015-12-14 14:56:09秀才
日期:2015-12-14 14:51:16
53#
发表于 2009-1-4 11:19 | 只看该作者
原帖由 shahand 于 2008-12-31 12:09 发表


oracle  default是bytpass fs cache的。

http://download.oracle.com/docs/ ... p_unix.htm#CEGEFGCF


On both UNIX and Windows platforms, bypassing the file system buffer cache ensures data is written to disk.

On UNIX, Oracle uses the O_SYNC flag to bypass the file system buffer cache. The flag name depends on the UNIX port.

On Windows, Oracle bypasses the file system buffer cache completely.

其实没那么简单,文件系统的元数据那部分,可不是受ORACLE控制。有可能fsck或者replaylog之后,文件找不到的情况。

使用道具 举报

回复
论坛徽章:
23
授权会员
日期:2007-10-05 10:04:39生肖徽章2007版:猪
日期:2009-03-10 21:17:25生肖徽章2007版:猪
日期:2009-03-10 21:24:49生肖徽章2007版:蛇
日期:2009-03-10 21:28:28生肖徽章2007版:蛇
日期:2009-03-10 21:34:30祖国60周年纪念徽章
日期:2009-10-09 08:28:00ITPUB元老
日期:2009-12-20 10:42:092010年世界杯参赛球队:巴西
日期:2010-06-15 20:33:58ITPUB十周年纪念徽章
日期:2011-11-01 16:23:26雪佛兰
日期:2013-11-02 12:32:45
54#
 楼主| 发表于 2009-1-6 15:15 | 只看该作者
原帖由 eagle3250 于 2008-12-25 17:49 发表
存储容灾是相对的,主库起不来,比如undo 或redo 坏了,
容灾端也起不来的;如果不能recover,就会丢数据了

如果镜像卷做了快照呢?

使用道具 举报

回复
论坛徽章:
23
授权会员
日期:2007-10-05 10:04:39生肖徽章2007版:猪
日期:2009-03-10 21:17:25生肖徽章2007版:猪
日期:2009-03-10 21:24:49生肖徽章2007版:蛇
日期:2009-03-10 21:28:28生肖徽章2007版:蛇
日期:2009-03-10 21:34:30祖国60周年纪念徽章
日期:2009-10-09 08:28:00ITPUB元老
日期:2009-12-20 10:42:092010年世界杯参赛球队:巴西
日期:2010-06-15 20:33:58ITPUB十周年纪念徽章
日期:2011-11-01 16:23:26雪佛兰
日期:2013-11-02 12:32:45
55#
 楼主| 发表于 2009-1-6 15:19 | 只看该作者
感谢ruluo ;我明白你的意思了。我客户目前有这样一个需求:在镜像卷的存储上放置一台服务器,让该服务器能够查询镜像卷的数据,我是否在镜像卷存储上加一个快照就能实现?

使用道具 举报

回复
论坛徽章:
4
ITPUB新首页上线纪念徽章
日期:2007-10-20 08:38:44生肖徽章2007版:虎
日期:2009-03-01 12:38:04蛋疼蛋
日期:2011-08-09 08:26:22ITPUB十周年纪念徽章
日期:2011-11-01 16:19:41
56#
发表于 2009-1-7 21:46 | 只看该作者
基于存储级的容灾我做过几次测试。如果存储级别做的比较好,可以认为两边硬盘上的数据是完全一致的。但是仅仅是硬盘数据是一致的不一定数据库能正常启动。从原理上说如果源端没有把数据库的文件写坏掉,容灾端就相当于是数据库异常掉电的状态。在异常掉电的情况下,丢失的是内存中被更改的数据缓冲区中的数据,commit后的redolog会写入到硬盘中(默认是不带cache的)。当然,如果源端的业务量太大,而且没有commit的时候就挂了,容灾端启动可能需要很长时间(做rollback)。我做测试的时候发起一个事务写入10G的数据,在没有完成的情况下掉电,容灾端我们等了3个小时都没有rollback完成,这种情况就郁闷了。

使用道具 举报

回复
论坛徽章:
8
授权会员
日期:2008-02-26 15:11:15奥运会纪念徽章:拳击
日期:2008-10-24 13:22:332009新春纪念徽章
日期:2009-01-04 14:52:28生肖徽章2007版:鸡
日期:2009-01-16 23:32:58CTO参与奖
日期:2009-02-20 09:44:20生肖徽章2007版:狗
日期:2009-03-10 21:17:06ITPUB十周年纪念徽章
日期:2011-11-01 16:21:15
57#
发表于 2009-1-9 00:27 | 只看该作者

回复 #55 anycall2010 的帖子

对的

使用道具 举报

回复
论坛徽章:
23
授权会员
日期:2007-10-05 10:04:39生肖徽章2007版:猪
日期:2009-03-10 21:17:25生肖徽章2007版:猪
日期:2009-03-10 21:24:49生肖徽章2007版:蛇
日期:2009-03-10 21:28:28生肖徽章2007版:蛇
日期:2009-03-10 21:34:30祖国60周年纪念徽章
日期:2009-10-09 08:28:00ITPUB元老
日期:2009-12-20 10:42:092010年世界杯参赛球队:巴西
日期:2010-06-15 20:33:58ITPUB十周年纪念徽章
日期:2011-11-01 16:23:26雪佛兰
日期:2013-11-02 12:32:45
58#
 楼主| 发表于 2009-1-12 11:18 | 只看该作者
原帖由 youngcow 于 2009-1-7 21:46 发表
基于存储级的容灾我做过几次测试。如果存储级别做的比较好,可以认为两边硬盘上的数据是完全一致的。但是仅仅是硬盘数据是一致的不一定数据库能正常启动。从原理上说如果源端没有把数据库的文件写坏掉,容灾端就相当于是数据库异常掉电的状态。在异常掉电的情况下,丢失的是内存中被更改的数据缓冲区中的数据,commit后的redolog会写入到硬盘中(默认是不带cache的)。当然,如果源端的业务量太大,而且没有commit的时候就挂了,容灾端启动可能需要很长时间(做rollback)。我做测试的时候发起一个事务写入10G的数据,在没有完成的情况下掉电,容灾端我们等了3个小时都没有rollback完成,这种情况就郁闷了。



1、楼上说的“但是仅仅是硬盘数据是一致的不一定数据库能正常启动”是指数据库的交易顺序问题,也是我主题所说的问题。这个概率有多少?楼上做过测试吗?要是有,给讲一讲。

2、楼上说的这种情况,肯定会出现这样的问题,非常感谢您能提供出来。但是有没有什么解决办法?请指教。

使用道具 举报

回复
论坛徽章:
23
授权会员
日期:2007-10-05 10:04:39生肖徽章2007版:猪
日期:2009-03-10 21:17:25生肖徽章2007版:猪
日期:2009-03-10 21:24:49生肖徽章2007版:蛇
日期:2009-03-10 21:28:28生肖徽章2007版:蛇
日期:2009-03-10 21:34:30祖国60周年纪念徽章
日期:2009-10-09 08:28:00ITPUB元老
日期:2009-12-20 10:42:092010年世界杯参赛球队:巴西
日期:2010-06-15 20:33:58ITPUB十周年纪念徽章
日期:2011-11-01 16:23:26雪佛兰
日期:2013-11-02 12:32:45
59#
 楼主| 发表于 2009-1-12 11:21 | 只看该作者
原帖由 ruluo 于 2009-1-9 00:27 发表
对的


快照分克隆和SNAPSHOT,如何灵活应用这两个武器,保证数据库容灾的安全性,请前辈指教。

使用道具 举报

回复
论坛徽章:
28
ITPUB元老
日期:2005-06-17 10:37:44操作系统板块每日发贴之星
日期:2005-07-02 01:01:58数据库板块每日发贴之星
日期:2005-07-18 01:01:26管理团队2006纪念徽章
日期:2006-04-16 22:44:45会员2006贡献徽章
日期:2006-04-17 13:46:34
60#
发表于 2009-1-13 23:50 | 只看该作者
原帖由 anycall2010 于 2009-1-12 12:21 发表


快照分克隆和SNAPSHOT,如何灵活应用这两个武器,保证数据库容灾的安全性,请前辈指教。

clone是复制,snapshot只是提供一个journal,所以snapshot不适于大量更新,而且相对而言对于sp的负荷也比较大,由于副本和原本的许多block是在一起的,所以副本的io操作会影响到原本的性能。

使用道具 举报

回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

TOP技术积分榜 社区积分榜 徽章 团队 统计 知识索引树 积分竞拍 文本模式 帮助
  ITPUB首页 | ITPUB论坛 | 数据库技术 | 企业信息化 | 开发技术 | 微软技术 | 软件工程与项目管理 | IBM技术园地 | 行业纵向讨论 | IT招聘 | IT文档
  ChinaUnix | ChinaUnix博客 | ChinaUnix论坛
CopyRight 1999-2011 itpub.net All Right Reserved. 北京盛拓优讯信息技术有限公司版权所有 联系我们 未成年人举报专区 
京ICP备16024965号-8  北京市公安局海淀分局网监中心备案编号:11010802021510 广播电视节目制作经营许可证:编号(京)字第1149号
  
快速回复 返回顶部 返回列表