首先尝试将4x300GB驱动器放入硬件RAID5中,然后在其上安装Openfiler的LVM和iSCSI.这导致非常不一致的读取速度(20MB /秒到2GB /秒,但这可能是缓存),以及一个可怕但一致的8MB /秒写入.所有这些结果都是通过本地dd和网络上的实际大文件传输来测量的,两者都产生了类似的结果.
因此经过多次阅读后我发现前面提到的LSI控制器对于硬件RAID并不是那么好,所以我用4x300GB驱动器关闭了通道上的RAID功能,用mdadm软件RAID制作了RAID阵列,并将LVM放在了它.我做了更多测试,结果得到了改善(20MB /秒写入),但这仍然相当可怕.我花了一天时间调整分区,优化块,条带宽度,步幅大小,使用ext4选项,不同的日记选项等,没有太多可观察到的改进.
我做的另一个实验是在/ dev / md0 vs / dev / mapper / vg0-lv0(这只是整个md0的映射)上运行hdparm -tT,并且在通过LVM时我减速了2倍.我已经读过LVM可以引入一些速度惩罚,但是将速度降低一半是不可接受的.
由于这一切都没有意义,我回到基础,在单个驱动器上创建了一个分区,没有LVM,RAID,只是普通的旧SCSI320并对其进行了一些测试.我有〜75MB /秒读取和~55MB /秒写入多个运行和多个程序.
因此,如果一个驱动器可以执行75MB /秒读取和55MB /秒写入,为什么其中3个驱动器的RAID5(硬件或软件!)速度如此之快?我究竟做错了什么?我还应该尝试什么?
更新1:
在继续进行实验的同时,我注意到其中一个磁盘有时不希望被分区; parted和fdisk只是拒绝实际写出分区.所以我在所有其他磁盘上尝试了相同的命令,以确保它不是一个系统性问题,它看起来只是隔离到那个磁盘.我开始对它进行smartctl的健康测试,一切都检查得很好. dmesg是驱动器可能出现问题的任何迹象的唯一来源,尽管有相当神秘而且不是特别有用的消息.出于纯粹的好奇心,我拿出了驱动器,重新启动了,并重新编写了我迄今为止所做的所有软件RAID5而没有LVM但是使用了ext4.在第一次尝试时,我在使用dd将64kB块中的4.2GB文件转储到新分区时,将500MB /秒读取和120MB /秒写入到五驱动器阵列(我在此期间发现另外两个300GB驱动器).显然,驱动器虽然没有完全死亡,但并不是特别合作,而且一旦超出等式,一切都运行得更好.
我现在感觉更健康,8MB /秒感觉不对,无论哪个RAID级别.
明天:使用LVM进行测试,然后再回到硬件RAID.