昨晚查了一些资料,我对这几个问题有一些认识,贴出来,与大家一起交流,如果有哪些错了,还请各位大侠指出。
1、硬盘做RAID,在恢复数据时CPU资源占用?集成阵列卡占用CPU资源?
这要分两种情况分析:硬件磁盘阵列和软件磁盘阵列。
硬件磁盘阵列,不需要大量的CPU及系统内存资源。它是一 个完整的磁盘阵列系统与系统相接,内置CPU,与主机并行动作,所有的I/O都在磁盘阵列 中完成,减轻主机的负担,增加系统整体性能,有SCSI总线主控与DMA通道,以加速数 据的存取与传输。
软件磁盘阵列,软件阵列是在用性能换安全,会占用大量的CPU资源。它是一个程序,在主机上执行,通过一块SCSI卡与磁盘相 接形成阵列,其最大的缺点是大大增加了主机的负担,
集成陈列卡具有以下的特点,所以它不占用大量的主机CPU资源:
一个完整的磁盘阵列硬件与系统相接。
内置CPU,与主机并行运作,所有的I/O都在磁盘阵列中完成,减轻主机的工作负载,增加系统整体性能。
有卓越的总线主控(bus mastering)及DMA(Direct Memory Access)能力,加速数据的存取及传输性能。
与快取内存结合在一起,不但增加数据的存取及传输性能,更因减少对磁盘的存取而增加磁盘的寿命。
能充份利用硬件的特性,反应快速。
2、每隔多长时间会对整个阵列做一次校验?一般在哪个时间段进行校验?占用CPU资源?
当某一磁盘故障,换上新的磁盘后,整个磁盘阵列需重新计算一次,将故障磁盘的数据恢复并写入新磁盘中。当然这不适用于RAID0,如果RAID0 中有磁盘故障,那所有的数据将被破坏,不能再恢复,除非有备份。 (我不确定在所有磁盘都是正常的情况下,是否定期的对整个阵列做校验)
3、服务器数据cache写入方式分为:Write back和write through两种方式,一般采用原则以及原因?
当处理器向磁盘上写入数据的时候,数据先被写入高速缓存中,并认为处理器有可能马上再次读取它。NetRAID有两种如下的写入策略:
Write Back(回写),在回写状态下,数据只有在要被从高速缓存中清除时才写到磁盘上。随着主存读取的数据增加,回写需要开始从高速缓存中向磁盘上写数据,并把更新的数据写入高速缓存中。由于一个数据可能会被写入高速缓存中许多次,而没有进行磁盘存取,所以回写的效率非常高。
Write Through(完全写入),在完全写入状态下,数据在输入到高速缓存时,它同时也被写到磁盘上。因为数据已经复制到磁盘上,所以在高速缓存中可以直接更改要替换的数据,因此完全写入要比回写简单的多。
4、磁盘阵列的条带大小对应用性能的影响?具体分析
你可以指定每个逻辑驱动器的条带容量从2KB,4KB,8KB一直到128KB。为了获得更高的性能,要选择条带的容量等于或小于*作系统的簇的大小。大容量的条带会产生更高的读取性能,尤其在读取连续数据的时候。而读取随机数据的时候,最好设定条带的容量小一点。