3.3.1 直接向高性能盘阵中迁移数据;
3.3.2 由上层缓冲读写盘中数据,然后直接写到高性能盘阵中。
第一种情况就是对文件的预取操作,因为我们在计算数据价值模型中考虑到用于预取的参数,因此当刚SATAⅡ盘阵中部分文件的FV值高于高性能盘阵中FV值最高的60%中的任一文件时,就意味着SATAⅡ盘阵中的文件很可能不久就会被访问,这时便要创建迁移线程,启动迁移。由于文件访问时会申请字节范围锁来规定具体的访问字节,因此在迁移过程中如果队列中的文件遇到突发访问时我们分两种情况来处理,当被访问的文件为正在迁移中的文件X时,根据字节范围锁的信息,在迁移线程所申请的文件锁类型不与访问X的锁类型相冲突的情况下,优先传输锁中指定的字节范围之外的数据。如果被访问的文件在后续任务队列中,那么立刻停止当前文件的迁移,在不影响客户读写数据的情况下,优先迁移被访问文件的字节范围锁之外的数据。图5是第一种情况的流程图。
▲
图5:自下向上预取迁移流程
第二种情况是在高性能盘阵实施预取失败的情况下,系统对SATAⅡ盘阵中文件的访问。首先,要判断系统对文件的操作所申请的锁类型是否与迁移此文件需要申请的文件的锁类型相冲突,当锁的类型不相冲突时,启动迁移线程,通过将系统工作负荷信息反馈给迁移调度子模块。设定迁移速率,在不影响文件操作效果情况下将文件字节范围锁之外的数据迁移到高性能盘阵中,这样对此次文件操作后期所需要的数据的访问可以在高性能盘阵中进行。而当申请的文件锁的类型互相冲突时,不能在访问过程中迁移,在访问完成时直接写回高性能盘阵中,这时可能会产生多副本一致性的问题。目前,处理多副本一致性的方法较多,如ROWA(Read-One/Write-All)、Quorum协议、ROWAA(Read-One/Write-All-Available)等都可以很好地解决这个问题。
四、性能、可靠性及可行性分析
FC磁盘的容量比CPU中的Cache容量大得多,在海量存储系统的密集访问下,性能和稳定性比SATAⅡ磁盘高,而且由于在我们设计的两级模型中数据读写后直接存储在第一级盘阵中,加上相应的预取策略,且数据自下向上迁移时60%的价值最高的数据仍然存储在FC-SAS级中,所以绝大多数的访问都会在第一级中进行。因此,对于用户来说,访问效果接近于在完全的FC-SAS级中访问的效果。系统I/O性能的提高比例可用如下公式表示:
其中,A和B分别表示A、B两种存储设备的性能,此处我们用平均响应时问和持续读写速度分别计算。A表示系统访问的文件存在于设备A中的概率。我们用FC盘阵和SATAⅡ盘阵两级存储设备来分析。根据图1中的数据,FC磁盘和SATAⅡ磁盘的持续传输速度分别为170MB/s和95MB/s,平均延迟分别为2.0ms和5.Oms,所以当A与B表示持续传输速度时,A=170,B=95;当A与B表示平均延迟时,A=1/2,B=1/5。总体性能的提高比例如图6所示。
▲
图6:两级海量磁盘存储系统性能提高比例
可靠性分析,此处为了便于分析,我们假定除I/O访问量和MTBF之外其他影响磁盘可靠性的因素对于两种磁盘都是相同的。我们假设平均每个文件从在磁盘中创建到最后转移备份的周期内被访问m次,系统叮靠性提高可用如下公式表示为:
其中,行为在FC盘阵中访问次数,a和b分别为单个FC盘和SATAⅡ盘的可靠性,此处用MTBF表示,由图1中可得a=160,b=75。当m=10时,可靠性提高比例如图7所示。
▲
图7:两级海量磁盘存储系统可靠性提高比例
五、结束语
数据迁移技术在存储系统的负载均衡、系统扩展等方面,特别是在系统性能优化上,都可以使系统性能得到很大的提高。本文提出了FC-SAS与SATAⅡ两级存储模型,在此基础上分析了数据价值的评定要素,给出了要素在实际情况下的提取方法,提出了文件价值的FV价值评定模型。应用信息反馈控制机制来实现数据迁移中传输速率的设定,以尽量减少对系统I/O的影响,利用多线程技术和文件系统的锁机制来保证在尽量减小影响系统I/O性能的同时,实现高速的数据迁移和迁移过程中用户的透明访问。