发展至今,IT系统已进入海量信息存储的时代。因各行各业的IT系统信息数据都呈指数级增长,由此带来对硬件存储空间的海量需求,而磁盘阵列就是IT系统中信息的硬件存储设备。磁盘阵列中有成百上千的磁盘,如何有效的使用所有磁盘,在充分利用硬件资源的同时提高IT系统的效能,已成为摆在各单位IT部门面前的一道难题,本文针对这个问题,对磁盘阵列的原理和使用方式进行了介绍,对磁盘阵列存储空间的最优化使用方法进行了分析,为广大的IT从业人员进行系统规划、系统优化工作提供借鉴。
IT系统中磁盘阵列设备内部存放有成百上千的磁盘,这些磁盘称为物理磁盘。磁盘阵列设备通过存储区域网络连接至服务器,这样服务器就能使用磁盘阵列中的物理磁盘,以满足海量数据存储的需求。以下我们将以具体的例子说明磁盘阵列使用的最优化方法。
假设磁盘阵列中使用了16个大小为146GB的物理磁盘,物理磁盘保护采用的是RAID5冗余保护技术。磁盘阵列在进行安装时,将每块146GB的物理磁盘分成36等分,每一等分称作超级卷,大小为4GB,之后在4块物理磁盘上各取一个4G的超级卷配置成一个采用RAID5冗余保护的卷,大小为12GB(1个超级卷用于存放校验数据),最后将分布在不同物理磁盘上的4个卷组成一个组合卷,大小为48GB,最终将这些组合卷分配给各服务器使用。最终在16块物理磁盘可创建出:16(物理磁盘数)×36(每块磁盘36等分)/16(12GB的卷加上4GB的校验数据)=36(个组合卷)。
由此可见,分配给主机使用的并不是单个物理磁盘,而是在磁盘阵列设备中经过配置后创建的任意多个组合卷,在服务器操作系统识别这些组合卷后称之为逻辑磁盘,服务器识别到这些逻辑磁盘后,并不直接使用,而是将多个逻辑磁盘组成一个磁盘组,磁盘组创建时将每个逻辑磁盘划分为多个逻辑块,最后选择多个逻辑块组成逻辑卷供使用。qwqk
假设每个逻辑块大小为1MB,那么上例中每个逻辑磁盘(48GB)可划分49152个逻辑块,16个物理磁盘上共可创建786432个逻辑块。若逻辑卷由36个pp组成,往逻辑卷上写入36MB数据,每块物理磁盘读写速率是xMB/s。
1、如果创建逻辑卷的逻辑块全部在一个逻辑磁盘上,也就是一个组合卷上,最好的情况是36个逻辑块平均在组成逻辑磁盘的4个卷上,那么往这个逻辑卷上写入36MB数据实际是往4个卷各写9MB,也就是往每个卷的3个(1个为校验盘)超级卷各写3MB数据,由于超级卷分布在不同物理磁盘上,可以并行读写,因此36MB数据全部写完所花的时间就是单个超级卷写入3MB的时间:3/x(s);最差的情况是36个逻辑块选自组成逻辑磁盘的相同卷,那么往这个逻辑卷上写入36MB数据实际是往这个卷的3个超级卷各写入12MB数据,根据磁盘读写并行性,所花的时间是:12/x(s)。
2、如果创建逻辑卷的逻辑块平均分散在不同的逻辑磁盘上,也就是多个组合卷,而且这些逻辑磁盘的物理磁盘都不同,36个逻辑块平均分布在3个逻辑磁盘上,那么往这个逻辑卷上写入36MB数据实际是往3个逻辑磁盘各写12MB,最好的情况是每个逻辑磁盘的逻辑块平均分布在4个卷上,那么往每个卷上写入数据就是3MB,也就是往每个卷的3个(1个为校验盘)超级卷各写1MB数据,根据磁盘读写并行性,36MB数据全部写完所花的时间就是单个超级卷写入1MB的时间:1/x(s);最差的情况是每个逻辑磁盘的逻辑块全部分布在1个逻辑磁盘上,那么往组成这个逻辑磁盘的每个卷上写入数据就是12MB,也就是往每个卷的3个超级卷各写入4MB数据,根据磁盘读写并行性,所花的时间是:4/x(s)。
由此可以看到,无论是最好还是最差的情况,理论上将创建逻辑卷的逻辑块平均分散在n个逻辑磁盘上,相比只使用1个逻辑磁盘的情况可将读取速度缩短至原来的1/n。实际情况下,我们还需考虑磁盘的寻道速度,磁盘阵列中缓存的作用,其他软硬件的读写效率等等,实际综合效率随软硬件环境、不同读写特性而各有差异。但是可以得出的结论是,按照最优使用理论分析,我们在创建逻辑卷时要尽量将组成单个逻辑卷的逻辑块平均分配在不同的逻辑磁盘上,而且创建这些逻辑磁盘的底层物理磁盘也应不同,这样就可以在存储层保证读写性能是最优的。
为了保证能够均衡的使用磁盘,我们在创建逻辑卷的时候,不是使用完一个逻辑块后再使用下一个逻辑块,提高读写效率,而是需对使用的逻辑块进行条带化,将数据条带式的依次分布在多个逻辑块上,均衡的使用逻辑块。