大家好,我是冬瓜头(QQ122567712)。email: myprotein@sina.com
msn myprotein0007@hotmail.com
前三关的修炼,我们步入存储界,我们练成了IO大法,磁盘大挪移神功。大家没事多练功,不仅仅练功夫,而更要练一种精神,练一种境界。就是所谓悟。
我们这次来闭关修炼一种阵法,叫做“北斗七星阵”!这种阵法是由前辈精心设计的,攻无不克,战无不胜的阵法,至今仍被各大门派广为使用!这个阵法是由7种阵式组成:分别为raid0,raid1,raid2,raid3,raid4,raid5,raid6阵式!每一招每一式,无不让人赞叹折服!下面我们分别来修炼每一个阵式!注意,少有不甚,便会走火入魔!
raid0阵式
话说几百年前,有位双刀大侠,左右手各拿一把大刀,开始的时候,他总是单独使用每把刀,要么用左手刀,要么用右手刀。但是总被人打败,郁闷至极,苦心悟道,朝朝暮暮,静心修炼,他逐渐模索出一套刀法,自称“合一刀法”,即双刀并用。外人看不见他的第二把刀,只能看到他拿着一把刀,他把两把刀的威力,合而为一,成为一把大刀!而这种双刀合一的刀法,又可以分为两条路子:一条是常规路子,即这把合而为一的大刀,其实每出一招,只有原来一把刀的威力,但是后劲更足了,一把刀顶不起来的时候,可以第二把刀上阵,但是他们对敌人来说,还是只看见一把大刀。另一条是野路子,野路子往往效果很好,即每出一招,总是不但具有两把刀的威力之和,而且也具有两把刀的后劲!他实现这个野路子的方法,便是界内早有的思想:分而治之!也就是说他把一把刀,又分成了很多细小的元素,每次出招,他把两把刀的元素组合起来,所以不但威力大了,后劲也足了!不过大侠的这个刀法有个致命的弱点就是:双刀息息相关,一旦其中一把刀有所损坏,另一把刀相应的地方也跟着损坏,如果一把刀完全失去效力,那么另一把刀也跟着失效。
双刀大侠一直到临终也没有收何一个徒弟,不是因为它武艺不精,而是因为他的合一刀法,在当时被认为是野路子,歪门邪路的功夫,所以郁闷一生。。临终时他用尽自己最后一点力气,在纸上写下了4句诗后,抱撼而终!
刀于我手不为刀,
横分竖割成龙绦。
化作神龙游天际,
龙在我心任逍遥!
这就是后世流传的“合一刀法”刀谱!俗称“龙谱”
下面我们就来解读一下龙谱。第一句:刀于我手不为刀。这句说明了,刀在双刀大侠的手里,已经不是刀这么简单。第二句,横分竖割成龙绦,这句是说,刀已经被他分割成“绦”了,绦就是丝带的意思,并赋予龙的特质!第三句:化作神龙游天际,龙绦组合成神龙,遨游天际!第四句:龙在我心任逍遥,说明这条龙真正的是在大侠的心中遨游的,也就是用心去体会!去悟去修炼!世上最高的刀法,在心中,而不是手上功夫!!!双刀大侠练就的是一门“浩瀚”绝学,心、龙,是何等的好汉,游龙在心,任逍遥!一招一式都是铺天盖地,势不可挡!
话说几百年后,某现代大侠,在修炼了磁盘大挪移神功,和龙谱之后,有一天,他突然两眼发愣:“朕悟到了!”然后奋笔疾书,成就了“七星北斗阵”空前决后的阵法!raid0阵式,就是其中的第一阵式!我们就来看看这个阵式的绝妙之处吧!
首先,这位七星大侠一定是对磁盘大挪移神功有很高的悟性,因为他熟知:每块磁盘上面的磁性区域的构造,包括磁道,磁头,扇区,柱面等等,这些口诀心法已经烂熟于心。在他看来,盘片就像一个峰窝,上面的每一个孔都是一个扇区,可以说他已经参透了磁盘。其次,七星大侠一定是对合一刀法的精髓有很高的领悟,即他能参透双刀大侠那4句诗的含义,特别是第二句,给了他很大的启发!“横分竖割成龙绦”,暗示着双刀大侠把他的刀在他心中分割成了横条带,和竖条带,所以叫“横分竖割”,分割完毕之后,双刀大侠把这些分割后的所谓“绦”,即细条带在心中组合起来,形成一条虚拟的“龙”,然后用龙来当作武器,即“龙在我心任逍遥”。这显然给了七星大侠很大的启发,何不把多块磁盘也给“横分竖割”,然后组成“龙”呢?对,就这么干!七星大侠卖血换来两块磁盘,找了个破庙,在仆撒后面搭了个草堆,成天摆弄他那两块用血换来的磁盘。白天出去要饭,晚上回来潜心钻研!他首先决定把两块磁盘都分割成条带,形成“绦”,可是该怎么分好呢?合一刀法的思想主要有两条路:一条是懒人做法,不想动脑子的,即威力小,后劲足那种,另一种是需要动脑子算的,即威力足,后劲也足那种。第一种怎么实现呢?七星大侠冥思苦想,却发现被误导了,因为第一种,根本不需要做“绦”,双刀大侠的诗只是描述了威力巨大的第二种路子。所以三下五除二,七星大侠写出了raid0阵式种第一个套路:即累加式,也就是说,磁盘还是那些磁盘,什么都不动,也不用“横分竖割”,数据来了,先往第一块磁盘上写,等写满之后,再往第二块上写,然后将这两块磁盘在心中组成一条龙,这就符合了合一刀法的思想,只不过这条龙威力比较弱,因为每次IO只用到了一块磁盘,另一块磁盘没有动作。但是这条龙的后劲,比单个磁盘足了,因为容量相对一块磁盘来说,增大了。第一套路子实现了,那么第二套路子,就难了。其实磁盘已经被分割了,扇区不就是被分割的么?但是一个扇区只有512字节大小,这不符合合一刀法,因为合一刀法中,是“绦”而不是“粒”,分割成粒的话,不仅开销太大,而且组合起来也很困难。所以七星决定完全按照合一刀法的思想,照搬,但是又不能丢弃磁盘已经分割好的扇区,所以七星绞尽脑汁,想出这么一个办法:请看ppt。就这样埋头苦苦思考了整整1年,基于合一刀法的横分竖割的思想,完成了七套阵式,自封“七星北斗阵”。第一阵式raid0,我们就修炼到此。
raid1阵式
花开七朵,各表其一。话说七星在完成raid0阵式之后,并没有沾沾自喜,而总是想在合一刀法上有所创新。他琢磨:raid0阵式纵然威力无比,但弱点也很明显,也就是一旦其中一块磁盘废掉,整个阵将被轻而易举的攻破,因为每次出招,靠的就是“合一”,如果任意一块坏掉,也就没有“合”的意义了。也就是说,数据被在我心中分割,本来老老实实写到一块盘就完事了,天下太平了,可我为了追求威力,非要轮流写盘,第一块数据我写到1号盘的extent0,第二块数据我写到2号盘的extent1,第三块我写到1号盘的extent2,如此反复。但是对于外界来说,他就认为他是把数据都写到了我心中的一块龙盘上。这样不坏则已,一坏全完。不行,不保险,为了追求威力,冒险太大,得想个稳妥的办法。于是七星再次冥思苦想,终于得出了raid1阵式!这话要说到3百年前,有位“独行侠”,终日孤单一人,心独身独。据称他每次出招,从来不用双手,总是单手打出单掌,练就了一门“独孤影子掌”。虽说此掌法威力不高,但是自有其妙处,即,每当他敌不过他人,单掌被击溃的时候,就会立即换用另一只从来都没用过的掌,继续出招,这一绝学,往往另自以为已经占了上锋的敌人还没有回过神来的情况下,打他个出奇制胜!不但他的掌法如此绝妙,就连他的整个身法,都达到了炉火纯青的地步,即他能修炼出一个影子,这个影子平时总是跟随这他,他做什么,影子就做什么,一旦真身玉石具焚,其影子便代替他的真身来动作。这位独行侠遗留的“孤独影子掌”秘笈,现公布如下:
心朦胧,掌朦胧。
掌由独心生。
身朦胧,影朦胧。
身影心相同。
花朦胧,夜朦胧。
独饮赏月容。
灯朦胧,人朦胧。
此景何时休?
独行侠的这段诗句,我想我们不难理解,孤独给了他灵感,身独,心也独,如此练就的功夫,也是独孤残影。最后一句说出了大侠的无奈,其实他也不想孤独,但是没人能理解他,都排斥他,看不起他。
七星大侠,参透了独行侠的苦衷,参透了他的心境。独行侠练就的是一门“无奈”绝学,独、孤、残、苦,处处体现着凄惨,潦迫。只有残了,才能重获新生,一只掌断了,另一只掌才能接替,这是何等凄惨?凄惨至极!!往往孤独凄苦的人都很注意自保,虽然招式的威力是最小的。所以这门学问,是武林中用于自保的最佳选择。
七星大侠没有理由不选择这门自保神功来解决他在钻研raid0阵势中遇到的问题,也就是安全问题,好无疑问,raid0是鲁莽的,他威力无比,但是也幼稚无比,一点点挫折,就足以让raid0解体。
七星大侠决定,完全抛弃raid0的鲁莽,采用独行侠的思想。两块磁盘,一块用于正常使用,另一块用作正常使用磁盘的影子,影子总是跟随主人,主人做什么,影子就做什么。工作盘写了一个数据,影子盘相同位置也写上数据。读数据的时候,因为数据有两份,所以可以在工作盘读,也可以到影子盘读,所以增加了并发性,即修炼这个阵势的人,可以同时应付2个敌人的挑衅,自身应付一个,影子应付一个,这无疑是很高明之处!但是应付一个敌人的时候,他不象raid0阵势也可以同时使用多块磁盘,只能使用一块磁盘。当其中一块磁盘坏掉,或者其中一块磁盘上某个区域坏掉,那么对应影子盘或者影子盘上对应的位置,便会立即接替工作盘,敌人看不出变化。可能独行侠一生也没曾同时遇到两个对手过招的情况,所以在他的秘笈中,并没有体现“并发读”这个功能,只体现了自保,安全。然而七星并没有全面抛弃双刀大侠的思想,而是去粗取精,他保留了双刀的精华,即“横分竖割”的基本思想,而抛弃了他的算法,也即鲁莽而不计后果的轮流往各个磁盘上写数据的方法。所谓算法,也即指大侠对付敌人的招数的时候,在心中的盘算过程,要用心去算,而心算的速度远远快于出招的速度,所以心算引发的延时并不会影响出招速度。现在江湖人士也大多都是精于钻研算法上,而只有制造兵器的铁匠,才去钻研如何用料,才能减轻兵器重量,而不影响兵器的硬度,耐磨度等等,如何设计,才能用大侠们使用蔬服等等。可以说,兵器的材质,设计加上大侠们精研的算法,才形成了江湖上形形色色的功夫秘笈!!而材质在很大程度上,是发展很慢的,想有突破,非常困难,但是算法就不同了,大侠可以研究出各种使用兵器的方法,将兵器用的神乎其神! 磁盘的转速,磁密度,电路等等,虽然一直在提升,但是终究太慢。所以出现了以七星大侠为代表的算法派,他们苦研算法,用来提高磁盘的整体性能。假想某天一旦某个铁匠造出了屠龙刀倚天剑这般的神器,我想七星这等算法大侠也就无用武之处了。可惜这两把神器已经是自相残杀玉石具焚了。
七星大侠最后给这个阵势起名叫做“raid1”。看ppt。
但是七星也深深认识到,这个raid1阵法,有两个大弱点,第一就是就是在修炼的时候,速度会稍慢,因为每次修炼,除了练真身之外,还要练影子,不然影子不会,出招的时候影子就无法使用。这会对实际使用有一定影响,数据写到工作盘上,也必须写到影子盘上一份。第二就是:虽然自己有个影子,但是影子没有给真身增加后劲,真身累了,影子也累了,不管修炼了几个影子,整体的耐力和体力,只等于其中一个的体力耐力,也就是真身的体力和耐力。两块磁盘,甚至多于两块,3块也好,5块也好,他们整体对外的容量,只有一块磁盘的大小,而且不象raid0,raid1阵势中只要有一个影子的体力和耐力不行了,其他影子,包括真身,再有多大的体力和耐力也使用不出来了,整体的体力和耐力都被限制在体力耐力最小的影子盘或者真身上。也就是说raid1提供的最大容量等于所有组成raid1的磁盘中,容量最小的一块,剩余容量不被使用。
七星看了看raid0,又看了看raid1,一个鲁莽急躁威力无比,一个独孤残苦自嘲自保。矣!乌呼哉!!七星心想,我怎么走了两个极端呢?不妥,不妥,二者皆不合我意乎!!于是,七星大侠又开始了苦心钻研,这一去就是2年!
raid2阵势
我们先来说一段史话。话说明末清初时期,社会动荡,英雄倍出。有这么一位英雄,号称“优雅剑侠”,他持双手剑,得意于流传甚广的合一刀法,并加入了自己的招式,修炼成了一套“合一优雅剑法”。剑侠深知合一刀法的鲁莽招式,虽然威力巨大,但必会造成大祸,所以他潜心研究,终于找到一种办法,已避免合一的鲁莽造成的不可挽回的祸患。他分析过,合一之所以鲁莽,就是因为他没有备份措施,兵器有任何一点损坏,都会一损具损。那么是不是可以找一种方法,对兵器上的每个条带,都做一个备份,就像当年独行侠那样,但是又不能一个对一个,那就和独行侠无异了。剑侠的脑子很好用,他从小精于算术,有常人不及之算术功夫。如今他终于发挥出来他的算术技能了,他是这么做的:他找来一张纸,然后把他的两把剑,和这张纸,并排摆在地上,然后对剑和纸进行横分竖割,然后一一对照,将第一把剑的第一格,写上一个1,然后在第二把剑的相同位置上,写上一个0,然后在纸的对应位置上,算出前二者的和,即1+0=1。然后剑侠设想,一旦第一把剑被损坏,现在只剩第二把剑和那张记满数字的纸,剑侠恍然大悟!!原来如此精妙!!为什么呢?虽然第一把剑损坏,但是此时仍然可以出招,因为第一把剑上的数字可以用纸上对应位置的数字,减去第二把剑对应位置上的数据!也就是1-0=1,就可以得出第一把剑上已经丢失的数字!而在敌人看来,仍旧是手持一把大剑,只不过威力变小了,因为每次出招都要计算一次。而且修炼的时候也更加难了,因为每练一招,就要在纸上记录下双剑之和,而且还需要用脑子算,速度比合一刀法慢了不少。
哇哈哈哈哈,剑侠仰天长笑!他给自己的剑法取名“优雅合一剑法”,意即他的剑法比合一刀法虽然威力不及合一刀法,但也差不多少,最重要的是,他克服了合一刀法鲁莽不计后果的弱点,所以要比合一刀法来的优雅。但是这个剑法也有弱点,就是他额外增加了一张纸和用了更多的脑筋来计算。脑子计算倒是不成问题,努力学习算法便可,但是额外增加了一张纸,这个难免有些遗憾,但是也没有办法,总比独行侠那一套自保好得多,自保的代价是修炼一个平时几乎用不到的影子,一比一,优雅合一剑法是二比一,降底了修炼的代价,而威力却较合一刀法没减多少。
然而,这套剑法虽然声名大噪,但是优雅剑侠还是被一个突如其来的问题,一直折磨着,到临终也没有想出办法解决。即,如果我使用3把剑,4把剑,5拔剑,这套剑法还奏效么?因为3把剑的数字之和,就不是一个数字,而是两个数字了,比如1+0+1=10,而这套剑法只有一张纸,一个格不能放两个数字,这样就必须再加一张纸,这样不就和独行侠那一套无异了么?比例太高,不妥。所以优雅剑侠一直再考虑这个问题,临终前留下一段诗句,抱憾而终。
独行合一皆非道,
二者中庸方优雅。
加减算术勤思考,
世间正道为算法!
优雅剑侠这段诗的最后一句,指明了:后人若要解决这个问题,必须要找到一种算法,不管多少个数字,如果掩盖一个数字,可以将其他数字代入这个算法,就可以得到被掩盖的数字的值。这在当时简直就是不可能的事。“世间正道为算法”这句话后来被科学界作为推动世界发展的一句至理名言。随着近代西方科技传入中国,这种算法,终于被人了解了!他是如此简单而美丽!他改变了整个世界!这再次印证了优雅剑侠的这句话:世间正道为算法!
峰回路转,七星大侠在优雅剑法的基础上,把剑换成了磁盘,那张记录数字之和的纸,七星也改用磁盘来记录。这样,组成了一个三磁盘系统,两块数据盘,一块所谓“校验盘”,也就是数据损坏时候,根据校验盘上的数字,恢复损坏磁盘上的数字。3磁盘系统,每次只能传输2位数据,因为数据盘就两块,而每块磁盘每次就传输出去一位。这样的话,如果用32位数据传输的话,就需要有32块数据盘,而且也同时要有6块校验盘,大家可以算算,32个1加起来,一共几位,对,32个1加起来,二进制是100000,6位,所以一共要用6块校验盘来存放6位数字。一般磁盘受到的io都以字节为单位,所以每次IO必然要占用所有磁盘,因为每块磁盘一次就只能传出去1位,而一个字节就要8位,也就是如果一个IO大小是1个字节,那么完成这一次IO,至少得8块磁盘联动,此过程中,其他的IO都要等待这个IO结束之后,才能进行,因为磁盘都服务于这个IO了。这也是这种做法的一个弱点,即IO不能并发,不适合大IOPS的情况,但是极为适合IOPS小,但是SIZE per IO(SPI)值大的应用,比如视频编辑,一个视频文件动辄几G,持续传输率较高。