我有一个奇怪的问题,我正在设置一个服务器。 这是一个文件共享types的网站,所以需要快速的IO和大量的容量。 OS是CentOS 6.4 64位
有问题的服务器是HP DL360p,18x驱动器托架中装有RAID50中的2TB SAS驱动器
另外还有一个HP StorageWorks SAS扩展托架,还有一个12x2TB的RAID50
RAID是使用服务器的BIOSconfiguration实用程序configuration的,使用的控制器相当不错,备有电池备份和2GB FWBC。
现在,我们原来把它们分别设置成单独的卷,但是由于我们软件的细节,单个大量的工作会更好。
所以,我设置了一个LVM卷,结合这两个卷,然后使用XFS格式化逻辑卷
问题是,由此产生的速度令人失望。 运行hdparm -tT可以达到300MB / s的最佳读取速度
所以我做了一些testing,得到这个:
两者都没有LVM,XFS:两个卷的读取速度都达到700MB / s左右
与LVM,但没有安装的卷:1000-1100MB /秒
LVM采用条纹模式,卷装未安装:1100-1300MB / s
所以不知何故,XFS似乎限制了速度……我在格式化和挂载时尝试了一些更高级的选项,比如-l内部,启用懒数,nobarrier,但是这没有任何改进。
我发现的唯一问题可能是一个问题,RAID卷的条带大小不匹配(一个设置为512KB,另一个设置为256KB),所以我将它们重新configuration为匹配,这将需要几个小时更多。 我还用su = 512k,sw = 28(sw = 28只是一个猜测,因为总共有28个活动硬盘,或者我应该为RAID卷设置为2)来格式化音量?
我试图消灭所有的东西,尝试ZFS,它似乎很有前途,但我认为configuration它将远远超出我的技能水平…
所以,如果有人有任何经验或build议,这将是非常感谢!
什么是您的应用程序的读/写吞吐量和IOPS要求? 存储性能并不总是关于arrays吞吐量或原始带宽。 连续读取/写入只是I / O活动的一部分。
一个更准确的testing将会是一个Bonnie ++或者iozone对安装的文件系统的运行……甚至运行你的应用程序并且测量真正的工作负载 。
如果我是你,我会转储内部和外部控制器,并合并到惠普智能arraysP822控制器 – 部分#615418-B21。
这将允许您在一个arrays中寻址内部磁盘和外部机箱。 P822还具有默认启用的智能arrays高级function集(SAAP) 。 此时,您可以使用正确的RAID级别(可能是RAID 1 + 0)正确雕刻arrays,并且可以将一个或多个全局热备份分配给设置。 控制器还将利用双path到您的外部存储。 您还可以安排内容和外部存储之间的条带化或镜像驱动器对。 很多的灵活性。
但是,此设置的最大优势在于所包含的HP SmartCache SSDcachingfunction 。 这与LSI的Cachecade类似。 有了一两个固态硬盘,您就可以将较低延迟固态硬盘上的热点数据与转盘进行比较。
这只是硬件方面,虽然…
对于XFS卷,特别是在惠普的齿轮,我不使用LVM( 有些人虽然 )。 使用HP控制器时,块设备表示是抽象的,所以我使用了一个非常基本的文件系统格式化string:
mkfs.xfs -f -d agcount=32 -l size=128m,version=2 /dev/sdX`
fstab有几个安装选项:
UUID=4a0e1757 /data xfs noatime,logbufs=8,logbsize=256k 1 2
但是在RHEL6中,还应该考虑一些调度和性能调整function。 主要的是调整框架。
yum install tuned tuned-utils tuned-adm profile enterprise-storage
这将设置I / O电梯,禁止写入障碍,并根据下面的时间表设置一些其他性能意识的选项。

这个设置上的ZFS不会帮助你。 您必须彻底转储Smart Array控制器并转至SAS HBA 或丢失所有ZFS RAIDfunction,并使用一个大型块设备(这将受益于我上面提出的Smart Array P822)。 两者都需要某种forms的写入caching(ZIL),我不认为它解决了可pipe理性问题。 ZFS需要更多的预先计划 。