论文部分内容阅读
【摘要】当今信息技术和存储技术的不断发展,作为数字化平台的基础“盘阵”的种类越来越多,随着SAS盘、近线SAS盘以及万兆NAS技术的逐步发展,光纤盘逐渐推出了舞台。电视台高清非编及媒资的存储平台有着极大的带宽要求,如何选择和实现高带宽成为了难题。
【关键词】盘阵 SAS 近线SAS 条带
近年来,磁盘阵列提供了各种磁盘种类来满足不同的需求,电视台作为媒体资源的制作和发布者需要有大量的素材资源进行编辑和存储,构建非编或媒资网络时选择一款适合自己的盘阵以及提供稳定的高带宽至关重要。下面我将结合我台的实际应用来阐述几个能影响磁盘阵列性能的因素:
一. SAS与SATA及近线SAS的区别
大家都知道SATA是Serial ATA的缩写,即串行ATA,这是一种完全不同于并行ATA的新型硬盘接口类型。SAS(Serial Attached SCSI)即串行连接SCSI;SAS是并行SCSI接口之后开发出的全新接口,此接口的设计是为了改善存储系统的效能、可用性和扩充性,并且提供与SATA硬盘的兼容性。说到这,大家也许就明白了,SATA接口的开发是为了取代原有的ATA接口,支持热拔插,提高传输速度等。而SAS是全新借口的SCSI,为企业级用户设计,SAS的接口技术可以向下兼容SATA。
近线SAS简单来讲其实就是SAS接口,SATA的盘底。所以它的硬盘转速是跟SATA一样只有7200转,但是接口速度跟SAS一样有6Gbps,所以还是有SAS的寻址迅速、传输率高的优点。
SATA毕竟只是ATA,所以SATA虽然在单任务的测试中不比SCSI差,但面对大数据吞吐量的服务器,还是有差距的。除了速度之外,面对多任务数据读取,硬盘磁头频繁地来回摆动,使硬盘过热是SATA最大的问题。SAS具有强大SCSI指令集(包括SCSI指令队列)、双核处理器(对比SATA使用的单核处理器,即使有SATA硬盘使用双核处理器,性能也相差甚远),以及对硬件顺序流处理的支持。 SAS硬盘支持双向全双工模式,为同时发生的读写操作提供了两路活动通道。相比之下,SATA只能提供单通道和半双工模式,无疑弱了不少。如图1:
我台在对磁盘阵列的磁盘做测试时:当读写线程少,近线SAS基本能和SAS提供相同的带宽,且单块盘波动值范围接近;当同样使用Sanagy客户端50个,每个写入为1G,单块近线SAS盘的延时波动明显幅度高,而随着数量逐步增加达到控制器缓存极限时,总的输出带宽也没有SAS高;当写入和读取同时,延时会更高。如图2:
经过多次的类似测试,我台非编网使用了SAS盘的盘阵,媒资网采用了近线SAS的盘阵。主要依据是:SAS的双工模式能更稳定更持久的提供非编网反复读写的带宽,而近线SAS能提供媒资网近线存储的大容量空间和相对少的并发读写。
二. 条带化的设置
盘阵中磁盘的读写有别于单块硬盘的读写,为了获得高带宽,对盘阵磁盘的读写往往是通过条带对整个条带组中的盘进行读写。
条带化(Striping)是把连续的数据分割成相同大小的数据块,把每段数据分别写入到阵列中不同磁盘上的方法。目的是为了让所有的磁盘均匀的活动,以避免出现单个磁盘或RAID可能 90%的busy,余下的可能低于10%的 busy。
首先我们来认识下条带,RAID级别也会出现条带的概念,我们常用的raid1+0,其中的0指的就是条带。RAID 0原理是把连续的数据分散到多个物理磁盘上存取。这样,系统有数据请求就可以被多个磁盘并行的执行,这种数据上的并行操作可以充分利用总线的带宽,比较显著提高磁盘整体存取性能。当用操作系统组建动态磁盘时使用带区卷方式,是由2个或多个磁盘中的空余空间组成的卷,在向带区卷中写入数据时,数据被分割成固定大小的数据块,然后同时向阵列中的每一 块磁盘写入不同的数据块。这个过程显著提高了磁盘效率和性能,但是,带区卷 不提供容错性。也就是通常说的软RAID0。 .
盘阵的条带化可以在做RAID的时候实现,但在电视台非编网或者媒资网的SAN架构中,往往是采用独立的磁盘管理软件来实现更好的带宽质量和负载均衡、多通道并发,从而发挥SAN网络架构的优势。我台非编网络中使用了StorNext磁盘管理软件,如图3是StorNext下文件系统:
结合台里非编网络的实际应用情况,将Fsblock Size设置为16K,对应的JournalSize应为16M,更适合非编网络视频文件都是大文件的情况。如图4:
同时将元数据、日志与数据在Raid Group层面进行分离。让其使用不同的Raid Group。因为元数据、日志都是很小的文件,读写和较频繁且不是连续的I/O,而数据都是大文件,其读一般为连续I/O。元数据、日志信息存储的LUN其Block size最好采用较小的数值如:512K。
三. 如何通过增加盘数量而提供更高的带宽
从广义上讲,只要盘箱控制器能提供足够的带宽,盘的数量越多,读写带宽也会相应增加。但实际操作中,由于RAID中的盘数量越大,所占控制器CPU资源也越多,一般单个RAID中不超过9块硬盘,想通过单个RAID的盘数量的增加来提高IO的带宽是不现实的。
办法是通过磁盘管理软件中条带组(StripeGroup)功能来实现。对多个LUN进行绑定,进行文件级的RAID,这样既减少了控制器的负担,又提高了IO的效率。在我台实际应用中,我们发现StripeGroup下LUN的数量为2-4个最佳,LUN的大小尽量一致,这样磁盘的性能能达到最佳。下图是我台其中一个文件系统,文件系统中有3个StripeGroup,如图5:
经过长期的测试,除了以上三种因素能影响盘阵的性能与带宽,其它如盘阵的AV模式针对大文件读写的优化、盘阵的数据池(pooldata)等对盘阵性能与带宽都有影响。因此,不同的硬件平台、不同的磁盘管理软件、不同的网络坏境中往往具体参数都会根据自己的实际情况进行调整。以上是吴江电视台在非编媒资网络应用中的一点心得体会,不当之处敬请指正。B&P
【关键词】盘阵 SAS 近线SAS 条带
近年来,磁盘阵列提供了各种磁盘种类来满足不同的需求,电视台作为媒体资源的制作和发布者需要有大量的素材资源进行编辑和存储,构建非编或媒资网络时选择一款适合自己的盘阵以及提供稳定的高带宽至关重要。下面我将结合我台的实际应用来阐述几个能影响磁盘阵列性能的因素:
一. SAS与SATA及近线SAS的区别
大家都知道SATA是Serial ATA的缩写,即串行ATA,这是一种完全不同于并行ATA的新型硬盘接口类型。SAS(Serial Attached SCSI)即串行连接SCSI;SAS是并行SCSI接口之后开发出的全新接口,此接口的设计是为了改善存储系统的效能、可用性和扩充性,并且提供与SATA硬盘的兼容性。说到这,大家也许就明白了,SATA接口的开发是为了取代原有的ATA接口,支持热拔插,提高传输速度等。而SAS是全新借口的SCSI,为企业级用户设计,SAS的接口技术可以向下兼容SATA。
近线SAS简单来讲其实就是SAS接口,SATA的盘底。所以它的硬盘转速是跟SATA一样只有7200转,但是接口速度跟SAS一样有6Gbps,所以还是有SAS的寻址迅速、传输率高的优点。
SATA毕竟只是ATA,所以SATA虽然在单任务的测试中不比SCSI差,但面对大数据吞吐量的服务器,还是有差距的。除了速度之外,面对多任务数据读取,硬盘磁头频繁地来回摆动,使硬盘过热是SATA最大的问题。SAS具有强大SCSI指令集(包括SCSI指令队列)、双核处理器(对比SATA使用的单核处理器,即使有SATA硬盘使用双核处理器,性能也相差甚远),以及对硬件顺序流处理的支持。 SAS硬盘支持双向全双工模式,为同时发生的读写操作提供了两路活动通道。相比之下,SATA只能提供单通道和半双工模式,无疑弱了不少。如图1:
我台在对磁盘阵列的磁盘做测试时:当读写线程少,近线SAS基本能和SAS提供相同的带宽,且单块盘波动值范围接近;当同样使用Sanagy客户端50个,每个写入为1G,单块近线SAS盘的延时波动明显幅度高,而随着数量逐步增加达到控制器缓存极限时,总的输出带宽也没有SAS高;当写入和读取同时,延时会更高。如图2:
经过多次的类似测试,我台非编网使用了SAS盘的盘阵,媒资网采用了近线SAS的盘阵。主要依据是:SAS的双工模式能更稳定更持久的提供非编网反复读写的带宽,而近线SAS能提供媒资网近线存储的大容量空间和相对少的并发读写。
二. 条带化的设置
盘阵中磁盘的读写有别于单块硬盘的读写,为了获得高带宽,对盘阵磁盘的读写往往是通过条带对整个条带组中的盘进行读写。
条带化(Striping)是把连续的数据分割成相同大小的数据块,把每段数据分别写入到阵列中不同磁盘上的方法。目的是为了让所有的磁盘均匀的活动,以避免出现单个磁盘或RAID可能 90%的busy,余下的可能低于10%的 busy。
首先我们来认识下条带,RAID级别也会出现条带的概念,我们常用的raid1+0,其中的0指的就是条带。RAID 0原理是把连续的数据分散到多个物理磁盘上存取。这样,系统有数据请求就可以被多个磁盘并行的执行,这种数据上的并行操作可以充分利用总线的带宽,比较显著提高磁盘整体存取性能。当用操作系统组建动态磁盘时使用带区卷方式,是由2个或多个磁盘中的空余空间组成的卷,在向带区卷中写入数据时,数据被分割成固定大小的数据块,然后同时向阵列中的每一 块磁盘写入不同的数据块。这个过程显著提高了磁盘效率和性能,但是,带区卷 不提供容错性。也就是通常说的软RAID0。 .
盘阵的条带化可以在做RAID的时候实现,但在电视台非编网或者媒资网的SAN架构中,往往是采用独立的磁盘管理软件来实现更好的带宽质量和负载均衡、多通道并发,从而发挥SAN网络架构的优势。我台非编网络中使用了StorNext磁盘管理软件,如图3是StorNext下文件系统:
结合台里非编网络的实际应用情况,将Fsblock Size设置为16K,对应的JournalSize应为16M,更适合非编网络视频文件都是大文件的情况。如图4:
同时将元数据、日志与数据在Raid Group层面进行分离。让其使用不同的Raid Group。因为元数据、日志都是很小的文件,读写和较频繁且不是连续的I/O,而数据都是大文件,其读一般为连续I/O。元数据、日志信息存储的LUN其Block size最好采用较小的数值如:512K。
三. 如何通过增加盘数量而提供更高的带宽
从广义上讲,只要盘箱控制器能提供足够的带宽,盘的数量越多,读写带宽也会相应增加。但实际操作中,由于RAID中的盘数量越大,所占控制器CPU资源也越多,一般单个RAID中不超过9块硬盘,想通过单个RAID的盘数量的增加来提高IO的带宽是不现实的。
办法是通过磁盘管理软件中条带组(StripeGroup)功能来实现。对多个LUN进行绑定,进行文件级的RAID,这样既减少了控制器的负担,又提高了IO的效率。在我台实际应用中,我们发现StripeGroup下LUN的数量为2-4个最佳,LUN的大小尽量一致,这样磁盘的性能能达到最佳。下图是我台其中一个文件系统,文件系统中有3个StripeGroup,如图5:
经过长期的测试,除了以上三种因素能影响盘阵的性能与带宽,其它如盘阵的AV模式针对大文件读写的优化、盘阵的数据池(pooldata)等对盘阵性能与带宽都有影响。因此,不同的硬件平台、不同的磁盘管理软件、不同的网络坏境中往往具体参数都会根据自己的实际情况进行调整。以上是吴江电视台在非编媒资网络应用中的一点心得体会,不当之处敬请指正。B&P