开始新对话

未解决

此帖子已超过 5 年

476

2013年6月8日 00:00

探究Avamar是如何进行Rolling HFS check的

探究Avamar是如何进行Rolling HFS check

转载请在文首保留原文出处:EMC中文支持论坛https://community.emc.com/go/chinese

介绍

大家可能已经知道,Avamar主要有两种HFS check方式:FullRolling。成功的Full HFS checkRolling HFS check都被认为是“完全并合法的”,可被用于回滚Avamar Server。执行Rolling HFS check的好处是:相比于Full HFS check,花费的时间大大降低(Full HFS check有时甚至需要执行超过24小时)。

Full HFS check很好理解,就是对GSAN上的所有数据执行检查。Rolling HFS check该如何理解呢?Avamar文档上的解释比较简单:完全检查所有新的和被修改的stripes并检查一部分未修改的stripes

那么Avamar究竟是以何种机制来完全验证所有新的和被修改的stripes并检查一部分未修改的stripes呢?这和Rolling(回滚)这个词又有什么关系呢?

更多信息

在参阅了一些资料之后,我发现Avamar原来是这样进行Rolling HFS check的:

Rolling HFS check会检查所有index stripes、修改过的data stripes以及和它们相关的parity stripes、一些未修改的stripes以及和它们相关的parity stripes,最后会检查reference stripes

以下这些stripes是每次Rolling HFS check一定会去检查的:

  • index stripes
  • 修改过的data stripes以及和它们相关的parity stripes
  • reference stripes

默认,Rolling HFS check会检查GSAN上的10%的数据量。如果以上这些必查数据未能达到GSAN10%数据量的要求,Rolling HFS check还会检查一些未修改的stripes以及和它们相关的parity stripes,直到达到10%的数据量要求为止。如果以上这些必查数据已经达到或超过GSAN10%数据量的话,Rolling HFS check就不会再检查未修改的stripes以及和它们相关的parity stripes

举例来说可能更清楚些:

1.jpg


如上图,假如在上一次HFS check之后,GSAN上有3%的数据量被修改了(包括index stripesreference stripes),那么除了这部分数据会被检查之外,还会检查占GSAN总数据量7%的某些未修改的stripes以及和它们相关的parity stripes。完成之后,这些被检查过的stripes会被标记。

2.jpg


如上图,假如后一天,GSAN上又有5%的数据量被修改了(包括index stripesreference stripes),那么除了这部分数据会被检查之外,还会检查占GSAN总数据量5%的某些未修改且未被标记的stripes以及和它们相关的parity stripes。完成之后,这些被检查过的stripes会被标记。

3.jpg


如上图,以此类推,假如GSAN上每次都有少于10%的数据量被修改,Rolling HFS check每次都会额外检查之前未修改且未被标记的stripes。一段时间以后,当整个GSAN上的所有stripes都被检查完时,整个过程就会重头开始,这就实现了所谓的“滚动检查”。

4.jpg


如上图,假如GSAN上有12%的数据量被修改(包括index stripesreference stripes),由于已经超过10%的数据量检查要求,Rolling HFS check就只会检查这12%被修改的数据量,而不会再检查任何未修改的数据。

应用于

Avamar

             

没有回复!
找不到事件!

Top