存储设备和子系统(一)
2013-12-03 09:07:30 来源:华军科技数据恢复
I/O路径的下一站(但不是最后一站)是设备和子系统,它们处于总线的另一端或在主机I/O控制器的网络上。 1.存储子系统 存储子系统是一组设备的集合,这些设备使用共同的配电源、包装或管理系统策略,存储子系统的例子如RAID系统和磁带库。这两种类型的子系统都具有多个设备,但在I/O路径上就像单一的系统一样。 在功能上,存储子系统的范围从简单的产品(把电源和包装盒并入单一的机柜),到复杂的计算机,(它们拥有如镜向、分条及备份等存储管理功能)。存储子系统在I/O总线上通常拥有一个或多个地址,而存储子系统中的设备则按作为属于它们的LUN由主机I/O控制器寻址。另一个常见的方法是利用虚拟化技术,将子系统中的设备看作单个的大型设备。这可以通过一个完全分离且独立的I/O总线或网络来实现,这些I/O总线或网络处于子系统内部,连接所有内部设备。内部总线和网络由一个子系统控制器管理,藉此来屏蔽子系统内部设备通信的复杂性。换言之,虚拟管理使子系统对主机是透明的。 2.磁盘驱动器 最常见的电子存储设备是磁盘驱动器。过去20年中,磁盘驱动器工业的进展是一个奇迹。通常人们总是把计算能力的快速进展归功于处理器,但事实上,如果没有磁盘驱动技术的巨大贡献,这种计算上的进展是不可能的。 除了容量之外,衡量磁盘的另外两个重要的标准为可靠性和性能。现在就探讨这两个问题,并讨论它们对于存储网络领域的适用性。 1)可靠性:MTBF和MTTR 即使磁盘技术发展的空间变得越来越小,磁盘的可靠性仍在变得越来越好。磁盘可靠性的指标之一是所谓的平均故障间隔时间(MTBF)值。一般情况下,MTBF值并不表示一个特定设备可能持续运行的时间,而是给出一个设备可能失败的统计近似值。 很明显,假如一个产品开发的时间相对较短,那么就没有办法测试该产品的寿命期望值。例如,假如开发并批量生产某产品仅花18个月的时间,而该产品的寿命期望值是6年,要想测试它的寿命则是不可能的,因为到公司测试这个产品6年时间结束时,也许它已经被封存4年了,这就是统计估计必要性的原因所在。 但是,顾客需要一个确定产品可靠性的方法,制造商也需要一种办法与顾客沟通,以达成信任。因此,出现了MTBF的计算。事实上,没有计算MTBF的标准,公司可以自由地选择任何合理的方法来计算。下面三种方法是常用的基本技术: 在多个设备上运行同样的测试,时间为几个月。除以这段时间内在所有设备上运行的小时数,再除以失败的次数。 在延长时间内继续运行测试(这段延长时间称作继续可靠性测试),按前面的技术计算出MTBF。 用在某个时期内出售的设备数乘以那段时间的小时数,取这个乘积,再除以失败的驱动器个数,获得MTBF值。 遗憾的是,这些方法中没有一个是很精确的,因为测试环境并不是真实的(即是实验室环境,而不是办公室环境),或者搜集的数据是不确定的(有多少售出的驱动器正在使用,发生故障返回的有多少)。 平均修复时间(MTTR)也是一个可靠性的计算方法,公司用它来表示他们产品的模块性,也表示这些模块的更换快慢。对于某些设备,MTTR数不再有意义,因为更换一个设备比修复一个设备更划算。而在如RAID这样的设备中,由于使用冗余设备,某个单个驱动器的损坏并不影响对数据的访问,因而,MTTR数的意义也显得不大。 2)转速 磁盘驱动器的转速既表示了驱动器的转动延时,也表示流式数据的I/O性能。在高吞吐量网络存储应用中,如文件服务和备份,转动延时是一个很重要的问题。磁盘驱动器转速越快,磁头花在等待数据读/写时间越短,数据的传输也就越快。转动延时的时间量一般很小,大约在2~10微秒之内,但累积每一个磁盘操作所花费的转动延时,其结果对性能的影响也很大。当等待数据从磁盘上读出时,其他的进程也将延迟。综上所述,当对一个设备上的数据进行持续访问时,要考虑到每个微对性能产生的影响。为了明白累积效应,我们可以对它进行粗略地估计,一般而言,请求一次文件服务器上的一个文件,将会导致5、10、25个或更多的单独的磁盘驱动器的读请求,拿这个数乘以服务器上的并发请求数(100、200、500),其乘积就是累积的延时。由此可知道,尽可能减少合理的延时是多么的必要。例如,磁盘的平均延时是5微秒,每个文件有10个读操作,队列中有200个并发用户,那么,单就磁盘转动延时一项就导致10秒的延迟。因此,在一个负荷很重的网站,速度很慢就并不令人惊讶。假如文件很大,而且每次访问的文件数相对较少,转动延时也是一个重要的问题。在计算机图形学和图像处理领域,由于存储网络能够提供对大文件的高速I/O处理能力,因而取得了成功。过去这些领域 一直是HIPPI所垄断的领域,现在正让位于光纤路径。对于这些领域,磁盘的转速直接关系到I/O的性能。例如,SGI的XFS文件系统把文件存储在大的连续的磁盘扇区,使文件每次读取的时间加长,进而加快了读出速度。快速的磁盘转动意味着快速的数据读出。注意存储网络要求相对快的磁盘转动速度,为存储网络应用购置的新磁盘转速应超过10000prm。