POPPUR爱换

标题: 热备份是做什么用的? [打印本页]

作者: 含笑半步癫    时间: 2009-6-9 13:39
提示: 作者被禁止或删除 内容自动屏蔽
作者: kenkenkenken    时间: 2009-6-9 13:56
hot spare吧,就是说如果raid里面有一块盘坏了,它会自动替换那块离线的盘、重新同步,不需要人工干预。一般盘少我都不用这个选项,如果超过6块可以考虑一下弄个hot spare
作者: bcyj    时间: 2009-6-9 14:59
超过6块,用热备还不如换个支持raid6的卡,用raid6
作者: kenkenkenken    时间: 2009-6-9 15:29
超过6块,用热备还不如换个支持raid6的卡,用raid6
bcyj 发表于 2009-6-9 14:59


在raid5需要热备的环境,raid6一样要弄热备咯,这个主要是企业生产环境用的,强调无人值守期间的故障自动修复,跟raid能忍受多少块盘倒掉无关。

自己玩玩的话,或者企业生产环境没有自动修复的需求,就根本不需要理会这东西,呵呵。
作者: bcyj    时间: 2009-6-9 15:34
在raid5需要热备的环境,raid6一样要弄热备咯,这个主要是企业生产环境用的,强调无人值守期间的故障自动修复,跟raid能忍受多少块盘倒掉无关。

自己玩玩的话,或者企业生产环境没有自动修复的需求,就根本不 ...
kenkenkenken 发表于 2009-6-9 15:29

不是这样算的,raid6的出错导致停止运行的机率比raid5+热备要小,就是相同盘数的raid6的可靠性要比raid5+热备高,这其实就是相同盘数的raid6和raid5+热备的比较,与raid6和raid6+热备的比较无关
作者: ljlxl    时间: 2009-6-9 15:38
hotspare,当阵列中一块硬盘挂掉后,这块硬盘马上顶上去
作者: kenkenkenken    时间: 2009-6-9 15:56
不是这样算的,raid6的出错导致停止运行的机率比raid5+热备要小,就是相同盘数的raid6的可靠性要比raid5+热备高,这其实就是相同盘数的raid6和raid5+热备的比较,与raid6和raid6+热备的比较无关
bcyj 发表于 2009-6-9 15:34


从概率上你说的非常有道理,不过现实有些情况一定要热备,比如远程机房并没有配备管理人员,如果需要人工更换硬盘,必须总部网管坐飞机去 ,所以不管如何都要弄热备,可能还不止一块热备。

这种客户不大会考虑“相同盘数”,顶多再加盘,再说有些人并不信任raid6的性能......

那为什么开始我说盘少就不弄热备呢,因为盘少客户通常不愿意损失一块盘的容量去提高可靠性,他跟上面说的客户不是一个类型,他不愿意损失容量弄热备的话,同理也不愿意弄raid6的,一般这种就随便跑跑r5了。
作者: bcyj    时间: 2009-6-9 16:05
从概率上你说的非常有道理,不过现实有些情况一定要热备,比如远程机房并没有配备管理人员,如果需要人工更换硬盘,必须总部网管坐飞机去 ,所以不管如何都要弄热备,可能还不止一块热备。

...
kenkenkenken 发表于 2009-6-9 15:56

说了单纯比较..
如果实际情况的话,这可以无限扩展下去的,直接热备服务器,直接热备机柜,机房....
作者: fly-fox    时间: 2009-6-9 16:15
r5+hot spare的应用还是远比r6广泛的多。
其中的主要原因恐怕就是性能和hot spare的必要性。
r6由于多了一块校验盘,所以性能,尤其是写性能有损失。
其次是hot spare的必要性,r5为什么需要hot spare?是因为r5的一块盘挂掉后,磁盘系统的性能急剧下降,其读写压力猛增,第二块盘挂掉也是很快的事情,如果有hot spare临时顶上的话,你就会有充足的时间更换坏盘。基于同样的理由,r6也是需要hot spare的。
基于以上的理由,我不认为r6相对于r5有优势。
作者: bcyj    时间: 2009-6-9 16:27
本帖最后由 bcyj 于 2009-6-9 16:29 编辑
r5+hot spare的应用还是远比r6广泛的多。
其中的主要原因恐怕就是性能和hot spare的必要性。
r6由于多了一块校验盘,所以性能,尤其是写性能有损失。
其次是hot spare的必要性,r5为什么需要hot spare?是因为r5的 ...
fly-fox 发表于 2009-6-9 16:15

我想你需要去了解一下r5,r6这类的实际运算过程,不论盘数,r5r6的xor的次数都是和盘数一样,如5个盘,raid5+热备是xor了4次,raid6是xor了5次,运算量增加为4分之1.目前还没有见那个卡raid6会比raid5明显性能下降的
r5在读数据时本身就是要效验的,所以不存在挂了一个盘之后,读写压力猛增
作者: 含笑半步癫    时间: 2009-6-9 16:37
提示: 作者被禁止或删除 内容自动屏蔽
作者: fly-fox    时间: 2009-6-9 16:58
我想你需要去了解一下r5,r6这类的实际运算过程,不论盘数,r5r6的xor的次数都是和盘数一样,如5个盘,raid5+热备是xor了4次,raid6是xor了5次,运算量增加为4分之1.目前还没有见那个卡raid6会比raid5明显性能下降的 ...
bcyj 发表于 2009-6-9 16:27

我想你还是需要认真了解一下RAID的原理。
首先,RAID5并不像RAID3,有一块单独的校验盘,实际上RAID5的元数据和校验数据都是分布到所有磁盘的,因此当一块盘挂掉的时候,数据虽然不会丢,但是数据要经过读取所有盘的数据后计算得出(已可以把它理解成一次逆向的XOR操作),因此磁盘子系统的IO压力会非常高,这个我是有实际经验的。
再说说RAID6,它并不是有两块镜像的校验数据盘,和RAID5一样,它的元数据和校验数据也是分布到所有磁盘的,不同的是,它有两套校验数据,而且这两套数据不同,所以RAID6需要RAID卡主控芯片的支持,而不是RAID5做两遍就可以了。因此,RAID6会带来更大的系统开销,写性能比读性能下降的大。
作者: bcyj    时间: 2009-6-9 17:13
我想你还是需要认真了解一下RAID的原理。
首先,RAID5并不像RAID3,有一块单独的校验盘,实际上RAID5的元数据和校验数据都是分布到所有磁盘的,因此当一块盘挂掉的时候,数据虽然不会丢,但是数据要经过读取所有盘 ...
fly-fox 发表于 2009-6-9 16:58

我的raid6数据恢复是自己写的软件。。
raid5和raid6的原理就是异或,就是任意二个数异或得出第三个数,这个第三个数中随意二个异或可以还原出另一个
就是五个盘 盘1 ^ 盘2 ^ 盘3 ^ 盘4 = 盘5
虽然,在raid5没挂一个盘之前,读取数据数只需读前面四个盘或四个盘其中几个,但是实际上,raid卡还是会在异步读第五个盘,并进行四次xor,校验以验证这个raid是否有损坏。所以,对盘的io压力是一样的。
作者: fly-fox    时间: 2009-6-9 17:21
我的raid6数据恢复是自己写的软件。。
raid5和raid6的原理就是异或,就是任意二个数异或得出第三个数,这个第三个数中随意二个异或可以还原出另一个
就是五个盘 盘1 ^ 盘2 ^ 盘3 ^ 盘4 = 盘5
虽然,在raid5没挂 ...
bcyj 发表于 2009-6-9 17:13

RAID卡不会在每次读数据块的时候做校验,这样的话,性能吃不消,不同的厂商自己的策略。
在通常情况下,读不需要做XOR,而且少读一块盘,挂掉一块,读数据也要做XOR,而且多读一块盘,在一个有相当负载的系统中,这个压力还是很明显的。我们的数据库系统,在坏盘的情况下,IO明显增高,响应速度也显著下降。
基于同样的理由,R6在写盘时多做一次XOR,多谢一次盘。
作者: bcyj    时间: 2009-6-9 17:28
读的时候也有校验,不过不是同步的,是异步的,这个你可以简单的验证。
在关机的情况下,把盘单独接出来,然后把其中一位数据改写,再接回阵列去,然后去读这位,看看卡会不会报数据损坏
作者: bcyj    时间: 2009-6-9 17:35
还有,你上面的还有一个错误,就是如果读时不做校验(ichxr),那就和raid0是一样的,那就不是少读一块盘,而是根据概率来决定少读多少块盘,这个概率的计算参考一下这两个帖子
http://we.pcinlife.com/thread-1148525-1-1.html
http://we.pcinlife.com/thread-1179594-1-3.html
作者: fly-fox    时间: 2009-6-9 17:36
读的时候也有校验,不过不是同步的,是异步的,这个你可以简单的验证。
在关机的情况下,把盘单独接出来,然后把其中一位数据改写,再接回阵列去,然后去读这位,看看卡会不会报数据损坏
bcyj 发表于 2009-6-9 17:28

所以说对于数据校验,RAID卡有它的策略,不会随着数据块的读取同时进行。
因此,掉盘的RAID5性能急剧下降是没有问题。
作者: bcyj    时间: 2009-6-9 17:38
所以说对于数据校验,RAID卡有它的策略,不会随着数据块的读取同时进行。
因此,掉盘的RAID5性能急剧下降是没有问题。
fly-fox 发表于 2009-6-9 17:36

你的“是因为r5的一块盘挂掉后,磁盘系统的性能急剧下降,其读写压力猛增”
我的反对你这句的话是“r5在读数据时本身就是要效验的,所以不存在挂了一个盘之后,读写压力猛增”
论点在“读写压力猛增”,并不是在性能没有下降
作者: fly-fox    时间: 2009-6-9 17:46
还有,你上面的还有一个错误,就是如果读时不做校验(ichxr),那就和raid0是一样的,那就不是少读一块盘,而是根据概率来决定少读多少块盘,这个概率的计算参考一下这两个帖子
http://we.pcinlife.com/thread-1148 ...
bcyj 发表于 2009-6-9 17:35

同样读一组数据,R5读N-1块盘,R0读N块盘,但是R5只拿到(N-5)*X的数据,而R0拿到的是N*X的数据,这就是性能的差距。
不考虑总线带宽,盘数越多,R5的性能越接近于R0。你去看存储厂商的高性能都是在大盘数的系统上做出来的。
最后说一句,我觉得对大多数系统,条带化改变的意义不大,系统推荐的已经够了。尤其是家用系统,没有那么大的压力的。
作者: bcyj    时间: 2009-6-9 17:53
同样读一组数据,R5读N-1块盘,R0读N块盘,但是R5只拿到(N-5        *X的数据,而R0拿到的是N*X的数据,这就是性能的差距。
不考虑总线带宽,盘数越多,R5的性能越接近于R0。你去看存储厂商的高性能都是在大盘数的系统上 ...
fly-fox 发表于 2009-6-9 17:46

说的是你的“在通常情况下,读不需要做XOR,而且少读一块盘”
我的是说如果5块盘的raid5,在不需要校验时,读取一次数据,需要读取多少个盘,这个概率和4盘的raid0是一样的,可能1个盘到4个盘,而不是你的“少读一块盘”的4个盘,别扯远了
作者: fly-fox    时间: 2009-6-9 17:53
你的“是因为r5的一块盘挂掉后,磁盘系统的性能急剧下降,其读写压力猛增”
我的反对你这句的话是“r5在读数据时本身就是要效验的,所以不存在挂了一个盘之后,读写压力猛增”
论点在“读写压力猛增”,并不是在 ...
bcyj 发表于 2009-6-9 17:38

数据的校验不是读同步进行,系统会自动根据压力调整校验的时间。所以这个开销基本可以无视。
坏盘以后的读取和XOR是不同的,是一定要做的,否则根本拿不到数据。
如果你的盘数少,那么相对的读压力的增长大;如果你的盘数多,那么XOR的开销就大,系统压力的增加是免不了的。
当然如果你系统的压力本来就小,那就根本看不出这种变化。
作者: bcyj    时间: 2009-6-9 17:59
数据的校验不是读同步进行,系统会自动根据压力调整校验的时间。所以这个开销基本可以无视。
坏盘以后的读取和XOR是不同的,是一定要做的,否则根本拿不到数据。
如果你的盘数少,那么相对的读压力的增长大;如果 ...
fly-fox 发表于 2009-6-9 17:53

前提你说的可以进行热备重建的压力下,连续不间断的极限读,重建一样不能进行,所以在可以重建的情况下,读写的数据量和io数相同,压力是一样的
作者: fly-fox    时间: 2009-6-9 18:04
说的是你的“在通常情况下,读不需要做XOR,而且少读一块盘”
我的是说如果5块盘的raid5,在不需要校验时,读取一次数据,需要读取多少个盘,这个概率和4盘的raid0是一样的,可能1个盘到4个盘,而不是你的“少读一 ...
bcyj 发表于 2009-6-9 17:53

我知道你想要说什么了,你觉得如果文件系统的Block Size小于设置的Strip Size的时候,只会读一块盘,所以会出现盘数的概率。
我想说的是,这种情况在生产系统中是不可能出现的,总线很可能吃不饱,严重影响性能。当有数据请求的时候,系统会一次取出相关数据放进缓存(具体逻辑具体到厂商有所不同),所以基本上5盘的R5一次读就是4块盘,5盘的R0一次读就是5块盘。
作者: bcyj    时间: 2009-6-9 18:08
我知道你想要说什么了,你觉得如果文件系统的Block Size小于设置的Strip Size的时候,只会读一块盘,所以会出现盘数的概率。
我想说的是,这种情况在生产系统中是不可能出现的,总线很可能吃不饱,严重影响性能。 ...
fly-fox 发表于 2009-6-9 18:04

不是你说的这样,那两个帖子说的主题不一样,一个是针对持续速度的(小带条),一个是针对iops的(大带条)
然后,里面的这个链接有图片,可以方便你的理解http://storageadvisors.adaptec.c ... -right-stripe-size/
作者: fly-fox    时间: 2009-6-9 18:08
前提你说的可以进行热备重建的压力下,连续不间断的极限读,重建一样不能进行,所以在可以重建的情况下,读写的数据量和io数相同,压力是一样的
bcyj 发表于 2009-6-9 17:59

这个RAID卡是有设置的,可以设定Rebuild的优先级,像HP的卡就有Low,Middle,High三个级别,更重要的是,系统的压力之持续Rebuild的这段时间,而没有Hot Spare,这会一直持续到你换盘并Rebuild为止。
还有一点,就是当你设置了Hot Spare之后,系统应该在这块盘上做了动作,在挂盘的情况下,尽量缩短Rebuild的时间。
作者: bcyj    时间: 2009-6-9 18:12
这个RAID卡是有设置的,可以设定Rebuild的优先级,像HP的卡就有Low,Middle,High三个级别,更重要的是,系统的压力之持续Rebuild的这段时间,而没有Hot Spare,这会一直持续到你换盘并Rebuild为止。
还有一点,就 ...
fly-fox 发表于 2009-6-9 18:08

不要想当然,从原理上说,你觉得这热备盘可以做什么动作?可以预测那块盘会坏?如果这盘能有动作的就是raid6类的了
单位时间内读写数据量和io数相同,压力相同
作者: fly-fox    时间: 2009-6-9 18:23
不要想当然,从原理上说,你觉得这热备盘可以做什么动作?可以预测那块盘会坏?如果这盘能有动作的就是raid6类的了
单位时间内读写数据量和io数相同,压力相同
bcyj 发表于 2009-6-9 18:12

呵呵,事先声明,我也只是猜想,没有理论支持啊。猜想的理由很简单,就是我发现,Hot Spare那块盘的灯,会周期性的亮。
如果有动作,肯定不会跟写数据同步啊,肯定像数据校验一样,异步做啊,减少系统压力啊。
作者: bcyj    时间: 2009-6-9 18:25
呵呵,事先声明,我也只是猜想,没有理论支持啊。猜想的理由很简单,就是我发现,Hot Spare那块盘的灯,会周期性的亮。
如果有动作,肯定不会跟写数据同步啊,肯定像数据校验一样,异步做啊,减少系统压力啊。
fly-fox 发表于 2009-6-9 18:23

周期性亮是因为要定性检测那盘有没有挂,如果挂了就报警
作者: fly-fox    时间: 2009-6-9 20:55
周期性亮是因为要定性检测那盘有没有挂,如果挂了就报警
bcyj 发表于 2009-6-9 18:25

但是如果一块盘只是online,没有加入到VD的话,是不会亮的。这个只是猜测,没有理论依据,就到这里。
看了你在那两个帖子里的回复,发现有一个看法是错误的。
“iops本来就是随机的,每个盘的iops都是相应固定的,所以理论上最高iops就是单盘的iops x盘数,那么raid时要尽量靠近理论上的最高iops的方法,就是尽量让每次的io请求只由一个单独的盘去响应.条带越小,一次io请求由多盘响应的机会越大,iops越低(越接近单盘的iops)关于例子,这只是一个例子,这里说的其实就是一个io请求的数据量,而不是上层的api”
对于存储系统来说,就是希望每次的IO请求有尽可能多的盘相应到,这时整个系统的IOPS最高,这也是为什么一般情况下,RAID0,5的盘数越多,性能越好。为什么这么说?这是因为受限于机械结构,单块硬盘的IOPS是远小于总线带宽的,所以如果存储子系统只有一块硬盘,其总线是吃不饱的,只有在多磁盘系统中,多块磁盘同时读取数据时,IOPS才能尽可能的最大化。
作者: bcyj    时间: 2009-6-10 08:48
本帖最后由 bcyj 于 2009-6-10 08:50 编辑
但是如果一块盘只是online,没有加入到VD的话,是不会亮的。这个只是猜测,没有理论依据,就到这里。
看了你在那两个帖子里的回复,发现有一个看法是错误的。
“iops本来就是随机的,每个盘的iops都是相应固定的, ...
fly-fox 发表于 2009-6-9 20:55

你没认真看完那个帖子,所以你的看法完全错误,请重新看,把持续速度和iops搞清楚,或者参考这个文章
http://storageadvisors.adaptec.com/2006/06/05/picking-the-right-stripe-size/
作者: fly-fox    时间: 2009-6-10 09:19
你没认真看完那个帖子,所以你的看法完全错误,请重新看,把持续速度和iops搞清楚,或者参考这个文章
http://storageadvisors.adaptec.com/2006/06/05/picking-the-right-stripe-size/
bcyj 发表于 2009-6-10 08:48

首要的问题是你是否认可对于RAID0,是不是盘数越多,性能越好(先不说RAID5,也不考虑系统带宽)?这个问题和Strip Size是没有关系的。如果你对这个问题不认可,那就无法讨论了,因为你的基本观点就是错的。
作者: bcyj    时间: 2009-6-10 09:42
首要的问题是你是否认可对于RAID0,是不是盘数越多,性能越好(先不说RAID5,也不考虑系统带宽)?这个问题和Strip Size是没有关系的。如果你对这个问题不认可,那就无法讨论了,因为你的基本观点就是错的。
fly-fox 发表于 2009-6-10 09:19

raid0的总体性能当然越多盘越好(寻道性能不变,持续和iops更加)
但这个和你的错误的观点根本不是一个点上的东西,请重新从头到尾认真看那两个帖子,理论已经说的很详细了,第一个帖子是主要讨论持续速度的,第二个帖子主要就是iops
作者: bcyj    时间: 2009-6-10 09:50
发现你不知道iops是什么。。。io per/sec, 每秒io操作数
作者: 93blue    时间: 2009-6-10 11:46
本帖最后由 93blue 于 2009-6-10 11:47 编辑

bcyj   真是硬盘专家啊   太强了

现在难得有这么好的技术贴了,讨论氛围又浓
作者: zgw3    时间: 2009-6-11 23:04
是啊,我好多问题都是找bcyj的,呵呵,麻烦他了




欢迎光临 POPPUR爱换 (https://we.poppur.com/) Powered by Discuz! X3.4