Chinaunix

标题: 路径切换会中断业务吗 [打印本页]

作者: atreenoleaf    时间: 2009-11-25 09:42
标题: 路径切换会中断业务吗
powerpath,rdac之类的路径切换中会中断数据库类的业务吗,假如一条链路失效应该lun会由一个控制器切换到另一个控制器上,这个过程中会需要一定的时间,怎么也得几十秒吧,这种情况下对负载相对较大的数据库影响多大?会数据库会down掉吗?感觉像会,但是实际情况下大多都没down掉,这个是怎么实现的?一般像oracle,sqlserver之类的数据库能容忍多长时间的磁盘暂时失效?假如用dd测试路径切换的话一直用dd往存储写文件,然后断一条链路,在这种情况下ls查看写的文件数据应该是没写进去只有切换完了再继续写,在切换的过程中dd是把数据写进cache了还是在不断的重试重写?
作者: gesture    时间: 2009-11-25 14:16
‘前台’写cache就完;后面切换的,控制器间有cache mirror啥的扛着
作者: atreenoleaf    时间: 2009-11-25 14:23
标题: 回复 #2 gesture 的帖子
但是写cache只是写到lun所在控制器的cache然后cache又镜像到对端控制器的cache,假如一种情况下某个lun所在的控制器挂了,此控制器的cache失效,在路径切换完毕之前这时候的数据时没法写cache的,这时候呢,应该大的数据库访问可能会当即吧
作者: tangye    时间: 2009-11-25 14:52
多路径通常是aa的吧
作者: atreenoleaf    时间: 2009-11-25 15:09
原帖由 tangye 于 2009-11-25 14:52 发表
多路径通常是aa的吧

现在所说的aa并不是严格意义上的aa像emc clariion和ds4000系列一个lun同时只能由一个控制器进行访问,当然clariion的新产品支持alua这种折中的aa但是这种性能会下降20%,在这种情况下写cache的时候只会写到对应控制器的cache同时两个控制器的cache做mirror,但是一个控制器坏掉的话,这个控制器上的lun在路径切换完毕之前是不会访问到另一个控制器的cache的。
作者: 无牙    时间: 2009-11-25 15:53
如果应用能容忍30秒的中断就没问题。
作者: gesture    时间: 2009-11-25 16:17
原帖由 无牙 于 2009-11-25 15:53 发表
如果应用能容忍30秒的中断就没问题。



30秒! 听着很恐怖的
作者: 撒旦的使者    时间: 2009-11-25 16:22
有些存储的cache都有好几个GB
作者: gesture    时间: 2009-11-25 16:28
原帖由 atreenoleaf 于 2009-11-25 14:23 发表
但是写cache只是写到lun所在控制器的cache然后cache又镜像到对端控制器的cache,假如一种情况下某个lun所在的控制器挂了,此控制器的cache失效,在路径切换完毕之前这时候的数据时没法写cache的,这时候呢,应该 ...



问题问得很细致,好同事!

控制器口s-交换机-卡s(路径s)的 自有一套‘健康机制’——paths当前状态的它掌握。如 操作之前一个controller down了,路径状态变了,该路径就不接受OP了;若 op当中 控制器down了,该机制让另一个控制器‘redo’……俺觉得这个‘切换’间隔 取决于对路径状态轮询的时间间隔和redo

再说一句啊:一般操作是hosts(应用)写到array的cache就完了(异步方式,实际是写到卡的queue里)——array‘谎报’ok,主机这边就认为完事了哈……主要为提高性能;俩controller的cache有mirror机制的,所以一个突然down了,另一个号称能***的哈

[ 本帖最后由 gesture 于 2009-11-25 16:39 编辑 ]
作者: yoyosys    时间: 2009-11-25 17:32
这种中断基本上可以忽略不计,银行都能容忍这种切换时间
作者: atreenoleaf    时间: 2009-11-25 17:58
原帖由 yoyosys 于 2009-11-25 17:32 发表
这种中断基本上可以忽略不计,银行都能容忍这种切换时间

关键是这种切换例如30秒假如数据库所有的数据及重做日志文件都跑在存储上,这样会不会造成数据库的down掉,假如数据库真的down掉了一般需要手动重启吧,这个时间就不好计算了,一般的大型数据库,像oracle,db2之类的能容忍多长时间的磁盘暂时失效呢?
作者: 无牙    时间: 2009-11-25 20:53
30秒是OS中scsi timeout的标准时间,如果只是路径切换是不会到30秒的,但是要是控制器出问题,有可能就不止这个时间了。
作者: gesture    时间: 2009-11-25 22:41
原帖由 无牙 于 2009-11-25 20:53 发表
30秒是OS中scsi timeout的标准时间,如果只是路径切换是不会到30秒的,但是要是控制器出问题,有可能就不止这个时间了。



谢谢~ 知道了




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2